找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

2676

积分

0

好友

386

主题
发表于 12 小时前 | 查看: 0| 回复: 0

一款用于检测 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

安装步骤:

  1. 查看手机 CPU 架构
    连接手机后,执行命令:
    adb shell getprop ro.product.cpu.abi
    • 常见的输出架构有 arm64-v8a (对应 arm64), armeabi-v7a (对应 arm), x86, x86_64
  2. 下载 frida-server
    • 访问 Frida 的官方 Releases 页面。
    • 下载与电脑端 frida-tools 版本相匹配的 frida-server 压缩包。
    • 例如:frida-server-16.x.x-android-arm64.xz

      注意:这里有个常见的版本兼容性问题。电脑端的 Python 环境、fridafrida-tools 的版本需要与手机端的 frida-server 版本一一对应。如果不确定,一个简单的方法是直接在电脑端执行 pip install frida frida-tools 安装最新版,手机端也下载对应版本的最新版 frida-server

  3. 安装并运行
    # 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 &”
  4. 验证安装
    在电脑端运行 frida-ps -U 命令,如果能够成功列出手机上的进程列表,则说明 frida-server 安装并运行成功,动态分析的环境已就绪。

在Android设备上启动frida-server的命令行操作

🚀 使用指南

方式一:GUI 图形界面 (推荐)

这是最直观、最简单的使用方式。直接在项目根目录下运行:

python gui.py

操作流程

  1. 连接手机
    确保手机已通过 USB 线连接电脑,并已开启“开发者选项”和“USB调试”模式。

  2. 加载应用

    • 工具启动后,会自动加载手机上已安装的所有应用列表。
    • 或者,你可以先手动在手机上打开目标 App,然后点击工具界面左侧的 “获取当前运行APP” 按钮,工具会自动定位并选中该应用。

APP隐私合规检测工具主界面与应用列表

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

动态分析进行中,实时捕获网络连接与设备信息读取行为

动态分析日志显示用户操作(点击登录)触发的敏感行为链

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

APP隐私合规检测报告概览页,展示敏感权限与行为分布

详细行为统计表格,列出各类敏感操作的调用次数

动态分析详细日志列表,包含剪贴板读取等具体操作

第三方SDK检测与敏感数据(如硬编码密钥)扫描结果

方式二:命令行模式 (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开发有更多兴趣,欢迎到云栈社区与更多开发者交流探讨。




上一篇:Tmux终极指南:从入门到精通,提升Linux/Mac终端效率
下一篇:阿里开源Qwen3-TTS语音模型:Dual-Track双轨架构,3秒克隆任意音色
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-26 18:44 , Processed in 0.455678 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表