SimoneAvogadro/android-reverse-engineering-skill
GitHub: SimoneAvogadro/android-reverse-engineering-skill
一个基于 Claude Code 的 Android 逆向技能,通过反编译与流程追踪自动提取应用使用的 HTTP API。
Stars: 2171 | Forks: 247
# Android 逆向工程与 API 提取 — Claude Code 技能
一个 Claude Code 技能,能够反编译 Android APK/XAPK/JAR/AAR 文件并**提取应用使用的 HTTP API** — 包括 Retrofit 端点、OkHttp 调用、硬编码 URL、认证头与令牌等 — 从而无需原始源代码即可记录并重现这些 API。
## 功能
- **反编译** APK、XAPK、JAR 和 AAR 文件,使用 jadx 以及 Fernflower/Vineflower(单引擎或并排对比)
- **提取并记录 API**:Retrofit 端点、OkHttp 调用、硬编码 URL、认证头与令牌
- **追踪调用流**:从 Activities/Fragments 经过 ViewModels 与仓库层到 HTTP 调用
- **分析应用结构**:清单文件、包结构与架构模式
- **处理混淆代码**:针对 ProGuard/R8 输出的导航策略
## 要求
**必需:**
- Java JDK 17+
- [jadx](https://github.com/skylot/jadx)(命令行工具)
**可选(推荐):**
- [Vineflower](https://github.com/Vineflower/vineflower) 或 [Fernflower](https://github.com/JetBrains/fernflower) — 对复杂 Java 代码有更好的输出
- [dex2jar](https://github.com/pxb1988/dex2jar) — 在 APK/DEX 文件上使用 Fernflower 所必需
请参阅 `plugins/android-reverse-engineering/skills/android-reverse-engineering/references/setup-guide.md` 获取详细的安装说明。
## 安装
### 从 GitHub 安装(推荐)
在 Claude Code 中运行:
```
/plugin marketplace add SimoneAvogadro/android-reverse-engineering-skill
/plugin install android-reverse-engineering@android-reverse-engineering-skill
```
该技能将在所有后续会话中永久可用。
### 从本地克隆安装
```
git clone https://github.com/SimoneAvogadro/android-reverse-engineering-skill.git
```
然后在 Claude Code 中运行:
```
/plugin marketplace add /path/to/android-reverse-engineering-skill
/plugin install android-reverse-engineering@android-reverse-engineering-skill
```
## 用法
### 斜杠命令
```
/decompile path/to/app.apk
```
这将运行完整流程:依赖检查、反编译与初始结构分析。
### 自然语言
当输入类似以下自然语言时技能会被激活:
- “反编译这个 APK”
- “逆向工程这个 Android 应用”
- “提取这个应用的 API 端点”
- “从 LoginActivity 追踪调用流”
- “分析这个 AAR 库”
### 手动脚本
脚本也可以单独使用:
```
# 检查依赖项
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/check-deps.sh
# 安装缺失的依赖项(自动检测操作系统和包管理器)
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/install-dep.sh jadx
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/install-dep.sh vineflower
# 使用 jadx(默认)反编译 APK
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/decompile.sh app.apk
# 反编译 XAPK(自动提取并反编译每个内部 APK)
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/decompile.sh app-bundle.xapk
# 使用 Fernflower 反编译
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/decompile.sh --engine fernflower library.jar
# 同时运行两个引擎并比较
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/decompile.sh --engine both --deobf app.apk
# 查找 API 调用
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/find-api-calls.sh output/sources/
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/find-api-calls.sh output/sources/ --retrofit
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/find-api-calls.sh output/sources/ --urls
```
## 仓库结构
```
android-reverse-engineering-skill/
├── .claude-plugin/
│ └── marketplace.json # Marketplace catalog
├── plugins/
│ └── android-reverse-engineering/
│ ├── .claude-plugin/
│ │ └── plugin.json # Plugin manifest
│ ├── skills/
│ │ └── android-reverse-engineering/
│ │ ├── SKILL.md # Core workflow (5 phases)
│ │ ├── references/
│ │ │ ├── setup-guide.md
│ │ │ ├── jadx-usage.md
│ │ │ ├── fernflower-usage.md
│ │ │ ├── api-extraction-patterns.md
│ │ │ └── call-flow-analysis.md
│ │ └── scripts/
│ │ ├── check-deps.sh
│ │ ├── install-dep.sh
│ │ ├── decompile.sh
│ │ └── find-api-calls.sh
│ └── commands/
│ └── decompile.md # /decompile slash command
├── LICENSE
└── README.md
```
## 参考
- [jadx — Dex 转 Java 反编译器](https://github.com/skylot/jadx)
- [Fernflower — JetBrains 分析型反编译器](https://github.com/JetBrains/fernflower)
- [Vineflower — Fernflower 社区分支](https://github.com/Vineflower/vineflower)
- [dex2jar — DEX 转 JAR 转换器](https://github.com/pxb1988/dex2jar)
- [apktool — Android 资源解码器](https://apktool.org/)
## 免责声明
本插件严格用于**合法用途**,包括但不限于:
- 安全研究与授权渗透测试
- 符合适用法律允许的互操作性分析(例如欧盟指令 2009/24/EC、美国 DMCA §1201(f))
- 恶意软件分析与事件响应
- 教育用途与 CTF 比赛
**你必须自行确保**对该工具的使用符合所有适用的法律、法规与服务条款。未经授权对非你所有或未获许可分析的软件进行逆向工程可能违反知识产权法与计算机欺诈法规。
作者不对该工具的滥用承担任何责任。
## 许可证
Apache 2.0 — 参见 [LICENSE](LICENSE)
标签:AAR反编译, AndroidManifest分析, Android逆向, Android逆向工程, API文档生成, APK反编译, dex2jar, Fernflower, HTTP API提取, JADX, JAR反编译, JS文件枚举, OkHttp调用提取, ProGuard反混淆, R8反混淆, Retrofit端点提取, SEO词:Android反编译工具, SEO词:API提取, SEO词:硬编码URL提取, SEO词:认证令牌分析, SEO词:逆向工程Android, Vineflower, XAPK反编译, 代码混淆处理, 包结构分析, 应用结构分析, 架构模式识别, 硬编码URL提取, 认证令牌分析, 调用流追踪