Dexdump是基于Frida开发的脱壳工具。需要的环境:安装好了Python、frida、frida-server、手机或模拟器
Pip install frida-tools pip install frida-dexdump frida-dexdump -h
安装frida-tools可能会报错,提示C:\Users\Nmae/frida-15.1.17-py3.10-win-amd64.egg不存在,手动pypi上下载后放到该位置,即可安装成功。
或者直接使用源码
git clone https://github.com/hluwa/FRIDA-DEXDump cd FRIDA-DEXDump/frida-dexdump python main.py -h
直接运行 frida-dexdump 或者 python main.py 的话,会附加当前的前台 app 来进行搜索和 dump dex.
或者,可以加上命令行参数:
-n: [可选] 指定目标进程的名字,如果使用 spawn 模式,它必须是一个应用的包名。如果不指定的话,就会自动选择当前的前台应用。 -p: [可选] 指定存在多进程的情况下选择目标的 pid,若不指定,会遍历 dump 全部进程。 -f: [可选] 使用 spawn 模式,默认关闭。 -s: [可选] 在使用 spawn 模式的时候,使用此参数可以指定休眠的时间,默认是 10 秒。 -d: [可选] 开启深度搜索模式,也许能搜到更多 dex,但时间可能会变慢。 -h: 显示此 help 消息。
frida-dexdump -h 查看
下载firda server端,根据自己的机器架构进行选择 下载链接
Adb shell deviceserialnumber #进入shell Adb shell getprop ro.product.cpu.abi #查看模拟器版本、架构
adb shell su # 由”$”变成了”#” adb push path\frida-server /data/local/tmp #上传frida-server到手机/data/local/tmp目录中 Chmod 777 frida-server #赋权 ./frida-server
启动app Frida-dexdump -FU
Frida-ps -U #查看手机进程(检查是否成功连接frida-server) https://github.com/hluwa/frida-dexdump Frida-dexdump #简单脱壳(需应用正在运行) a. frida-dexdump -FU 快速转存前台应用程序 b. frida-dexdump -U -f com.app.pkgname #转存指定应用程序 i. -o OUTPUT, --output OUTPUT Output folder path, default is './<appname>/'. ii. -d, --deep-search Enable deep search mode. iii. --sleep SLEEP Waiting times for start, spawn mode default is 5s.
使用d2j-dex2jar 进行反编译 ttps://github.com/pxb1988/dex2jar dex2jar.bat classes.dex