安卓开发:dex 文件反编译
工具
dex2jar v2.1(吾爱破解爱盘提供的版本,github 源码)
JD GUI Windows v1.6.6(github 下载)
步骤
1. APK 解压缩拿到 classes.dex 文件
这一步很简单,只要电脑上有解压缩文件就可以,选中 apk 文件,右键解压缩
2. 把 classes.dex 文件转换成 jar 文件
(1)把 classes.dex 文件复制到 dex2jar 文件夹下
(2)Win+R 打开运行,输入 cmd 打开 cmd 窗口
(3)输入 dex2jar 所在的盘符,比如 D 盘就输入 D:,回车
(4)cd 输入 dex2jar 所在的路径,可以一层一层打开,比如如果路径是 D:\SynologyDrive\Work\exe\dex-tools-2.1
输入如下,每一行都用回车来执行
(5)最后输入命令 d2j-dex2jar.bat classes.dex,回车
(6)等待执行结束,会发现 dex2jar 文件夹下多了一个 classes-dex2jar.jar 文件
3. 用 JD GUI 查看 jar 文件
(1)解压缩下载的 JD GUI 文件
(2)运行 jd-gui.exe
(3)把 classes-dex2jar.jar 文件拖拽到打开的主界面就可以看到源码了
注意事项
dex2jar 如果要转换那种好几个 classes.dex 的文件可能会失败,我猜是因为那几个文件就像压缩文件分割一样,是把一个完整的 classes.dex 文件给分卷了,而旧版本貌似有个 bug 说是什么 38 还是 35 版本的问题。
还有就是如果 classes.dex 文件混淆了也不会成功,反正我真正要反编译的那个 apk 就是没成。
另外我怀疑这个 dex2jar 其实和 DexExtractor 是同一个项目吧?