MobileRE Skill MCP Server
AI Agent 驱动的移动端逆向技能集:Frida hook、一键脱壳、反检测绕过、内存 DEX dump、Ghidra MCP 符号/结构恢复。AI-agent skill system for mobile reverse engineering.
MobileRE Skill is an open-source mcp server by index-login, written mainly in JavaScript, with 230 GitHub stars and the MIT license. Its code was last updated Oct 23, 2026.
MobileRE-Skill — 综合移动端逆向分析 Agent 技能集
<div align="center">一个让 AI Agent(Kilo)真正"会逆向"的完整技能系统 —— 不只是 Frida 脚本,而是覆盖静态分析、动态分析、脱壳、反检测、Native 逆向、安全合规的完整逆向工作流。
English README · English
如果这个项目对你有帮助,欢迎 ⭐ Star 支持!
</div>使用场景
你只需要用一句话描述需求,AI 按决策树自动完成整个分析流程:
| 场景 | 一句话需求示例 | AI 会做什么 |
|---|---|---|
| 🎯 加固脱壳 | "帮我脱壳这个 App" | 多种方式按场景选择:一键脱壳(默认回填/修复/去重/方法体标记);或内存 DEX dump(panda/mem 双 dumper,ptrace-free,反调试下更隐蔽) |
| 🔐 加密分析 | "看下这个 App 的加密算法和密钥" | Java + Native 双层加解密自吐:算法/密钥/IV/明文;签名/自研/魔改算法也能还原并离线复算 |
| 🛡️ 反检测绕过 | "挂上 Frida 就闪退,帮我绕过" | 6 阶段 Pipeline:定位检测 SO → 抢 init_array → 保活 → NOP 闪退函数 |
| 🔍 行为摸底 | "这个 App 偷偷干了什么" | 文件/网络/线程/进程/Intent 全程监控 + 内核文件事件视角(不注入、免 Frida,看"谁碰了什么文件"),输出行为画像 |
| 🧩 Dex2C/VMP 分析 | "这个加密是 native 的,帮我分析逻辑" | 定位 so+offset,hook 优先 / unidbg 复现 / Ghidra 伪代码 |
| 🧬 静态攻击面 | "帮我审计这个 App 的攻击面" | 从 Manifest 枚举 exported 组件/Provider/WebView,source→sink 追踪 |
| 🧪 安全合规测试 | "帮我检查这个 App 的安全合规" | 自动运行合规检测(注入/调试/WebView SSL/元数据),出具结果 |
| 🧷 SO 符号/结构恢复 | "这个 so 去符号了,帮我还原函数名和结构体" | 离线 SO 静态分析(so.py info/strings/strref/callers)→ Ghidra MCP 交叉引用推理 → 重命名 + 结构定义 |
| 🦄 离线模拟执行 | "不跑真机,帮我模拟这个 native 函数" | Unicorn 加载 .so,JNI/libc/syscall 打桩,直接跑目标函数拿结果 |
所有操作由 AI 完成,你不需要手敲命令或运行脚本。
这是什么
一个 AI 逆向分析 Agent 的完整技能系统,不是脚本合集:
- 🧠 Agent 大脑(
.kilo/agent/reverser.md)— 逆向分析角色定义,按决策树自动选模块 - 📚 领域知识(
references/项目级 wiki +.kilo/skill/)— 9 大技巧域手册(全量索引_index.md)+ 动态分析总控 + Native 深度能力(符号/结构恢复、离线模拟执行、内存 DEX 脱壳) - 🔧 能力单元(
scripts/)— 31 个 Frida 模块(monitors 19 + bypass 12)+ 26 个独立工具 + 检测清单 - 🛠️ 合规检测 — 注入、调试、WebView SSL、APK 元数据/签名
- 🔌 MCP 集成(
kilo.json)— jadx-mcp(Java 反编译)+ ghidra-mcp(二进制分析)
与传统工具箱的区别
| 维度 | 传统逆向工具箱 | 本 Skill |
|---|---|---|
| 使用者 | 人类工程师 | AI Agent(Kilo 等) |
| 交互方式 | 手敲命令 | 一句话描述需求 |
| 核心交付 | 脚本/工具 | Skill 文档 + Agent 定义(.kilo/) |
| 决策依据 | 人的经验 | SKILL.md 决策树 |
| 反馈闭环 | 无 | Feedback 机制自动记录失败路径 |
| 静态分析 | 手动开 JADX | jadx-mcp 让 AI 直接读类源码 |
架构
┌────────────────────────────────────────────────────────────┐
│ AI Agent (Kilo) │
│ .kilo/agent/reverser.md — Agent 角色定义 │
│ .kilo/skill/.../SKILL.md — 任务路由 + 决策树 + 模块索引 │
│ feedback/FEEDBACK.md — agent 级反馈闭环(项目根) │
├────────────────────────────────────────────────────────────┤
│ Frida 动态 Hook 模块(skill scripts/) │
│ monitors/ (19 个) — 纯观察,不修改行为 │
│ bypass/ (12 个) — 主动干预,修改 app 行为 │
│ utils/ — 内存 dump / 运行时 JS 工具 │
├────────────────────────────────────────────────────────────┤
│ 独立工具(项目根 tools/) │
│ so.py · unpack · dex_* · frida_run · device_ui │
│ emu_run · vmp · so_ledger · ptr_table · probe_layout │
│ trace_recon · cipher_lab · fsmon_run · 检测 │
├────────────────────────────────────────────────────────────┤
│ MCP 集成(kilo.json 配置) │
│ jadx-mcp — AI 直接读 Java 源码反编译 │
│ ghidra-mcp — AI 直接反汇编/调试二进制 │
├────────────────────────────────────────────────────────────┤
│ 合规检测能力 │
│ 注入检测 · 调试检测 · WebView SSL · APK 元数据/签名验证 │
└────────────────────────────────────────────────────────────┘
关键技术
- 一键脱壳:
unpack.py6 步线性流水线(默认回填 → 补充扫描 → 自动 pull → 修复 checksum → 去重 → 方法体标记),一代/抽取壳通吃,产物直接拖 jadx - 反检测 Pipeline:6 阶段自动递进(定位检测 SO → 抢 init_array → 追踪符号 → 保活 → 检测 shellcode → NOP 闪退函数)
- 分层下钻:
Java → JNI → Native → libc → syscall → SVC,上层 hook 被绕过自动降级到更低层 - Dex2C/VMP 分析:hook 优先拿数据 → unidbg 复现算法 → Ghidra 伪代码,不需要 IDA 重工具
- Native 深度逆向:无符号函数/结构恢复(离线 ELF 侦察 + Ghidra 交叉引用推理)、Unicorn 单函数模拟执行(JNI/libc/syscall 打桩)、内存 DEX 脱壳(双 dumper 交叉验证,ptrace-free)
项目结构
MobileRE-Skill/
├── references/ # 技巧手册 wiki(18 份,全量索引见 _index.md)
│ ├── _index.md # 索引:作用 / 何时读 / 是否常驻
│ ├── unpacking.md · anti-detection.md · crypto-hook.md
│ ├── behavior-analysis.md · static-analysis.md
│ ├── native-analysis.md · native-audit.md · so-function-recovery.md
│ ├── so-analysis-pipeline.md · so-func-naming.md · so-emulation.md
│ ├── android-internals.md · cross-platform.md
│ ├── troubleshooting.md · api-reference.md · articles.md
│ ├── android-headers/ # ART 头文件(不入库,按需 fetch_android_headers.py 拉)
│ └── smoke-test.md # 冒烟自检(回归清单,其它资料)
├── .kilo/
│ ├── agent/
│ │ └── reverser.md # Agent 角色定义(工作纪律 + 重要手册清单)
│ └── skill/
│ ├── frida-mobile-security/ # 动态分析总控(Frida + jadx/ghidra MCP)
│ │ ├── SKILL.md # 总控:任务路由 + 决策树 + 模块目录
│ │ └── scripts/ # Frida JS 模块(由 frida -l 加载)
│ │ ├── core/utils.js # 公共工具(始终首个加载)
│ │ ├── monitors/ # 19 个监控模块(纯观察)
│ │ ├── bypass/ # 12 个干预模块(反检测等)
│ │ ├── utils/ # 内存 dump JS(so_dump / dex_* / codeitem)
│ │ ├── checklist/ # 检测清单脚本
│ │ └── templates/ # 模板(analysis.py / custom_hook.js)
│ ├── func-naming/ # 无符号函数命名(符号表/魔数/调用模式)
│ ├── so-emulate/ # 单函数离线仿真(Unicorn,工具在 tools/)
│ ├── so-function-recovery/ # 大型 SO 函数级还原流水线(台账/边界/VM 编码)
│ ├── vmp-analysis/ # VM/VMP 逆向 8 步流水线(profile 驱动)
│ ├── dex-mem-dump/ # 运行时 DEX 脱壳(panda + mem,ptrace-free)
│ └── karpathy-guidelines/ # 编码准则(开发辅助)
├── tools/ # 独立工具(py/bat/jar,无 Frida 依赖)
│ ├── so.py # SO 静态分析一站式(ELF 侦察/字符串/字节/反汇编/交叉引用/SVC/JNI 判型)
│ ├── unpack.py # 一键脱壳入口
│ ├── dex_rebuilder.py / dex_dedupe.py # DEX 修复 / 去重
│ ├── fix_elf.py / fix_axml.py / patch_gadget_threadnames.py
│ ├── frida_run.py # 非交互 Frida 运行(无人值守)
│ ├── device_ui.py # 设备交互(元素树/点击/输入/截图)
│ ├── emu_run.py / uniharness.py # Unicorn 离线仿真(含 --watch-* 观测层)
│ ├── emu_setup.py / emu_setup_template.py # 仿真 setup 助手库 / --setup 脚本骨架
│ ├── vmp.py # 字节码 VM/VMP 逆向(profile 驱动:disasm/verify/trace/model)
│ ├── vmp_profiles/ # VM 编码模型(换壳只换 JSON)
│ ├── so_ledger.py / ptr_table.py # 函数台账→工作队列 / 指针表枚举与分类
│ ├── probe_layout.py # 动态结构体布局探测(--at/--hook/--multi-hook)
│ ├── check_registry.py # 工具/模块/手册登记漂移自检
│ ├── fetch_android_headers.py # 按 AOSP tag 拉 ART 头文件(头文件不入库)
│ ├── ghidra/ ida/ # 批量脚本(索引 tools/ghidra/README.md)
│ ├── trace_recon.py / cipher_lab.py # 观测日志→状态重建 / 密码结构判定(层/表/编排)
│ ├── fsmon_run.py # 设备侧内核文件事件采集与分析(fsmon inotify 后端;落盘件 pull)
│ ├── check-anti-inject.py / check-janus.bat / debug-gdb.py / janus_check.py # 检测项
│ ├── ipa.py # IPA 元数据/结构/Mach-O 侦察
│ └── hap_parser.py # HAP(鸿蒙)包信息解析
├── feedback/FEEDBACK.md # agent 级反馈闭环(本地保留,不入库)
├── requirements.txt # Python 依赖(frida/unicorn/capstone/…)
├── kilo.json # MCP 配置(jadx-mcp / ghidra-mcp,本地保留,不入库)
├── AGENTS.md # 开发规范(AI 编码约束)
└── README.md / README.en.md # 本文件
环境搭建
宿主机要求
| 工具 | 用途 | 下载 |
|---|---|---|
| Python 3.9+ | 运行 Python 分析脚本 | https://www.python.org/downloads/ |
| Frida CLI | Frida 命令行工具 | pip install frida-tools |
| ADB | Android 调试桥 | Android SDK Platform-Tools |
| Android NDK | GDB 调试客户端 | https://developer.android.com/ndk/downloads |
| Java Runtime | APK 信息提取 | https://www.oracle.com/java/technologies/downloads/ |
| JADX | Java 反编译 | https://github.com/skylot/jadx |
| Ghidra | 二进制分析 | https://ghidra-sre.org/ |
Python 依赖
pip install -r requirements.txt
| 包 | 用途 |
|---|---|
frida / frida-tools | Frida 动态插桩 |
unicorn | CPU 模拟执行(SO 离线分析 / 模拟调试) |
capstone | 反汇编(模拟追踪/指令级调试) |
keystone-engine | 汇编(模拟打桩) |
pyelftools | ELF 解析(so.py / uniharness.py 等) |
lief | ELF 改写(dump so 修复重建 / patch 常量 / 加节改 DT_NEEDED) |
z3-solver | 约束求解(从条件/结果反推输入;配 emu 观测层) |
MCP 配套(让 AI 直接读源码/反汇编)
通过 kilo.json 集成,AI 分析时直接调用,无需手动开 GUI:
| MCP | 作用 | 安装 |
|---|---|---|
| jadx-mcp | AI 直接读 Java 类源码(jadx_get_class_source 等) | jadx-ai-mcp |
| ghidra-mcp | AI 直接反汇编/调试二进制(ghidra_import_file 等) | GhidraMCP |
测试机准备
# 1. 推送 frida-server
adb push frida-server-<版本>-android-arm64 /data/local/tmp/fuckserver
adb shell "chmod 755 /data/local/tmp/fuckserver"
adb shell "su -c '/data/local/tmp/fuckserver -D'"
# 2. 推送 AndKittyInjector(合规检测用)
adb push AndKittyInjector /data/local/tmp/AndKittyInjector
adb shell "chmod 755 /data/local/tmp/AndKittyInjector"
# 3. 推送 gdbserver64(调试检测用)
adb push gdbserver64 /data/local/tmp/gdbserver64
adb shell "chmod 755 /data/local/tmp/gdbserver64"
# 4. fsmon(内核文件事件采集,tools/fsmon_run.py 的设备侧依赖;缺件时 AI 自行下载 arm64 预编译并推送)
# https://github.com/nowsecure/fsmon/releases
fsmon_run.py 与检测项均以 root(su -c)运行;fsmon 默认路径 /data/local/tmp/fsmon-android-arm64(--fsmon-path 覆盖)。
设计原则
- 单一职责 — 一个模块做一件事,monitors/ 只观察不修改,bypass/ 只干预不监控
- 可组合 — 模块通过
-l参数自由组合,不互相依赖 - 可观测 — 所有 hook 点必须有日志输出,不静默吞掉
- 可复现 — 脚本能在其他设备上跑,不依赖特定路径硬编码
- 最小权限 — 只 hook 需要的目标,不做全量扫描
许可
MIT 许可。
免责声明
本项目仅供教育和合法授权的安全测试使用:
- 请勿用于任何未经授权的 App 分析、破解或逆向
- 使用者须确保拥有对目标 App 进行测试的合法授权
- 因使用本项目造成的任何法律责任由使用者自行承担
- 如侵犯了您的权益,请联系作者删除相关内容
支持
- ⭐ Star 本项目
- 🐛 遇到问题提交 Issue
- 🧩 有新的检测项/模块想法,欢迎讨论
MobileRE Skill alternatives
View more →Similar mcp servers in Security & Testing, ranked by GitHub stars. Compare licence, recent activity and scan status before you choose.
| Name | Stars | Licence | Last updated | Scan |
|---|---|---|---|---|
| MobileRE Skill (this page) index-login | 230 | MIT | Oct 23, 2026 | Scanned, no flagged issues |
| Hexstrike AI 0x4m4 | 13k | MIT | Aug 3, 2026 | Scanned, no flagged issues |
| Viper FunnyWolf | 5.3k | None found | May 31, 2026 | Not scanned yet |
| Open Ontologies fabio-rovai | 2.7k | MIT | Oct 30, 2026 | Scanned, no flagged issues |
| Qu1cksc0pe CYB3RMX | 2.1k | GPL-3.0 | Sep 18, 2026 | Scanned, no flagged issues |
| Cve MCP Server mukul975 | 1.7k | Apache-2.0 | Oct 1, 2026 | Scanned, no flagged issues |