
saf3d0s/android-native-auto-reverse-skill
API developmentandroid-native-auto-reverse 是一个面向授权 Android 逆向分析场景的 Codex Skill,主要用于 APK、DEX、JAR、AAR、Native SO 等目标的静态分析、动态调试、加固识别、脱壳、请求分析和 Native 层逆向。
Overview
一个面向授权 Android 逆向分析的 Codex Skill,覆盖 APK 静态分析、加固识别、脱壳、DEX/SO dump、Frida/objection 动态分析、请求抓包、Native/JNI 分析、JADX/IDA/Ghidra 关联和报告整理。 仅用于已授权的安全测试、应用自查、逆向学习和实验室环境。涉及 Hook、脱壳、流量拦截、绕过检测、dump 代码或修改运行时行为时,请先确认测试范围和授权。 - APK/AAB/XAPK/DEX/JAR/AAR/ELF .so 分析入口 - apktool/JADX 静态反编译和资源提取 - APKiD 与内置规则的加固/壳识别 - 梆梆/Bangcle/libDexHelper 等壳的分析流程 - frida-dexdump、BlackDex、FART、youpk 等 DEX dump 思路 - ART DexFile、mCookie、ClassLoader、OpenMemory 相关脱壳策略 - 已加载 .so dump、ELF 修复、init_array 定位 - Frida/objection Hook、反 Frida/反调试/root/emulator/proxy 检测分析 - pthread_create、clone、exit_group、检测线程和崩溃退出链路追踪 - Burp Suite、r0capture、Frida 明文桥接抓包 - OkHttp/Retrofit/WebView/mPaaS RPC 请求分析 - Frida -> Python -> Burp -> Frida 明文请求/响应编辑桥 - SO/JNI/RegisterNatives、Native crypto/signing、Java-native 关联 - JADX、IDA Pro、Ghidra 辅助分析和偏移证据整理 - Frida Stalker 辅助 OLLVM/控制流混淆算法还原 安装后,在 Codex 中提出 Android APK、SO、Frida、脱壳、抓包、JADX/IDA/Ghidra 相关任务时,Codex 会按 SKILL.md 的流程读取对应参考文档和脚本。
README
Android Native Auto Reverse Skill
一个面向授权 Android 逆向分析的 Codex Skill,覆盖 APK 静态分析、加固识别、脱壳、DEX/SO dump、Frida/objection 动态分析、请求抓包、Native/JNI 分析、JADX/IDA/Ghidra 关联和报告整理。
仅用于已授权的安全测试、应用自查、逆向学习和实验室环境。涉及 Hook、脱壳、流量拦截、绕过检测、dump 代码或修改运行时行为时,请先确认测试范围和授权。
能力概览
- APK/AAB/XAPK/DEX/JAR/AAR/ELF
.so分析入口 - apktool/JADX 静态反编译和资源提取
- APKiD 与内置规则的加固/壳识别
- 梆梆/Bangcle/libDexHelper 等壳的分析流程
- frida-dexdump、BlackDex、FART、youpk 等 DEX dump 思路
- ART
DexFile、mCookie、ClassLoader、OpenMemory 相关脱壳策略 - 已加载
.sodump、ELF 修复、init_array 定位 - Frida/objection Hook、反 Frida/反调试/root/emulator/proxy 检测分析
pthread_create、clone、exit_group、检测线程和崩溃退出链路追踪- Burp Suite、r0capture、Frida 明文桥接抓包
- OkHttp/Retrofit/WebView/mPaaS RPC 请求分析
- Frida -> Python -> Burp -> Frida 明文请求/响应编辑桥
- SO/JNI/RegisterNatives、Native crypto/signing、Java-native 关联
- JADX、IDA Pro、Ghidra 辅助分析和偏移证据整理
- Frida Stalker 辅助 OLLVM/控制流混淆算法还原
目录结构
android-native-auto-reverse/
├── SKILL.md
├── README.md
├── agents/
├── references/
│ ├── apkpackdata.json
│ ├── bangcle-dexhelper-frida-dexdump.md
│ ├── checklists.md
│ ├── jadx-and-ida.md
│ ├── request-traffic-analysis.md
│ ├── so-analysis-workflow.md
│ └── unpacking-and-so-dump.md
└── scripts/
├── scan_apk_shell.py
├── jadx_triage.py
├── request_endpoint_extractor.py
├── so_inventory.py
├── native_target_ranker.py
├── dex_dump_validator.py
├── dex_header_fix.py
├── elf_init_array_finder.py
├── frida_*.js
└── ida_export_native_summary.py
快速安装
将整个目录放到 Codex skill 目录:
mkdir -p ~/.codex/skills
cp -R android-native-auto-reverse ~/.codex/skills/
安装后,在 Codex 中提出 Android APK、SO、Frida、脱壳、抓包、JADX/IDA/Ghidra 相关任务时,Codex 会按 SKILL.md 的流程读取对应参考文档和脚本。
推荐工作流
1. 基础静态分析
aapt dump badging target.apk
apktool d -f target.apk -o apktool_out
jadx --no-debug-info --show-bad-code target.apk -d jadx_out
2. 壳识别与静态锚点提取
python3 android-native-auto-reverse/scripts/scan_apk_shell.py target.apk --json
python3 android-native-auto-reverse/scripts/jadx_triage.py jadx_out
python3 android-native-auto-reverse/scripts/request_endpoint_extractor.py jadx_out apktool_out --out analysis/static_endpoints.json
3. Native SO 目标排序
python3 android-native-auto-reverse/scripts/so_inventory.py apktool_out --out analysis/so_inventory.json
python3 android-native-auto-reverse/scripts/native_target_ranker.py --so-inventory analysis/so_inventory.json --out-dir analysis/native_rank
4. DEX 脱壳和 dump 验证
frida-dexdump -U -f com.example.app -o dumps/com.example.app --sleep 8
python3 android-native-auto-reverse/scripts/dex_dump_validator.py dumps/com.example.app --out analysis/dex_dump_validation.json
5. 请求与抓包分析
Burp 适合代理可见、证书链可控的场景;r0capture 适合 TLS pinning、Native TLS、自定义信任链或 Burp 只能看到密文的场景。
adb shell settings put global http_proxy 192.168.1.10:8080
python3 r0capture.py -U -f com.example.app -v -p analysis/capture.pcap
6. Frida 明文桥接到 Burp
当网络层是密文,但 Frida 能在加密前或解密后看到明文时,使用通用桥:
python3 android-native-auto-reverse/scripts/frida_burp_crypto_bridge.py \
--spawn com.example.app \
--script analysis/hooks/request_crypto_bridge.js \
--burp-host 127.0.0.1 --burp-port 8080 \
--listen-port 28081
在目标 Hook 脚本中复制 scripts/frida_crypto_bridge_template.js,然后在加密前调用:
const editedPlain = Bridge.bridgeEdit('request', plain, {
className: 'com.example.crypto.RequestEncryptor',
methodName: 'encrypt'
});
响应修改则在解密后、业务解析前调用:
const editedResp = Bridge.bridgeEdit('response', plainResponse, {
className: 'com.example.crypto.ResponseDecryptor',
methodName: 'decrypt'
});
mPaaS RPC 分析思路
当 Burp 看到二进制或密文请求体,而静态分析出现这些类时,优先进入 mPaaS 分支:
com.alipay.mobile.common.rpc.transport.http.HttpCallercom.alipay.mobile.common.rpc.RpcInvokercom.alipay.mobile.common.rpc.protocol.json.JsonSerializerV2SignJsonSerializerPBSerializergetReqData/setReqData/getResData/setResData
请求修改优先 Hook Serializer.packet() 或 JsonSerializerV2.packet(),因为这里通常早于传输层完整性校验和签名生成;HttpCaller 更适合观察最终请求、URL 和响应对象;RpcInvoker 适合关联 RPC 方法、线程、请求 ID 和调用上下文。
观察模式:
frida -U -f com.example.app -l android-native-auto-reverse/scripts/frida_mpaas_rpc_probe.js --no-pause
需要 Burp 可编辑时,把脚本复制到任务目录,开启阻塞编辑,再配合 frida_burp_crypto_bridge.py 使用。
Native/SO 分析重点
分析 Native 层时,优先建立证据链:
Java loadLibrary / System.load
-> JNI_OnLoad
-> RegisterNatives
-> Java native 方法
-> SO 内函数偏移
-> crypto/signing/anti-analysis 行为
常用辅助:
readelf -hW libtarget.so
readelf -SW libtarget.so
readelf -sW libtarget.so
objdump -T libtarget.so
strings -a -t x libtarget.so
python3 android-native-auto-reverse/scripts/elf_init_array_finder.py libtarget.so --out analysis/libtarget_init_array.json
IDA 导出:
idat64 -A -S"android-native-auto-reverse/scripts/ida_export_native_summary.py /tmp/libtarget_ida_summary.json" libtarget.so
产物管理约定
这个 skill 目录只放通用能力,不放样本产物。
样本相关内容应放在任务工作目录,例如:
- APK/JADX/apktool 输出
- Frida 运行日志
- Burp/r0capture 导出
- dump 出来的 dex/so
- 针对某个 App 的 Hook 脚本
- 样本分析报告
这样 skill 可以长期复用,不会被某个具体 App 的临时产物污染。
依赖工具
按任务需要安装:
- Android SDK platform-tools:
adb aapt/apkanalyzer- apktool
- JADX
- APKiD
- Frida / frida-tools
- objection
- frida-dexdump
- BlackDex / FART / youpk
- Burp Suite
- r0capture
- IDA Pro 或 Ghidra
- Python 3.10+
- Node.js,用于检查 Frida JS 语法
安全边界
- 只分析已授权的 App、账号、设备、网络和测试流程。
- 不采集无关个人信息。
- 报告中默认脱敏 token、cookie、密码、设备标识和账号信息。
- Hook、dump、绕过检测和流量修改都应记录命令、设备状态、包名/PID、ABI、时间戳、输出和结论。
许可
如果你要公开发布,建议在仓库中补充明确的 LICENSE。未添加 LICENSE 前,默认保留所有权利。
Recommended Tools
Try a different keyword or remove a filter.
Install
npx skillfish add saf3d0s/android-native-auto-reverse-skill