APK 反编译器和密钥扫描器,用于 Android 安全研究。自动从 Android 应用中提取 API 密钥、端点、令牌 及其他 泄露的凭据。
支持 .apk、.xapk、.dex、.jar、.class、.smali、.zip、.aar、.arsc、.aab 文件。
非常适合 apk2url 提取、apk 泄露 检测以及 Android 逆向工程。被安全研究人员、渗透测试人员和漏洞赏金猎人广泛使用。
大多数 Android 应用都包含硬编码的机密信息。开发者经常将 AWS 密钥、Firebase 令牌、API 凭据 直接隐藏在代码中,认为混淆可以保护它们。但事实并非如此。
APKprobe 会反编译 APK,执行反混淆处理,并使用正则表达式模式扫描所有内容,以发现:
从任何 Android 应用中提取所有 URL、API 端点 和 后端路由。非常适合:
发现不应公开的遗留开发/暂存端点、内部 API 和管理面板。
快速定位安全关键代码:
通过精确了解挂钩位置,加速你的 Frida 脚本开发。
git clone https://github.com/wadingporque/apkprobe.git
cd apkprobe
python setup.py install
或以开发模式安装:
pip install -e .
扫描 APK 中的机密信息:
apkprobe target.apk
提取 URL 和端点:
apkprobe target.apk -r endpoints
扫描 AWS/云凭据:
apkprobe target.apk -r aws gcp azure
apkprobe app.apk
apkprobe app1.apk app2.apk app3.xapk
apkprobe --jadx --apktool --cfr app.apk
apkprobe app.apk -o results.json -f json
apkprobe app.apk -r /path/to/rules.json
apkprobe -r aws endpoints -o output.yaml -f yaml -c *.apk
apkprobe [OPTIONS] FILES...
选项:
-r, --rules FILES 规则文件或内置规则集(aws、gcp、azure、endpoints 等)
-o, --output FILE 输出文件路径
-f, --format FORMAT 输出格式:json、yaml、text
-g, --groupby TYPE 分组方式:file、locator、both
-c, --cleanup 扫描后删除反编译文件
-q, --quiet 抑制输出
编译器:
--jadx, -J 使用 JADX(默认)
--apktool, -A 使用 APKTool
--cfr, -C 使用 CFR
--procyon, -P 使用 Procyon
--krakatau, -K 使用 Krakatau
--fernflower, -F 使用 Fernflower
高级选项:
-d, --deobfuscate 启用反混淆
-w, --working-dir DIR 工作目录
--timeout SECONDS 扫描超时时间
组合使用多个编译器以获得最大覆盖率 — 不同的工具对混淆的处理方式不同。
APKprobe 支持多种规则格式。你可以创建自己的规则或使用现有的模式数据库。
| 格式 | 扩展名 |
|---|---|
| APKprobe JSON | .json |
| Gitleaks | .toml |
| secret-patterns-db | .yaml |
| 简单键值对 |
{
"id": "stripe-api-key",
"name": "Stripe API Key",
"pattern": "sk_live_[a-zA-Z0-9]{24}",
"confidence": "high"
}
aws — AWS 凭据、S3 存储桶、ARNgcp — Google Cloud API 密钥、服务账号azure — Azure 连接字符串、密钥endpoints — URL、API 路由、Webhookgeneric — 常见 API 密钥模式gitleaks — 完整 gitleaks 规则集APKprobe 对反编译和扫描均使用并行处理。
# 使用 8 个工作进程进行扫描
apkprobe app.apk -smw 8
# 使用多进程而非多线程
apkprobe app.apk -sct process
提示:
--cleanup 以节省磁盘空间APKprobe 与以下工具类似:
APKprobe 将反编译和扫描集成在一个工具中,并支持多种编译器。
发现 Bug?有想法?欢迎提交 PR。
git clone https://github.com/wadingporque/apkprobe.git
cd apkprobe
python setup.py install
使用 APKprobe 的 endpoints 规则集提取所有 URL、API 端点和后端路由:
apkprobe app.apk -r endpoints -o urls.json
这会在反编译后自动执行 apk2url 提取。
APKprobe 使用 250+ 正则表达式模式扫描反编译代码中的硬编码机密信息:
apkprobe app.apk -r aws gcp azure
它可以检测 AWS 密钥、Firebase 令牌、Stripe 密钥 及其他 泄露的凭据。
APKprobe 支持多种反编译器 — 组合使用可获得最佳效果:
apkprobe --jadx --apktool --cfr app.apk
不同的反编译器对混淆的处理方式不同,因此组合使用可以提高覆盖率。
是的。APKprobe 专为 Android 渗透测试 和 漏洞赏金 侦察而设计。它通过从目标应用中提取端点、API 密钥和硬编码机密信息,快速绘制攻击面。
wadingporque
MIT 许可证。详情请参阅 LICENSE。
| 编译器 | 类型 | 说明 |
|---|
| JADX | Java | 默认,最适合大多数 APK |
| APKTool | Smali | 资源 + 清单文件 |
| CFR | Java | 适合混淆代码 |
| Procyon | Java | 替代编译器 |
| Krakatau | Java | 处理边缘情况 |
| Fernflower | Java | IntelliJ 的编译器 |
.json