安卓开发: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 是同一个项目吧?

参考文档

Android反编译:查看dex文件的源码

原文地址:https://www.cnblogs.com/lisaisacat/p/13098670.html