基于frida的 Android App 隐私合规检测工具
前期准备
-
安装python3环境
-
安装frida
git仓库:GitHub - frida/frida: Clone this repo to build Frida
因为上一步已经安装了python3,所以可以通过pip之间安装
# 安装frida pip install frida # 安装frida-tools pip install frida-tools # 查看版本,已检验自己是否成功安装 frida --version
从Release Frida 16.1.4 · frida/frida · GitHub下载符合设备cpu和自己安装的frida版本的frida-server
-
安装camille
git仓库:GitHub - zhengjim/camille: 基于Frida的Android App隐私合规检测辅助工具# 下载git仓库 git clone https://github.com/zhengjim/camille.git # 切换到根目录 cd camille # 使用pip命令安装 pip install -r requirements.txt
使用步骤
-
将待测app安装到设备
-
设备打开root权限,虚拟机一般都可以
必须打开root权限,后续才能启动frida服务
# 切换root adb shell su
-
将 frida-server 推送到设备,并启动
# 推送到设备上自行指定的地址 push ./frida-server-16.0.18-android-x86_64 /data/local/tmp # 切换shell模式,root状态,跳转上述目录 adb shell su cd ~/data/local/tmp # 文件授权 chmod 777 frida-server-16.0.18-android-x86_64 # 启动服务 ./frida-server-16.0.18-android-x86_64
-
命令行启动
具体参数请看下载的camille仓库根目录/camille/docs/use.md# 分析xx.apk,结果输出到result.xlsx python .\camille\camille.py 应用包名 -f .\result.xlsx
!!注意:使用 ctrl+c 停止之后,才会创建并写入result.xlsx
常见问题
1.当电脑连接多个设备时,campile总是会初始化失败
如下,我很确定在该设备上是正确安装了Frida,但是就是会初始化失败,把另外两个设备断开就能正常使用。
2.启动服务时找不到script.js文件
script.js
文件在camille项目的根目录下。
如下,我将该文件放在../PrivacyCompliance/camille
目录下,然后在../PrivacyCompliance
目录启动服务,就会报错:
3.没有创建输出文件
需要先 ctrl+c 停止服务之后,才会创建检测结果文件result.xlsx