前言
在进行Android逆向开发时,反编译工具是必备利器。
在将vdex解析为jar包时需要用到vdexExtractor。 vdexExtractor 工具将 vdex 文件转换成标准的 dex 文件,尽管网上有各种关于vdexExtractor 工具的使用教程,但是在自己动手时还是会遇到各种坑,总结下来,希望能对遇到同样问题的同学们有所帮助。
具体操作步骤:
步骤1:准备vdex文件
用 adb 或者 as 的 Device File Explorer导出Android手机 system/framework/下的 vdex 文件
步骤2:使用vdexExtractor 工具将 vdex 文件转换成标准的 dex
2.1 linux环境下载vdexExtractor 工具源码
(感谢 vdexExtractor 的作者anestisb)
2.2 编译vdexExtractor
cd vdexExtractor
./make.sh
如果报如下错误,需要安装make
解决办法:
sudo apt install make
sudo apt install make-guile
./make.sh gcc
如果出现如下错误,需要安装gcc
解决办法:
可以用这个命令安装, 这个就是GCC的开发环境, 然后再执行./make.sh gcc
sudo apt-get install build-essential
编译完成后,会在vdexExtractor/bin/目录下生成 vdexExtractor library文件以及vdexExtractor/tools 文件夹。
进入到vdexExtractor/tools/deodex 目录下,将vdex 文件拷贝到vdex文件夹下,执行如下命令:
$ ./run.sh -i vdex/ -o out-dex/
将生成out-dex 文件夹,此文件夹下为vdex 文件转化为标准dex 文件的结果。
至此 vdex -> dex 执行完毕。
步骤3 : dex转化为jar
使用d2j-dex2jar.bat 工具将dex 转化为 jar,至此vdex反编译完成。