需要的工具:
apktool:将apk文件反编译成原始的目录文件
地址:http://code.google.com/p/android-apktool/downloads/list
dex2jar:将dex文件转化为jar文件
地址:http://code.google.com/p/dex2jar/downloads/list
jd-gui:将jar转换为.java的源代码,查看java代码
一、 使用apktool工具将apk文件反编译成原始目录文件
如果直接把apk文件解压开,可以看到以下文件内容,
当打开AndroidManifest.xml的时候会发现是一大堆乱码。如果想看到AndroidManifest.xml文件中的内容,我们需要做如下操作。
A、 打开DOS窗口,切换到存放apktool工具的目录下
B、 输入并执行命令:apktool d jmcAD.apk 自动生成jmcAD文件夹,打开内容如下
C、 打开AndroidManifest.xml,显示正常
二、 使用dex2jar工具将dex文件转化为jar文件
A、 将解压开的apk文件中的classes.dex文件复制到dex2jar工具目录下
B、 在DOS窗口中切换到dex2jar工具目录,输入并执行命令:dex2jar classes.dex ,此时在当前目录下会新生成classes_dex2jar.jar文件
三、 使用jd-gui工具将jar文件转换为java代码
打开jd-gui工具,刚刚生成的classes_dex2jar.jar拖入到打开后的jd-gui窗口中即可看到java代码
四、把反编译的文件夹修改后重新打包
如:test文件夹重新打包生成test.apk
输入命令:
apktool b test test.apk
五、给重新打包生成的apk签名,可系统签名,也可普通签名
系统签名,输入命令:
java -jar signapk.jar platform.x509.pem platform.pk8 test1.apk test.apk
apk反编译任务完成!!!
工具下载路径:http://download.csdn.net/detail/jmc601/7499473