MobileRE-Skill

mcp
Security Audit
Fail
Health Pass
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Community trust — 54 GitHub stars
Code Fail
  • exec() — Shell command execution in .kilo/skill/frida-mobile-security/scripts/bypass/root_bypass.js
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

AI Agent 驱动的移动端逆向技能集:Frida hook、一键脱壳、反检测绕过、内存 DEX dump、Ghidra MCP 符号/结构恢复。AI-agent skill system for mobile reverse engineering.

README.md

MobileRE-Skill — 综合移动端逆向分析 Agent 技能集

一个让 AI Agent(Kilo)真正"会逆向"的完整技能系统 —— 不只是 Frida 脚本,而是覆盖静态分析、动态分析、脱壳、反检测、Native 逆向、安全合规的完整逆向工作流。

License
Version
Android
Frida
Python
Jadx
Ghidra
Kilo

English README · English

如果这个项目对你有帮助,欢迎 ⭐ Star 支持!


使用场景

你只需要用一句话描述需求,AI 按决策树自动完成整个分析流程:

场景 一句话需求示例 AI 会做什么
🎯 加固脱壳 "帮我脱壳这个 App" 多种方式按场景选择:一键脱壳(默认回填/修复/去重/方法体标记);或内存 DEX dump(panda/mem 双 dumper,ptrace-free,反调试下更隐蔽)
🔐 加密分析 "看下这个 App 的加密算法和密钥" Java + Native 双层加解密自吐:算法/密钥/IV/明文;签名/自研/魔改算法也能还原并离线复算
🛡️ 反检测绕过 "挂上 Frida 就闪退,帮我绕过" 6 阶段 Pipeline:定位检测 SO → 抢 init_array → 保活 → NOP 闪退函数
🔍 行为摸底 "这个 App 偷偷干了什么" 文件/网络/线程/进程/Intent 全程监控,输出行为画像
🧩 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/)— 24 个 Frida 模块(monitors 15 + bypass 9)+ 21 个独立工具 + 检测清单
  • 🛠️ 合规检测 — 注入、调试、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/ (15 个) — 纯观察,不修改行为                     │
│  bypass/   (9 个)  — 主动干预,修改 app 行为                │
│  utils/            — 内存 dump / 运行时 JS 工具             │
├────────────────────────────────────────────────────────────┤
│               独立工具(项目根 tools/)                      │
│  so.py · unpack · dex_* · frida_run · device_ui             │
│  emu_run · trace_recon · cipher_lab · fix_elf · 检测        │
├────────────────────────────────────────────────────────────┤
│               MCP 集成(kilo.json 配置)                    │
│  jadx-mcp  — AI 直接读 Java 源码反编译                      │
│  ghidra-mcp — AI 直接反汇编/调试二进制                      │
├────────────────────────────────────────────────────────────┤
│              合规检测能力                                    │
│  注入检测 · 调试检测 · WebView SSL · APK 元数据/签名验证    │
└────────────────────────────────────────────────────────────┘

关键技术

  • 一键脱壳unpack.py 6 步线性流水线(默认回填 → 补充扫描 → 自动 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(项目级,索引见 _index.md)
│   ├── _index.md                    # 索引:作用 / 何时读 / 是否常驻
│   ├── unpacking.md                 # 脱壳
│   ├── anti-detection.md            # 环境对抗
│   ├── crypto-hook.md               # 加密/功能 hook
│   ├── behavior-analysis.md         # 行为分析
│   ├── static-analysis.md           # 静态攻击面
│   ├── native-analysis.md           # SO 层分析
│   ├── troubleshooting.md           # 故障诊断
│   ├── api-reference.md             # Frida API 参考
│   ├── articles.md                  # 参考文章索引
│   └── 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/            # 15 个监控模块(纯观察)
│       │       ├── bypass/              # 9 个干预模块(反检测等)
│       │       ├── utils/               # 内存 dump JS(so_dump / dex_* / codeitem)
│       │       ├── checklist/           # 检测清单脚本
│       │       └── templates/           # 模板(analysis.py / custom_hook.js)
│       ├── rev-symbol/              # 无符号 .so 函数命名(Ghidra MCP)
│       ├── rev-struct/              # 结构体恢复(偏移访问聚合)
│       ├── rev-unicorn-debug/       # Unicorn 模拟调试(工具在 tools/)
│       ├── rev-dex-dumper/          # 运行时 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-* 观测层)
│   ├── trace_recon.py / cipher_lab.py  # 观测日志→状态重建 / 密码结构判定(层/表/编排)
│   ├── check-anti-inject.bat / check-janus.bat / debug-gdb.py / janus_check.py  # 检测项
│   └── 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"

设计原则

  • 单一职责 — 一个模块做一件事,monitors/ 只观察不修改,bypass/ 只干预不监控
  • 可组合 — 模块通过 -l 参数自由组合,不互相依赖
  • 可观测 — 所有 hook 点必须有日志输出,不静默吞掉
  • 可复现 — 脚本能在其他设备上跑,不依赖特定路径硬编码
  • 最小权限 — 只 hook 需要的目标,不做全量扫描

许可

MIT 许可。

免责声明

本项目仅供教育和合法授权的安全测试使用:

  • 请勿用于任何未经授权的 App 分析、破解或逆向
  • 使用者须确保拥有对目标 App 进行测试的合法授权
  • 因使用本项目造成的任何法律责任由使用者自行承担
  • 如侵犯了您的权益,请联系作者删除相关内容

支持

  • ⭐ Star 本项目
  • 🐛 遇到问题提交 Issue
  • 🧩 有新的检测项/模块想法,欢迎讨论

Reviews (0)

No results found