一款用于检测 Android 应用隐私合规性的自动化工具,它同时支持静态分析(权限、第三方SDK、敏感词扫描)和动态分析(运行时敏感行为监控)。该工具提供了友好的图形界面(GUI),并能生成专业、详尽的 HTML 检测报告。
🛠️ 环境准备
在运行此工具前,请确保您的环境满足以下要求。
1. 电脑端环境
- 操作系统:Windows
- Python:建议使用 Python 3.10 或更高版本。
- ADB 工具:确保已安装 Android Debug Bridge (ADB) 并将其配置到系统环境变量中。
- 验证方法:在终端中运行
adb version,若能正常显示版本号则配置成功。
2. 依赖安装
克隆或下载项目源码后,在项目的根目录下执行以下命令来安装所需的 Python 依赖包:
pip install -r requirements.txt
3. 手机端环境 (仅动态分析需要)
若要使用强大的动态分析功能,你需要一台已获取 Root 权限的 Android 真机或模拟器,并在其上安装 frida-server。
安装步骤:
- 查看手机 CPU 架构
连接手机后,执行命令:
adb shell getprop ro.product.cpu.abi
- 常见的输出架构有
arm64-v8a (对应 arm64), armeabi-v7a (对应 arm), x86, x86_64。
- 下载 frida-server
- 访问 Frida 的官方 Releases 页面。
- 下载与电脑端
frida-tools 版本相匹配的 frida-server 压缩包。
- 例如:
frida-server-16.x.x-android-arm64.xz。
注意:这里有个常见的版本兼容性问题。电脑端的 Python 环境、frida、frida-tools 的版本需要与手机端的 frida-server 版本一一对应。如果不确定,一个简单的方法是直接在电脑端执行 pip install frida frida-tools 安装最新版,手机端也下载对应版本的最新版 frida-server。
- 安装并运行
# 1. 解压下载的文件(如果已解压则跳过)
# 2. 推送到手机临时目录
adb push frida-server-xx.x.x-android-arm64 /data/local/tmp/frida-server
# 3. 添加执行权限
adb shell “chmod 755 /data/local/tmp/frida-server”
# 4. 启动服务 (建议在单独的终端窗口运行,或使用 nohup 后台运行)
adb shell “/data/local/tmp/frida-server &”
- 验证安装
在电脑端运行 frida-ps -U 命令,如果能够成功列出手机上的进程列表,则说明 frida-server 安装并运行成功,动态分析的环境已就绪。

🚀 使用指南
方式一:GUI 图形界面 (推荐)
这是最直观、最简单的使用方式。直接在项目根目录下运行:
python gui.py
操作流程
-
连接手机
确保手机已通过 USB 线连接电脑,并已开启“开发者选项”和“USB调试”模式。
-
加载应用
- 工具启动后,会自动加载手机上已安装的所有应用列表。
- 或者,你可以先手动在手机上打开目标 App,然后点击工具界面左侧的 “获取当前运行APP” 按钮,工具会自动定位并选中该应用。

- 开始检测
- 点击界面右上角的 “开始检测” 按钮。
- 自动模式:如果环境一切正常,被选中的 App 会自动重启并进入被监控状态。
- 手动模式:你也可以在手机上手动操作 App,触发各种登录、浏览等业务逻辑,工具会实时捕获并记录对应的敏感行为。这对于进行软件测试和安全评估非常有用。


- 生成报告
- 测试完成后,再次点击按钮(此时按钮已变为“停止检测”)。
- 工具会自动对 APK 进行静态分析,并将动态捕获的日志进行整合,最终生成一份内容全面的 HTML 格式报告。




方式二:命令行模式 (CLI)
此模式适合希望将工具集成到自动化流水线或脚本中的开发者。
# 检测本地 APK 文件 (仅进行静态分析)
python main.py path/to/app.apk
# 检测手机上已安装的应用 (执行静态 + 动态分析)
# -c 指定自定义配置文件
# -o 指定报告输出目录
# --dynamic 开启动态分析
# --duration 设定动态分析时长(秒),设为 0 则表示需手动停止
python main.py com.example.package --dynamic --duration 60
📂 项目结构
了解项目结构有助于你进行二次开发或自定义规则。
gui.py: 图形界面主程序入口。
main.py: 命令行模式主程序入口。
core/: 核心分析逻辑目录,包含静态分析器、动态分析器等。
utils/: 各类工具类,如 ADB 交互、报告生成器等。
config/rules.yaml: 检测规则配置文件,你可以在这里自定义需要扫描的敏感权限、SDK 特征码、敏感词正则表达式等。
templates/: HTML 报告模板文件目录。
reports/: 默认的报告输出目录。
⚠️ 免责声明
本工具设计初衷是用于安全研究、开发自测及企业内部合规自查。请严格遵守相关法律法规,仅对您拥有合法测试权限的应用进行操作。使用者应对其行为承担全部责任。
如果你对移动应用安全、逆向工程或Android开发有更多兴趣,欢迎到云栈社区与更多开发者交流探讨。
|