Android 开发过程中,有时候需要反编译 apk、vdex、odex,用于查看参考里面的代码逻辑。
对于 apk 的反编译,使用 jadx-gui 等工具直接拖入 apk 反编译即可。
对于 vdex 的反编译,之前参考网上资料研究了一下,好不容易把环境弄好了,这里简单记录下操作步骤,方便自己以后回顾。
如何配置 vdex 反编译的环境不是这篇文章的重点,有需要的可以根据参考文章的博客进行操作~
vdexExtractor 可以直接从 github 仓库下载,但是直接使用会报错,忘了要改哪个位置了,感兴趣的可以自己试下,懒人直接下载我上传的资源即可 : )
反编译vdex
所需环境:cygwin,vdexExtractor
举个例子,想要反编译 Calculator 应用的代码,直接把 Calculator.vdex 拷贝到 vdexExtractor 的 bin 目录下,然后通过 cygwin 进入 vdexExtractor 的 bin 目录,执行 ./vdexExtractor -i Calculator.vdex -o ./
命令即可:
xxx@xxx-pc /cygdrive/d/vdexExtractor-master/bin
$ ./vdexExtractor -i Calculator.vdex -o ./
[INFO] Processing 1 file(s) from Calculator.vdex
[INFO] 1 out of 1 Vdex files have been processed
[INFO] 1 Dex files have been extracted in total
[INFO] Extracted Dex files are available in './'
执行成功后会得到 Calculator_classes.dex 文件,将该文件拖入 jadx-gui 即可反编译得到 java 代码~
参考文章
Android 反编译 .vdex、.odex、.dex 文件
利用vdexExtractor工具将Vdex文件转为dex文件
Android 反编译 .vdex、.odex、.dex 文件