# PrivacyMaster **Repository Path**: ayn1hs/privacy-master ## Basic Information - **Project Name**: PrivacyMaster - **Description**: 针对Android应用的隐私合规审查工具 - **Primary Language**: Python - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 27 - **Created**: 2025-03-09 - **Last Updated**: 2025-03-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PrivacyMaster #### 介绍 针对Android应用的隐私合规审查工具 #### 软件架构 软件架构说明 #### 编译手册 ##### 需要环境: - python 3.9.2 - 配置UIautomator环境 电脑安装python库UIautomator2 ```bash pip install -U uiautomator2 ``` 测试机中安装atx-agent(确保adb devices已识别测试机) ```bash python -m uiautomator2 init ``` ​ 运行程序前确保atx-agent已启动 - 配置Frida环境(需要测试机已root) 电脑安装python库frida ```bash pip install frida pip install frida-tools ``` ​ 测试机中安装frida-server ​ 1.下载frida-server ​ 根据测试机的CPU版本getprop ro.product.cpu.abi查看)及电脑中安装的frida版本(frida --version查看)下载对应的frida-server,下载地址https://github.com/frida/frida/releases ​ 2.运行frida-server ​ 使用adb push命令将frida-server推送到测试机的/data/local/tmp目录下,chmod修改为777权限,之后运行 ##### 源代码文件说明 1. **代码文件** - test1.py——主程序入口(图形化界面) - main.py——主程序入口(无界面) - MainProcess.py——处理apk的自动化安装、运行、模拟交互、获得应用隐私政策文本的过程 - policyProcess.py——实现从隐私政策文本到声明权限集的映射 - manifestProcess.py——获取apk的申请权限集 - runtimeProcess.py——获取apk的使用权限集,分别调用动静态方法获取使用权限集的模块 - androguardProcess.py——使用静态方法获取使用权限集 - fridaProcess.py——使用动态方法获取使用权限集 - flowProcess.py——流量分析程序 2. **配置文件** - mappings文件夹——存放各API版本下API与权限的映射(其中 [annotations-Mappings.txt](../PycharmProjects/coProject/mappings/API23/annotations-Mappings.txt) 表示从Android系统源码注释中获得的API-权限映射, [docs-Mappings.txt](../PycharmProjects/coProject/mappings/API23/docs-Mappings.txt) 表示从Google文档中获得的API-权限映射) - permissionGroup文件夹——存放各API版本下权限组与权限的映射(从各版本Android系统源码中获取) 3. **输出文件** - screenshot文件夹——存放各测试应用首次打开的界面截图(用于复查应用的隐私政策弹框情况) - output文件夹——存放每个apk的扫描结果,每个APK的扫描结果存放在一个单独的文件夹,扫描结果包括: - policy.txt:系统获取的应用的隐私政策文本 - policy_perm.txt:系统获取的应用的声明权限集 - manifest_perm.txt:系统获取的应用的申请权限集 - runtime_perm_androguard.txt:androguard静态获取的应用的使用权限集 - runtime_perm_frida.txt:frida动态获取的应用的使用权限集 - compare_result.txt:对应用三种隐私不合规行为(过度声明权限、过度申请权限、过度使用权限)的报告 ​ #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)