您的位置:首页 > 移动开发 > Android开发

反编译Android APK

2015-12-11 18:36 387 查看
使用到的工具:
Apktool:用来获取图片、xml等资源文件
dex2jar:把dex文件转换成jar包
JD-GUI:反编译jar包,获取源代码
JADX-GUI:方便的jadx工具,可以直接反编译apk

文末有这几个工具的下载地址。

这里拿csdn的apk作示例。

第一种方式. 使用dex2jar、JD-GUI和apktool:

第一步. 反编译获取源代码:

1. 解压你要反编译的apk文件(apk文件其实是个压缩文件)。

2. 进入apk解压后的目录,拷贝classes.dex文件,粘贴到dex2jar目录。

3. 打开cmd,把路径切换到dex2jar目录,运行命令: d2j-dex2jar classes.dex ,成功后会在dex2jar目录生成一个classes-dex2jar.jar文件。

4. 打开JD-GUI,然后把刚才生成的classes-dex2jar.jar文件拖进去就可以查看源代码了。





第二步.获取图片、xml等资源文件:

apktool工具是一个jar包,不需要解压。

打开cmd,进入apktool工具根目录,运行命令: java -jar apktool_2.0.2.jar d -f csdn.apk -o cccc,

其中cccc是破解后的文件输出目录,可以自定义,不需要自己创建。

完成后会发现apktool工具根目录下多了一个cccc文件夹,里面的图标、xml文件等就可以直接使用了。







如果你觉得上面这些步骤太麻烦的话,这里有一个集成了以上几种工具的一步到位反编译apk工具onekey-decompile-apk。

下载地址:https://github.com/ufologist/onekey-decompile-apk,使用方法里面有详细介绍。

第二种方式 使用jadx-gui:

jadx-gui是一个图形话反编译工具,可反编译apk文件,使用非常简便 。能获取源码,获取xml文件,不过不能获取图片。

使用方法:下载了之后解压,进入解压后的目录,运行bin文件夹里面的jadx-gui.bat,然后选择你要反编译的apk所在的位置就ok了。

jadx-gui和jd-gui反编译后的源码有一点不一样:
1. 有些变量jd-gui会有初始化值;

2. 有些jd-gui会反编译出错,而jadx-gui能成功。

所以根据情况混合使用吧。





工具下载地址:

github上一个反编译工具集合的帖子:

https://github.com/Juude/droidReverse

 

JADX-GUI:

http://sourceforge.net/projects/jadx

如果你懒得一个个去下载,这里有打包好的:

http://download.csdn.net/detail/good_dev/9348245

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  反编译 android