一键导入
apk-reverse-sdk-gen
APK逆向分析SDK生成器 - 输入APK自动执行解包、反编译、脱壳检测与处理、加密参数分析、接口分析、代码混淆分析,生成完整分析报告和多语言SDK(Python/Java/JS),支持apktool+jadx+Frida+FART全工具链,支持动态调试与Hook注入
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
APK逆向分析SDK生成器 - 输入APK自动执行解包、反编译、脱壳检测与处理、加密参数分析、接口分析、代码混淆分析,生成完整分析报告和多语言SDK(Python/Java/JS),支持apktool+jadx+Frida+FART全工具链,支持动态调试与Hook注入
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Use when given a URL or API endpoint that needs static or dynamic analysis, request capture, signature or encryption reverse-engineering, Webpack module/key tracing, SDK generation, and mandatory real-API verification.
文档驱动全栈AI自动化开发助手 - 从技术栈调研、项目初始化、需求文档化、架构设计、前后端开发、自动化测试到变更闭环管控的全生命周期标准化工作流,集成ui-ux-pro-max前端设计技能,支持智能合约/Prompt/E2E测试等扩展设计,每阶段强制完成检查
基于 SOC 职业分类
| name | apk-reverse-sdk-gen |
| description | APK逆向分析SDK生成器 - 输入APK自动执行解包、反编译、脱壳检测与处理、加密参数分析、接口分析、代码混淆分析,生成完整分析报告和多语言SDK(Python/Java/JS),支持apktool+jadx+Frida+FART全工具链,支持动态调试与Hook注入 |
这个skill实现了一个完整的APK逆向分析与SDK生成工作流:
flowchart TB
A[用户输入APK路径] --> A0[环境检测与安装]
A0 --> A0R{环境OK?}
A0R -->|否| A0I[自动安装依赖]
A0I --> A0C[再次检测]
A0C --> A0R
A0R -->|是| B[询问配置项]
B --> C[解析APK包名]
C --> D[创建工作目录]
D --> E[复制scripts和hooks]
E --> F[创建project-config.json]
F --> G[APK解包apktool]
G --> H[DEX反编译jadx]
H --> I[脱壳检测]
I --> J{存在加壳?}
J -->|是| K[FART脱壳流程]
K --> L[获取脱壳DEX]
L --> M[重新反编译]
J -->|否| M
M --> N[加密参数检测]
N --> O{存在加密?}
O -->|是| P[加密算法分析]
P --> Q[Frida Hook调试]
Q --> R[定位加密函数]
R --> S[还原加密逻辑]
O -->|否| T[直接SDK生成]
S --> U[接口提取与分析]
T --> U
U --> V[混淆代码分析]
V --> W[生成多语言SDK]
W --> X[SDK验证测试]
X --> Y[输出完整文档]
Y --> Z[完成]
flowchart TB
A[脱壳检测] --> B{检测壳类型}
B -->|360加固| C[使用FART脱壳]
B -->|梆梆加固| C
B -->|爱加密| C
B -->|腾讯御安全| C
B -->|其他壳| C
B -->|无壳| D[跳过脱壳]
C --> E[启动Frida]
E --> F[注入脱壳脚本]
F --> G[运行APP触发加载]
G --> H[dump DEX文件]
H --> I[修复DEX]
I --> J[反编译脱壳DEX]
J --> K[对比原始DEX]
flowchart TB
A[加密参数检测] --> B[扫描API请求代码]
B --> C[提取加密关键词]
C --> D{加密类型判断}
D -->|MD5/SHA| E[哈希算法分析]
D -->|AES/DES| F[对称加密分析]
D -->|RSA| G[非对称加密分析]
D -->|自定义| H[自定义算法分析]
E --> I[Frida Hook定位]
F --> I
G --> I
H --> I
I --> J[获取加密参数]
J --> K[还原加密逻辑]
K --> L[生成签名SDK]
/apk-reverse 命令.apk 文件路径且上下文暗示需要逆向分析按需引入以下参考文档:
| 文档 | 用途 | 引入时机 |
|---|---|---|
| workspace-structure.md | 工作目录结构和配置文件 | Phase 0 初始化时 |
| apk-tools-guide.md | apktool/jadx/FART使用指南 | Phase 1/2解包时 |
| frida-hook-guide.md | Frida Hook注入调试指南 | Phase 3逆向时 |
| encryption-analysis.md | 加密算法分析方法 | Phase 3逆向时 |
| unpacking-detection.md | 脱壳检测与处理流程 | Phase 2脱壳时 |
| api-extraction.md | API接口提取与分析 | Phase 4接口分析时 |
| obfuscation-analysis.md | 代码混淆分析方法 | Phase 4混淆分析时 |
| sdk-best-practices.md | SDK生成最佳实践 | Phase 5生成SDK时 |
| output-specification.md | 输出物规范 | Phase 5输出时 |
| tech-dependencies.md | 工具依赖列表 | 环境准备时 |
必须首先询问用户以下配置项(使用 AskUserQuestion 工具):
必须在所有Phase之前执行:
# 基础检测
python scripts/check-environment.py
# 自动安装
python scripts/check-environment.py --auto-install
检测内容:
apk-projects/{package_name}/project-config.jsoncd apk-projects/{package_name}
# apktool解包
python scripts/apk-unpacker.py --apk "{apk_path}" --output "./unpacked"
# 提取基本信息
python scripts/apk-info-extractor.py --apk "{apk_path}"
输出:
unpacked/ - APK解包目录apk-info.json - APK基本信息(包名、版本、权限、组件等)参考: apk-tools-guide.md | unpacking-detection.md
# jadx反编译
python scripts/dex-decompiler.py --dex-dir "./unpacked" --output "./decompiled"
# 脱壳检测
python scripts/packer-detector.py --apk "{apk_path}" --decompiled "./decompiled"
脱壳处理(检测到加壳时):
# FART脱壳流程
python scripts/fart-unpacker.py --apk "{apk_path}" --output "./unpacked-dex"
# 重新反编译脱壳后的DEX
python scripts/dex-decompiler.py --dex-dir "./unpacked-dex" --output "./decompiled-real"
参考: encryption-analysis.md | frida-hook-guide.md
# 加密参数检测
python scripts/crypto-param-detector.py --decompiled "./decompiled" --output "./analysis/crypto-analysis.json"
# 存在加密时启动Frida Hook
python scripts/frida-hook-injector.py --apk "{apk_path}" --hook "crypto-hook.js" --output "./hook-output"
Hook脚本列表:
| Hook脚本 | 功能描述 |
|---|---|
crypto-hook.js | 加密函数拦截(MD5/SHA/AES/DES等) |
api-hook.js | HTTP请求拦截 |
native-hook.js | Native函数调用拦截 |
string-hook.js | 字符串操作追踪 |
all-in-one-hook.js | 综合Hook(推荐) |
参考: api-extraction.md | obfuscation-analysis.md
# API接口提取
python scripts/api-extractor.py --decompiled "./decompiled" --output "./analysis/api-list.json"
# 混淆代码分析
python scripts/obfuscation-analyzer.py --decompiled "./decompiled" --output "./analysis/obfuscation-report.json"
参考: sdk-best-practices.md | output-specification.md
# 生成多语言SDK
python scripts/sdk-generator.py --analysis "./analysis" --languages "python,java,js" --output "./output/sdk"
# SDK验证测试
python scripts/sdk-validator.py --sdk-path "./output/sdk/python" --test-config "./analysis/api-list.json"
输出完整文档:
output/analysis-report.md - 逆向分析报告output/sdk-document.md - SDK接口说明文档output/encryption-analysis.md - 加密算法分析报告output/api-list.md - API接口清单output/README.md - 使用说明output/sdk/{language}/ - SDK代码# APK逆向分析报告
## 1. APK基本信息
- 包名、版本、签名信息
- 权限清单、组件清单
## 2. 脱壳分析
- 加壳检测结果
- 脱壳方法与结果
## 3. 加密参数分析
- 加密算法类型
- 加密参数来源
- 签名逻辑还原
## 4. API接口分析
- 接口清单
- 参数说明
- 调用示例
## 5. 代码混淆分析
- 混淆策略
- 关键代码还原
## 6. SDK使用说明
- 安装方法
- 调用示例
Python SDK示例:
class APIClient:
"""自动生成的API调用SDK"""
BASE_URL = "https://api.example.com"
def __init__(self, device_id: str = None):
self.device_id = device_id or self._generate_device_id()
self.session = requests.Session()
def _sign(self, params: dict) -> str:
"""签名算法还原"""
# 根据分析结果生成签名逻辑
...
def request_api(self, endpoint: str, params: dict) -> dict:
"""通用API请求"""
params["sign"] = self._sign(params)
response = self.session.post(f"{self.BASE_URL}/{endpoint}", json=params)
return response.json()
详细依赖: tech-dependencies.md
# 安装基础工具
# Java JDK
# Windows: 下载安装包或使用 scoop/choco
# Linux/Mac:
sudo apt install openjdk-11-jdk # Linux
brew install openjdk@11 # Mac
# apktool
# 下载: https://ibotpeaches.github.io/Apktool/install/
# jadx
# 下载: https://github.com/skylot/jadx/releases
# Frida
pip install frida frida-tools
# Python依赖
pip install -r requirements.txt
# 1. 初始化项目
python scripts/init-workspace.py --apk "path/to/app.apk"
# 2. 进入项目目录
cd apk-projects/com.example.app
# 3. 执行分析流程
python scripts/apk-unpacker.py --apk "path/to/app.apk"
python scripts/dex-decompiler.py --dex-dir "./unpacked"
python scripts/crypto-param-detector.py --decompiled "./decompiled"
python scripts/sdk-generator.py --analysis "./analysis" --languages "python"
用户: /apk-reverse path/to/app.apk
Skill执行:
[Phase 0] 初始化工作目录 → apk-projects/com.example.app/
[Phase 0] 创建项目配置 → project-config.json
[Phase 1] APK解包 → unpacked/ 目录
[Phase 1] APK信息 → 包名: com.example.app, 版本: 1.2.3
[Phase 2] DEX反编译 → decompiled/ 目录
[Phase 2] 脱壳检测 → 检测到360加固
[Phase 2] FART脱壳 → 获取真实DEX
[Phase 3] 加密检测 → 发现sign参数使用MD5
[Phase 3] Frida Hook → 定位加密函数在 CryptoHelper.java
[Phase 4] API提取 → 15个HTTP接口
[Phase 4] 混淆分析 → ProGuard混淆
[Phase 5] SDK生成 → Python/Java/JS SDK
[Phase 5] 输出完成 → analysis-report.md, sdk-document.md, README.md
scripts/init-workspace.pyscripts/hooks/assets/references/初始化后复制到 apk-projects/{package_name}/: