
Apkx-Hunter v2.7.2
基于C语言的Android静态分析框架,用于反编译、密钥检测、端点发现、权限分析以及原生库扫描,并具备机器学习辅助的密钥分类功能。
APKX-Hunter v2.7.2 — Debian 软件包

APKX-Hunter 是一个完全使用 C 语言编写的开源 Android 静态分析框架,专为 Android 安全评估、逆向工程、恶意软件分析、OWASP MASVS 合规性扫描、漏洞赏金猎捕和渗透测试而构建。
该框架通过自动提取和分析受支持的 Android 软件包格式(包括 APK、APKS、APKM、XAPK 和 ZIP 归档文件),支持单应用和大规模 Android 应用分析。凭借递归多 APK 扫描和静默批处理模式,APKX-Hunter 旨在高效处理大型 Android 应用集合,同时生成清晰、有序且可操作的结果。
APKX-Hunter 结合了多种静态分析技术——包括反编译、AndroidManifest 分析、权限分析、导出组件检测、端点发现、硬编码密钥检测、云配置发现、原生库检测以及 OWASP MASVS 安全检查——以揭示 Android 应用内部与安全相关的信息。
APKX-Hunter 还集成了一个轻量级的基于机器学习的密钥分类引擎,完全使用 C 语言编写,可自动按置信度和严重性对检测到的密钥进行分类,帮助安全研究人员优先处理高价值发现、减少误报并加速漏洞分类。
每次扫描结束时,APKX-Hunter 都会生成详细的扫描统计信息,包括扫描的 APK 数量、分析的文件数、检测到的密钥数、检测到的模式数以及 MASVS 发现数,为研究人员提供整个安全评估的全面概览。
- GitHub: https://github.com/SyscallX-18113/Apkx-Hunter
- 开发者: SyscallX-18113
- 版本: v2.7.2

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

功能特性
- Linux 与 Debian 集成 — 原生 Debian 软件包(.deb)、系统级安装、桌面应用启动器、应用程序菜单集成、自定义应用图标、自动框架资源安装、内置依赖管理器(--install-dependencies)
- OWASP MASVS 支持 — Apkx-Hunter 现已包含全面的 OWASP MASVS 安全扫描,涵盖 14+ 个类别和 160+ 个检测模式:
- JADX 反编译 — 快速和深度反编译模式
- APKTool 反编译 — 基于 APKTool 的完整反编译和扫描
- 归档提取 — 支持 APK、APKM、APKS、XAPK 和 ZIP 格式
- 反编译文件夹扫描 — 扫描任何已反编译的 JADX 源码目录
- APKTool 文件夹扫描 — 扫描任何已反编译的 APKTool 目录
- 密钥检测 — 发现 API 密钥、令牌、密码和嵌入的密钥
- 端点发现 — 识别 URL、端点以及与安全相关的模式
- Android 权限分析 — 分析权限和导出的 Activity
- 原生(.so)库检测 — 检测应用中捆绑的原生库
- 文件清单生成 — 生成完整的文件清单报告
- 基于机器学习的密钥分类 (重点功能) — 对检测到的密钥进行 ML 辅助置信度评分,以加速分类并减少密钥发现中的误报
- 递归多 APK 扫描 — 递归自动扫描多个 APK,用于大规模 Android 应用分析
- 自动软件包提取 — 从 APKS、APKM、XAPK 和 ZIP 软件包格式中自动提取和分析 APK
- 静默批处理模式 — 大规模扫描期间更简洁的终端输出,同时保留分析结果
- 扫描结束统计 — 显示详细扫描摘要,包括扫描的 APK 数、分析的文件数、检测到的密钥数、检测到的模式数和 MASVS 发现数
- 增强的命令行界面 — 改进的参数解析、输入验证和用户友好的错误报告
- 改进的框架稳定性 — 增强的错误处理、内存管理和整体框架可靠性
机器学习模型
APKXHunter 使用离线机器学习分类器。model.bin 仅包含用于计算检测到的密钥置信度分数的已训练数值权重。
它不可执行。
它不包含任何代码。
它仅作为二进制数据加载。
- 离线 ML 推理 — 所有模型推理均在本地运行,无需云 API 或互联网连接
- 置信度概率评分 — 每个检测到的密钥都会从已训练模型获得置信度概率
项目统计
- 语言:C
- 代码库:5,800+ 行
- 架构:模块化
- 平台:Linux
平台支持
- Linux(支持)
- Windows(不支持)
- macOS(不支持)
性能
以下结果基于开发期间进行的测试。
| 指标 | 测试值 |
|---|---|
| 操作系统 | Kali Linux |
| 测试所用 RAM | 8 GB |
| CPU | Intel Core i3-2120 |
| 成功反编译或扫描的最大 APK | 85 MB |
| 平均反编译时间 | 约 50 - 60 秒 |
系统要求
最低要求:
- Linux
- 4 GB RAM
- JADX
- APKTool
- unzip
推荐配置:
- Linux
- 8 GB RAM 或更高
- 四核 CPU
- SSD 存储
ML 密钥分类
APKXHunter 在其密钥检测工作流程中集成了一个轻量级的基于机器学习的密钥分类引擎,完全使用 C 语言编写。这是一个统计机器学习模型——而非大型语言模型、ChatGPT、生成式 AI 或深度学习系统。
- APKXHunter 检测到的密钥由集成的机器学习分类引擎进行分析。
- 该模型估算检测到的密钥有效或具有安全敏感性的概率。
- 使用基于置信度的严重性评分对发现进行优先级排序。
- ML 引擎帮助研究人员更快地对发现进行分类。
- ML 引擎旨在辅助人工分析,而非取代人工验证。
工作原理
- 检测潜在密钥。
- 提取统计特征(熵、字符分布、长度、大小写字母比例、数字、符号以及其他统计令牌特征)。
- 加载已训练模型(
model.bin)。 - 执行 ML 推理。
- 生成置信度概率。
- 将结果呈现给用户进行人工验证。
安全说明
所有机器学习推理均在已训练的 model.bin 文件上本地执行。APKXHunter 不会将扫描数据、检测到的密钥或任何其他分析输出传输到外部——不使用任何云 API,ML 推理也不需要互联网连接。
安装
Debian / Kali / Ubuntu
安装 Debian 软件包:
sudo dpkg -i apkx-hunter_2.7.2-1_amd64.deb
依赖管理:自动检查并安装 JADX、Apktool、Java 及其他所需工具。
--install-dependencies
使用方法
用法
apkxhunter <软件包/文件夹> [选项] [选项]
常规选项
| 标志 | 说明 |
|---|---|
--help | 显示帮助信息。 |
扫描模式
JADX 扫描模式
| 标志 | 说明 |
|---|---|
--fast | 执行快速 jadx 反编译并扫描提取的文件夹。 |
--deep | 执行完整的深度 jadx 反编译并扫描提取的文件夹。 |
注意: 仅在指定 apk 文件名后使用这些标志
示例:
apkxhunter app.apk --fast
apkxhunter app.apk --deep
APKTool 扫描模式
| 标志 | 说明 |
|---|---|
--apktool | 执行 apktool 反编译并扫描提取的文件夹。 |
注意: 仅在指定 apk 文件名后使用这些标志
示例:
apkxhunter app.apk --apktool
文件夹多 APK 扫描模式
| 标志 | 说明 |
|---|---|
--multi-apk | 执行多 APK 反编译并扫描提取的文件夹。 |
注意: 仅在指定 apk 文件文件夹名后使用这些标志
示例:
apkxhunter Apks --multi-apk
APK 软件包扫描模式:
| 标志 | 说明 |
|---|---|
--extract-multi-apk | 提取软件包(APKS/APKM/XAPK/ZIP)并自动分析每个提取的 APK。 |
注意: 仅在指定 apk 软件包文件名后使用这些标志
示例:
apkxhunter test.apkm --extract-multi-apk
文件夹扫描
| 标志 | 说明 |
|---|---|
--folder-scan | 扫描已反编译的 JADX 源码目录或任何目录 |
--apktool-folder-scan | 扫描已反编译的 Apktool 目录 — 仅将此标志用于扫描由 APKTOOL 反编译的 apk 文件夹。 |
注意: 仅在指定要扫描的文件夹名后使用这些标志
示例:
apkxhunter <文件夹名> --folder-scan
apkxhunter <由_apktool_反编译的文件夹名> --apktool-folder-scan
apkxhunter <文件夹名> --folder-scan --secrets
apkxhunter <文件夹名> --folder-scan --masvs
apkxhunter <文件夹名> --folder-scan --permissions
apkxhunter <由_apktool_反编译的文件夹名> --apktool-folder-scan --secrets
apkxhunter <由_apktool_反编译的文件夹名> --apktool-folder-scan --files
独立扫描器
| 标志 | 说明 |
|---|---|
--secrets | 扫描 API 密钥、令牌、密码和其他嵌入的密钥。 |
--permissions | 分析 Android 权限或导出的 Activity。 |
--endpoints | 发现 URL、端点和模式。 |
--files | 生成文件清单报告并提取 .so 文件名。 |
--masvs | OWASP MASVS 扫描。 |
注意: 仅在扫描模式标志或文件夹分析标志后使用这些标志
示例:
apkxhunter app.apk --deep --secrets
apkxhunter Apks_folder --deep --multi-apk --secrets
apkxhunter test.apkm --extract-multi-apk --secrets
apkxhunter app.apk --deep --masvs
apkxhunter <文件夹名> --folder-scan --secrets
apkxhunter <文件夹名> --folder-scan --permissions
apkxhunter <由_apktool_反编译的文件夹名> --apktool-folder-scan --endpoints
apkxhunter app.apk --deep --files
仅反编译
| 标志 | 说明 |
|---|---|
--decompile | 使用 JADX 或 APKTOOL 反编译 APK — 反编译后不运行文件夹扫描 |
注意: 仅在扫描模式标志后使用这些标志
示例:
apkxhunter app.apk --deep --decompile
apkxhunter app.apk --fast --decompile
apkxhunter app.apk --apktool --decompile
归档提取
| 标志 | 说明 |
|---|---|
--extract | 在分析前提取受支持的 Android 软件包,并将提取的 apk 保存到文件夹 extracted_output_<apk名称>。 |
支持的格式: APK、APKM、APKS、XAPK、ZIP
示例:
apkxhunter app.apkm --extract
输出目录
JADX 分析
Jadx_output_<apk名称>/
发现报告:
Result_Jadx_output_<apk名称>/
|- secrets_findings.txt -> 嵌入的 API 密钥、令牌、密钥
|- permissions.txt -> Android 权限分析
|- pattern_findings.txt -> URL、端点及安全模式
|- files.txt -> 文件清单报告
|- native_library_files.txt -> 检测到的原生(.so)库
|- masvs_findings.txt -> OWASP MASVS 扫描结果
文件夹扫描结果
发现报告:
Folder-scan_Result_<文件夹名>/
|- secrets_findings.txt
|- permissions.txt
|- pattern_findings.txt
|- files.txt
|- native_library_files.txt
|- masvs_findings.txt
APKTool 分析
Apktool_output_<apk名称>/
发现报告:
Apktool_Result_<apk名称>/
|- secrets_findings.txt
|- permissions.txt
|- endpoint_findings.txt
|- files.txt
|- native_library_files.txt
|- masvs_findings.txt
APKTOOL 文件夹扫描结果
发现报告:
Apktool-folder-scan_Result_<文件夹名>/
|- secrets_findings.txt
|- permissions.txt
|- endpoint_findings.txt
|- files.txt
|- native_library_files.txt
|- masvs_findings.txt
归档提取
extracted_output_<软件包名>/
|- 提取的 APK 文件
报告文件
| 文件 | 说明 |
|---|---|
secrets_findings.txt | 嵌入的 API 密钥、令牌、密钥 |
permissions.txt | Android 权限分析 |
pattern_findings.txt | URL、端点及安全模式(JADX / 文件夹扫描输出) |
endpoint_findings.txt | URL、端点及安全模式(APKTool 输出) |
files.txt | 文件清单报告 |
native_library_files.txt | 检测到的原生(.so)库 |
masvs_findings.txt | OWASP MASVS 扫描结果 |
支持的格式
APK、APKM、APKS、XAPK、ZIP
即将推出的功能
下一次更新将专注于使安全发现更准确、更有条理、更具可操作性且更易于分析,同时显著减少不必要的误报。
改进的发现分析
- 按安全类别分别进行 MASVS 分析。
- 改进 MASVS 发现的组织结构。
- 更精确的 MASVS 检测规则。
- 为每个 MASVS 发现提供更好的证据关联。
- 改进的严重性分类。
- 清晰的严重 / 高危 / 中危严重性级别。
- 按安全类别分组发现。
- 逐文件和逐行证据。
- 减少常见非密钥字符串的误报。
- 更好地优先处理高置信度密钥。
- 改进对大型 APK 的可扩展性。
- 更好地处理包含数万个文件的大型项目。
- 额外的错误处理和验证。
- 新的安全检测模式。
反馈与支持
APKXHunter 是一个积极维护的开源项目。
如果您:
- 发现了 Bug
- 有功能请求
- 想提出改进建议
- 发现了安全问题
- 有文档建议
请提交 GitHub Issue 或直接联系我:
您的反馈有助于为所有人改进 APKXHunter。
开发与贡献
APKX-Hunter 目前仅由其作者单独维护。现阶段不接受外部代码贡献。仍然欢迎建议、Bug 报告和安全相关反馈。
免责声明
APKXHunter 严格仅用于:
- 教育目的
- 经授权的渗透测试
- 防御性安全研究
用户全权负责确保在分析任何应用前已获得适当授权。未经授权使用此工具针对您不拥有或未获得明确测试许可的应用或系统可能是非法的。
许可证
APKXHunter 根据 Apache License 2.0 许可。
版权所有 © 2026 Devesh Kachhawaha (SyscallX-18113)。