SA

saf3d0s/android-native-auto-reverse-skill

API development
23 stars Quality 37 Trend 31

android-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 相关脱壳策略
  • 已加载 .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/控制流混淆算法还原

目录结构

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.HttpCaller
  • com.alipay.mobile.common.rpc.RpcInvoker
  • com.alipay.mobile.common.rpc.protocol.json.JsonSerializerV2
  • SignJsonSerializer
  • PBSerializer
  • getReqData / 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 前,默认保留所有权利。

View the full README on GitHub

Recommended Tools

Try a different keyword or remove a filter.

Install

npx skillfish add saf3d0s/android-native-auto-reverse-skill
New to MCP? Start with the mcpskill.org guide →