返回首页
当前位置: 主页 > 编程语言 > Android教程 >

深入了解APK反编译(分解,编译和打包)

时间:2014-03-06 22:16来源:电脑教程学习网 www.etwiki.cn 编辑:admin

1、下载dex2jar最新版本0.0.7,下载地址http://code.google.com/p/dex2jar/downloads/list
2、下载class反编译工具,我用的是jad,大家可以根据自己情况选择。
3、在cmd下进入dex2jar.bat所在路径,然后输入“dex2jar.bat XXX”,XXX指的是你要反编译的apk中的classes.dex文件所在路径及名称,比如:我的dex2jar.bat在D:\Android\apk_decode\dex2jar-0.0.7-SNAPSHOT路径下, classes.dex在D:\Android下
所以: 你进入dex2jar.bat路径下后,输入dex2jar.bat D:\Android\classes.dex
4、这样会生成一个jar文件,然后用jad工具将.class文件反编译成.java文件。
5、反编译jar文件,见下载的附件

要反编译一个apk译文件,需要做以下几步:
1.找到apk安装文件
2.找到安装软件的*.dex译文件
3.dump dex文件
4.分析dex文件获取想要的代码

1.找到apk安装文件
这个比较容易,把手机或者模似器安装好后,可以在eclipse的File Explorer下找到安装程序的apk译文件,也可以通过adb命令找到:

$ adb shell
# cd /system/app
cd /system/app
# ls

2.找到安装软件的*.dex译文件
运行安装软件后,会在android文件系统下生成一个*.dex文件,一般在目录/data/dalvik-cache下,也可以通过adb命令找到:

$ adb shell
# cd /data/dalvik-cache
cd /data/dalvik-cache
# ls

3.编译软件对应的dex文件,通过以下指令:

adb shell dexdump -d -f -h /data/dalvik-cache/data@app@be.citylive.twitpic.apk@classes.dex > twitpic.text

指令参数解释:
-d : disassemble code sections
-f : display summary information from file header
-h : display file header details
-C : decode (demangle) low-level symbol names
-S : compute sizes only

4.获取需要的代码:
打开刚才得到的编译出来的text文件,会看到形如以下的代码:

Class #0 header:
class_idx : 32
access_flags : 196625 (0×30011)
superclass_idx : 61
interfaces_off : 0 (0×000000)

顶一下
(0)
0%
踩一下
(0)
0%
标签(Tag):Android android教程 android技巧 android软件 android开发教程
------分隔线----------------------------
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
推荐内容