基于C语言的Android静态分析框架,用于反编译、密钥检测、端点发现、权限分析以及原生库扫描,并具备机器学习辅助的密钥分类功能。
# APKX-Hunter v3.0.0 -- Debian 软件包 [](https://ko-fi.com/S2Y5230RHH) <div align="center">
<img src="https://raw.githubusercontent.com/syscallx-18113/apkx-hunter/main/apkx-hunter.png" alt="Apkx-Hunter-Tool" width="300">
</div>
## **APKX-Hunter 亮相 Black Hat Arsenal Europe 2026**
[在 Black Hat Europe Arsenal 上查看 APKX-Hunter](https://blackhat.com/europe/arsenal/schedule/#apkxhunter-advanced-android-static-analysis-framework-56751)
**APKX-Hunter** 是一个完全用 **C** 编写的开源 **Android 静态分析框架**,专为 Android 安全评估、逆向工程、恶意软件分析、**OWASP MASVS** 合规扫描、漏洞赏金狩猎、APK 测试和渗透测试而构建。
该框架支持单应用和大规模 Android 应用分析,可自动提取并分析受支持的 Android 包格式,包括 **APK、APKS、APKM、XAPK 和 ZIP** 归档文件。借助**递归多 APK 扫描**、**静默批处理模式**和有条理的扫描输出,APKX-Hunter 旨在高效处理单个应用以及大型 Android 应用集合,同时生成干净、结构化且可操作的结果。
APKX-Hunter 结合了多种静态分析技术——包括反编译、AndroidManifest 分析、权限分析、导出组件检测、端点发现、硬编码密钥检测、云配置发现、原生库检测以及 **OWASP MASVS** 安全检查——以揭示 Android 应用内部与安全相关的信息。
APKX-Hunter 还提供集成的交互式**命令行 shell**,为研究人员提供专用的框架界面,用于运行分析操作、配置扫描模式、导航项目工作流,并直接从终端与 APKX-Hunter 交互。Shell 功能包括命令历史记录、交互式命令处理、扫描控制以及框架级命令,旨在让重复的分析工作流更快、更高效。
该框架包含一个**代码搜索与调查引擎**,用于分析反编译和提取出的应用源代码。研究人员可以在项目目录中递归搜索特定的代码模式或字符串,从而更轻松地调查可疑实现、追踪安全敏感功能、识别易受攻击的模式,并快速浏览大型反编译代码库。
APKX-Hunter 还集成了一个轻量级的**基于机器学习的密钥分类引擎**,完全用 **C** 编写,可自动按置信度和严重程度对检测到的密钥进行分类。这有助于减少误报并加速漏洞分类处理。
该框架在整个分析过程中生成**有条理且结构化的输出文件**,将相关发现和安全结果分离到清晰的类别中,以便于调查、报告和进一步分析。每次扫描结束时,APKX-Hunter 都会生成详细的**扫描统计信息**,包括扫描的 APK 数量、分析的文件数量、检测到的密钥数量、检测到的模式数量以及 MASVS 发现,为研究人员提供整个安全评估的全面概览。
**APKX-Hunter 被设计为一个完整的 Android 静态分析工作流——从应用提取和自动发现到手动代码调查和安全分类。**
- **GitHub:** https://github.com/SyscallX-18113/Apkx-Hunter
- **开发者:** SyscallX-18113
- **版本:** v3.0.0
---

---
## OWASP MASVS 扫描支持
Apkx-Hunter 现已包含 **OWASP MASVS** 安全扫描,涵盖 **15 个类别**和 **100 个检测模式**:
| # | 类别 | 模式数 |
| :--- | :--- | :--- |
| 1 | 弱加密 | 18 |
| 2 | 证书固定 | 6 |
| 3 | Root 检测 | 7 |
| 4 | 反调试 | 6 |
| 5 | 防篡改 | 4 |
| 6 | SharedPreferences | 9 |
| 7 | SQLite | 3 |
| 8 | 外部存储 | 5 |
| 9 | 动态代码加载 | 3 |
| 10 | 反射 | 2 |
| 11 | 运行时命令执行 | 4 |
| 12 | WebView 安全 | 14 |
| 13 | 网络安全 | 10 |
| 14 | SSL 验证 | 5 |
| 15 | 原生库加载 | 4 |
| | **总计** | **100** |
### OWASP 验证
APKXHunter 已针对 OWASP UnCrackable Level 4 应用程序进行测试。扫描成功识别出多个安全发现,证明了其 OWASP MASVS 扫描引擎和 Android 静态分析能力的有效性。

---
## 功能特性
- **支持 OWASP MASVS** — Apkx-Hunter 现已包含全面的 **OWASP MASVS** 安全扫描,涵盖 **14+ 个类别**和 **100 个检测模式**:
- **JADX 反编译** — 快速和深度反编译模式
- **APKTool 反编译** — 基于 APKTool 的完整反编译和扫描
- **归档文件提取** — 支持 APK、APKM、APKS、XAPK 和 ZIP 格式
- **反编译文件夹扫描** — 扫描任何已反编译的 JADX 源代码目录
- **APKTool 文件夹扫描** — 扫描任何已反编译的 APKTool 目录
- **密钥检测** — 发现 API 密钥、令牌、密码和嵌入的密钥
- **端点发现** — 识别 URL、端点及安全相关模式
- **Android 权限分析** — 分析权限和导出的活动
- **原生(.so)库检测** — 检测应用中捆绑的原生库
- **文件清单生成** — 生成完整的文件清单报告
- **基于机器学习的密钥分类** *(重点功能)* — 对检测到的密钥进行 ML 辅助置信度评分,以加速分类并减少密钥发现中的误报
- **递归多 APK 扫描** — 自动递归扫描多个 APK,用于大规模 Android 应用分析
- **自动包提取** — 自动从 **APKS、APKM、XAPK 和 ZIP** 包格式中提取并分析 APK
- **静默批处理模式** — 在大规模扫描期间提供更简洁的终端输出,同时保留分析结果
- **扫描结束统计** — 显示详细的扫描摘要,包括已扫描的 APK、已分析的文件、检测到的密钥、检测到的模式以及 MASVS 发现
- **增强的命令行界面** — 改进的参数解析、输入验证和用户友好的错误报告
- **改进的框架稳定性** — 增强的错误处理、内存管理和整体框架可靠性
- **Shell 集成** — 新增集成的交互式框架 Shell,支持命令历史、扫描控制和框架级命令
- **代码搜索与调查** — 新增递归源代码搜索,支持文件路径、行号、匹配行及周围代码上下文
- **分类的 MASVS 发现** — 将 MASVS 安全发现组织到专门的类别中,便于分析和报告
- **终端模式下无输出** — 扫描期间不在终端打印任何发现或输出。
机器学习模型
APKXHunter 使用离线机器学习分类器。`model.bin` 仅包含用于计算检测到的密钥置信度评分的已训练数值权重。
它不可执行。
它不包含任何代码。
它仅作为二进制数据加载。
- **离线 ML 推理** — 所有模型推理均在本地运行,无需云 API 或互联网连接
- **置信度概率评分** — 每个检测到的密钥都会从训练模型获得一个置信度概率
---
项目统计
- 语言:C
- 代码库:6,700+ 行
- 架构:模块化
- 平台:Linux
---
## 平台支持
- Linux(支持)
- Windows(不支持)
- macOS(不支持)
---
## 性能
以下结果基于开发期间执行的测试。
| 指标 | 测试值 |
|---------|-------------:|
| 操作系统 | Kali Linux |
| 用于测试的内存 | 8 GB |
| CPU | Intel Core i3-2120 |
| 成功反编译或扫描的最大 APK | 85 MB |
| 平均反编译时间 | ~50 - 60 秒 |
---
## 系统要求
最低要求:
- Linux
- 4 GB 内存
- JADX
- APKTool
- unzip
推荐配置:
- Linux
- 8 GB 或更高内存
- 四核 CPU
- SSD 存储
---
## ML 密钥分类
APKXHunter 集成了一个轻量级的**基于机器学习的密钥分类引擎**,完全用 C 编写,作为其密钥检测工作流的一部分。这是一个统计机器学习模型——不是大型语言模型、ChatGPT、生成式 AI 或深度学习系统。
- APKXHunter 检测到的密钥由集成的机器学习分类引擎进行分析。
- 该模型估计检测到的密钥有效或具有安全敏感性的概率。
- 发现项使用基于置信度的严重性评分进行优先级排序。
- ML 引擎帮助研究人员更快地对发现项进行分诊。
- ML 引擎旨在辅助人工分析,而非取代手动验证。
### 工作原理
1. 检测潜在密钥。
2. 提取统计特征(熵、字符分布、长度、大写/小写比例、数字、符号及其他统计令牌特征)。
3. 加载训练好的模型(`model.bin`)。
4. 执行 ML 推理。
5. 生成置信概率。
6. 将结果呈现给用户进行手动验证。
### 安全说明
所有机器学习推理均在训练好的 `model.bin` 文件上**本地**执行。APKXHunter 不会将扫描数据、检测到的密钥或任何其他分析输出传输到外部——不使用云 API,ML 推理也不需要互联网连接。
### Shell 命令
| 命令 | 用法 |
|---|---|
| `help` | 显示可用命令 |
| `run` | 执行 APKX-Hunter 分析 |
| `clear` | 清空终端 |
| `banner` | 显示 APKX-Hunter 横幅 |
| `exit` | 退出框架 |
| `run search <folder> <string>` | 递归搜索和调查代码 |
| `run <apk_file/folder> [options]` | 运行分析扫描 |
---
## 安装
### Debian / Kali / Ubuntu
安装 Debian 软件包:
```bash
sudo dpkg -i apkx-hunter_3.0.0-1_amd64.deb
```
依赖管理:自动检查并安装 JADX、Apktool、Java 及其他所需工具。
```bash
run install-dependencies
```
## 用法
```
USAGE
run <package/folder> [options] [options]
```
### 通用选项
| 标志 | 描述 |
|------|-------------|
| `help` | 显示帮助信息。 |
---
## 扫描模式
### JADX 的扫描模式
| 标志 | 描述 |
|------|-------------|
| `fast` | 执行快速的 jadx 反编译并扫描提取的文件夹。 |
| `deep` | 执行完整的深度 jadx 反编译并扫描提取的文件夹。 |
> **注意:** 仅在提供 apk 文件名后使用这些标志
**示例:**
```bash
run app.apk fast
```
### APKTool 的扫描模式
| 标志 | 描述 |
|------|-------------|
| `apktool` | 执行 apktool 反编译并扫描提取的文件夹。 |
> **注意:** 仅在提供 apkfile 名称后使用这些标志
**示例:**
```bash
run app.apk apktool
```
## 从文件夹进行多 APK 扫描模式
| 标志 | 描述 |
|------|-------------|
| `multi-apk` | 执行多 APK 反编译并扫描提取的文件夹。 |
> **注意:** 仅在提供 apk_files_folder 名称后使用这些标志
**示例:**
```
run Apks multi-apk
```
## APK 包扫描模式:
| 标志 | 描述 |
|------|-------------|
| `extract-multi-apk` | 提取包(APKS/APKM/XAPK/ZIP)并自动分析每个提取出的 APK。 |
> **注意:** 仅在提供 apk_package_file 名称后使用这些标志
**示例:**
```
run test.apkm extract-multi-apk
```
## 文件夹扫描
| 标志 | 描述 |
|------|-------------|
| `folder-scan` | 扫描已反编译的 JADX 源代码目录或任意目录 |
| `apktool-folder-scan` | 扫描已反编译的 Apktool 目录——仅当扫描由 APKTOOL 反编译的 apk 文件夹时使用此标志。 |
> **注意:** 仅在 folder_name 之后使用这些标志进行扫描
**示例:**
```bash
apkxhunter <folder_name> folder-scan
apkxhunter <folder_name_decompiled_by_apktool> apktool-folder-scan
apkxhunter <folder_name> folder-scan secrets
apkxhunter <folder_name> folder-scan masvs
apkxhunter <folder_name> folder-scan permissions
apkxhunter <folder_name_decompiled_by_apktool> apktool-folder-scan secrets
apkxhunter <folder_name_decompiled_by_apktool> apktool-folder-scan files
```
## 独立扫描器
| 标志 | 描述 |
|------|-------------|
| `secrets` | 扫描 API 密钥、令牌、密码及其他嵌入的机密信息。 |
| `permissions` | 分析 Android 权限或导出的 activity。 |
| `endpoints` | 发现 URL、端点和模式。 |
| `files` | 生成文件清单报告,并提取 .so 名称文件。 |
| `masvs` | OWASP MASVS 扫描。 |
> **注意:** 仅在扫描模式标志或文件夹分析标志之后使用这些标志
**示例:**
```bash
run app.apk deep secrets
run Apks_folder deep multi-apk secrets
run test.apkm extract-multi-apk secrets
run app.apk deep masvs
```
## 代码调查
| 标志 | 描述 |
|------|-------------|
| `search` | 在给定的反编译文件夹或任意文件夹中查找给定字符串,或进行代码调查 |
**示例:**
```bash
run search <Folder_name> <Search String>
```
## 终端模式下无输出
| 标志 | 描述 |
|------|-------------|
| `quiet` | 不在终端打印任何发现或输出。 |
**示例:**
```bash
run <apk> <options> quit\n"
```
## 仅反编译
| 标志 | 描述 |
|------|-------------|
| `decompile` | 使用 JADX 或 APKTOOL 反编译 APK —— 反编译后不运行文件夹扫描 |
> **注意:** 仅在扫描模式标志之后使用这些标志
**示例:**
```bash
run app.apk deep decompile
run app.apk apktool decompile
```
## 归档解压
| 标志 | 描述 |
|------|-------------|
| `extract` | 在分析前解压受支持的 Android 包,并将解压后的 apk 保存到文件夹 `extracted_output_<apk_name>`。 |
**支持的格式:** APK、APKM、APKS、XAPK、ZIP
**示例:**
```bash
run app.apkm extract
```
## 输出目录类型
### JADX 分析:
```bash
Jadx_output_<apk_name>/
Findins Reports:
Result_Jadx_output_<apk_name>/
```
### 文件夹扫描结果:
```bash
Findings Reports:
Folder-Scan_Result_<folder_name>/
```
### APKTool 分析:
```bash
Apktool_output_<apk_name>/
Findings Reports:
Apktool_Result_<apk_name>/
```
### APKTOOL 文件夹扫描结果:
```bash
Findings Reports:
Apktool-folder-scan_Result_<folder_name>/
```
### 归档提取:
```bash
extracted_output_<package_name>/
```
## 输出目录结构:
```bash
Findings
|- secrets_findings.txt -> Embedded API keys, tokens, secrets
|- permissions_findings.txt -> Android permission analysis
|- pattern_findings.txt -> URLs, endpoints and security patterns
|- files.txt -> File inventory report
|- native_library_files.txt -> Detected native (.so) libraries
masvs_findings/
├────crypto_network.txt
│ ├── Weak Cryptography
│ ├── Certificate Pinning
│ ├── Network Security
│ └── SSL Validation
│
├────platform_defense.txt
│ ├── Root Detection
│ ├── Anti Debugging
│ └── Anti Tamper
│
├────data_storage.txt
│ ├── SharedPreferences
│ ├── SQLite
│ └── External Storage
│
├────code_execution.txt
│ ├── Dynamic Code Loading
│ ├── Reflection
│ └── Runtime Command Execution
│
└────web_native.txt
├── WebView Security
└── Native Library Loading
```
## 支持的格式
APK、APKM、APKS、XAPK、ZIP
---
## 下一步是什么?
APKX-Hunter v3.0.0 已正式发布——但开发不会就此止步。
下一个版本已在开发中。
> **APKX-Hunter 即将迎来新内容。**
>
> 暂不透露细节。
>
> **请把下一个版本当作一个惊喜。👀**
更多细节将在合适的时机揭晓。
敬请期待 APKX-Hunter 的下一篇章。
---
## 反馈与支持
APKXHunter 是一个积极维护的开源项目。
如果您:
- 发现了 bug
- 有功能需求
- 想提出改进建议
- 发现了安全问题
- 有文档方面的建议
请提交 GitHub Issue 或直接联系我:
[email protected]
您的反馈有助于为所有人改进 APKXHunter。
---
## 开发与贡献
APKX-Hunter 目前仅由其作者维护。欢迎外部代码贡献
---
## 免责声明
APKXHunter 严格仅用于:
- 教育目的
- 经授权的渗透测试
- 防御性安全研究
用户须自行负责确保在分析任何应用程序之前获得适当授权。未经授权使用本工具针对您不拥有或未获得明确测试许可的应用程序或系统可能构成违法。
## 许可证
APKXHunter 依据 Apache License 2.0 授权。
Copyright © 2026 Devesh Kachhawaha (SyscallX-18113)。