目录
① 在雷神模拟器4上-设置-开启Root权限和USB权限,安装你要自测的app。
② 安装python3 (或最新版本)
③ window安装frida-server
④ 安装手机使用的frida文件并运行起来
⑤ 下载camille【Hook工具】
注意事项
通常,需要这种需求的情况就是因为XXXX应用获取了XXX隐私或申请了XXX隐私权限导致拒审。
然后呢,我们就要去查到底是哪里获取了或申请了隐私的东西,这就很头疼,因为有很多第三方库也可能会偷偷地获取和申请隐私的东西,你很难一下全部搜出来,因此有了这篇文章(网上也有)
工具:frida-server + camille
windows系统打开cmd,执行
pip install frida
pip install frida-tools
检查是否成功完成 //列出已经安装的指定包
pip list|find "frida"
如果有frida和frida-tools名字,代表安装完毕
直接用pip install frida 是安装最新版本15.2.2,此处window环境上配置frida完毕。
frida版本:15.2.2 (手机上也要安装一样版本的frida)
可能报错:
需要配置环境变量:
C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Scripts
总之找到pip.exe或pip3.exe所在的目录,配置到环境变量。
Releases · frida/frida · GitHub
下载解压后,到一个文件夹,例如: E:\frida\frida-server-15.2.2-android-x86
打开cmd,执行如下命令:
adb connect 127.0.0.1:5555 //5555是雷神端口号(如果变了要改)
adb devices //查看是否连上
adb push E:/你的frida.x86文件 /data/local/tmp
adb shell //进入雷神模拟器环境执行命令
su //开启管理者权限命令
cd /data/local/tmp
chmod 777 你的frida.x86文件名 //开放全部读写改权限
./你的frida.x86文件名
//此时成功后会卡在这,不要退出cmd窗体。
至此,完成了雷神模拟器安装和运行frida(注意,frida版本号要和window安装的一致!)
GitHub - zhengjim/camille: 基于Frida的Android App隐私合规检测辅助工具
自测工具是一个python工程
打开一个新的cmd窗体【不要关掉前面你已经打开的cmd窗体】,执行命令之前雷神模拟器4要运行你要测试的安卓程序(游戏app),然后cmd窗体执行如下命令:
cd E:\Android\camille-master
python camille.py com.xxx.yyy
com.xxx.yyy是应用签名, E:\Android\camille-master是camille.py文件所在目录路径
完成后类似如上打印即可,如果失败了,说明可能是frida的版本不一致导致。你不要学我也下载15.2.2版本,基本都是安卓对应上window版本,用 pip list|find "frida" 命令去检查window上的frida版本,接着去下载对应的frida-server-xx.x.x-android-x86.xz。
frida-server是frida服务名,android-x86是安卓侧服务 x86架构,如果你想在真机上测试,可能就不是x86架构,要去查询出自己真机的架构是什么。一般都会是arm64吧,模拟器一般是x86或x86_64。
架构查看命令:cmd执行,下面的命令必须adb connect上设备之后才生效!
adb shell getprop ro.product.cpu.abi
一定要开启Root权限 雷神模拟器4 设置界面
至此完成整个自测过程,运行游戏时能检查所有隐私权限或信息获取的日志,然后你就能快速定位代码去处理它,其实处理才是很有难度的事情,这个自测是比较简单的。
1、window和安卓运行的frida-server版本号需一致。
2、frida-server的架构型号需匹配测试设备的架构型号。
3、测试设备必须开启Root权限
4、执行camille.py前必须运行测试程序(app程序)
5、python版号可能也要匹配frida-server版本号(暂时不清楚它们之间的关系,百度吧,如果不行那就下载最新的python版本,用最新的frida-server版本进行测试)