如何将 Android DEX(VM 字节码)文件反编译成对应的 Java 源代码?
获取这些工具:
dex2jar将 dex 文件转换为 jar 文件
jd-gui查看jar中的java文件
由于 dex2jar 做了一些优化,源代码可读性很强。
以下是如何反编译的过程:
将 test_apk-debug.apk 中的 classes.dex 转换为 test_apk-debug_dex2jar.jar
d2j-dex2jar.sh -f -o output_jar.jar apk_to_decompile.apk d2j-dex2jar.sh -f -o output_jar.jar dex_to_decompile.dex
注 1: 在 Windows 机器中,所有.sh脚本都替换为.bat脚本 注意 2: 在 linux/mac 上不要忘记shor bash。完整的命令应该是:
注 1: 在 Windows 机器中,所有.sh脚本都替换为.bat脚本
.sh
.bat
注意 2: 在 linux/mac 上不要忘记shor bash。完整的命令应该是:
sh
bash
sh d2j-dex2jar.sh -f -o output_jar.jar apk_to_decompile.apk
注意 3: 另外,请记住向dex2jar-X.X目录添加执行权限,例如sudo chmod -R +x dex2jar-2.0
dex2jar-X.X
sudo chmod -R +x dex2jar-2.0
dex2jar 文档
在 JD-GUI 中打开 jar