win10安装Dexdump并脱壳
Dexdump简介
Dexdump是基于Frida开发的脱壳工具。需要的环境:安装好了Python、frida、frida-server、手机或模拟器
功能
- 支持模糊搜索没有 magic 头的 dex
- 兼容所有 Android 版本 (只要 Frida 兼容)
- 同时支持 Python 2 & 3
- 支持加载为 objection 的插件
- Pypi 包现已发布, 可以使用 pip 一键安装了
安装
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 查看
Frida连接模拟器
下载firda server端,根据自己的机器架构进行选择 下载链接
- adb连接模拟器,上传server到模拟器或手机中
1. 链接,本地环境有模拟器
- 开启模拟器 adb connect 127.0.0.1:62001
Adb shell deviceserialnumber #进入shell
Adb shell getprop ro.product.cpu.abi #查看模拟器版本、架构
2. 上传并运行frida-server
adb shell
su # 由”$”变成了”#”
adb push path\frida-server /data/local/tmp #上传frida-server到手机/data/local/tmp目录中
Chmod 777 frida-server #赋权
./frida-server
- 注意:adb shell默认是没有root权限的,用su可以提权,直接执行su就会看到用户命令提示符由”$”变成了”#”,如果手机没有root,会提示su: Permission Denied
- 使用 frida-ps -U 查看手机进程,如果有,则代表Frida已经连接成功,后续我们也可以使用Frida进行hook了
3. 脱壳
启动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.
4. 反编译
使用d2j-dex2jar 进行反编译 ttps://github.com/pxb1988/dex2jar
dex2jar.bat classes.dex
本文来自博客园,作者:愺様,转载请注明原文链接:https://www.cnblogs.com/wyh0923/p/16520693.html