Android APP隐私合规检测工具Camille安装和使用
一、简介
现如今APP隐私合规十分重要,各监管部门不断开展APP专项治理工作及核查通报,不合规的APP通知整改或直接下架。camille可以hook住Android敏感接口,检测是否第三方SDK调用。根据隐私合规的场景,辅助检查是否符合隐私合规标准。
二、环境准备
准备模拟器(我使用的是夜神模拟器)
PC端安装frida-tools和frida
pip3 install frida-tools
pip3 install frida
安装完成后,查看frida版本
PC端安装Camille
https://github.com/zhengjim/camille
也可以通过本站直接下载
安装模块
pip install -r requirements.txt
python camille.py -h
给夜神模拟器安装frida-server
下载地址
https://github.com/frida/frida/releases
选择系统对应版本,可以使用下面的命令进行查看
nox_adb.exe shell getprop | findstr abi
adb shell getprop ro.product.cpu.abi
我下载的是这个版本
此处提供两个常用的版本
www.xsssql.com/wp-content/uploads/2023/08/frida-server.rar
把下载的.xz文件解压然后使用abd拷贝到模拟器目录/data/local/tmp
nox_adb.exe connect 127.0.0.1:62001
nox_adb.exe devices
nox_adb.exe push D:frida-server-16.1.3-android-x86 /data/local/tmp
重新连接adb执行frida-server-16.1.3-android-x86具体如图:
nox_adb.exe shell
su
cd /data/local/tmp
chmod 777 frida-server-16.1.3-android-x86
./frida-server-16.1.3-android-x86
执行命令进行端口转发
nox_adb.exe forward tcp:27043 tcp:27043
nox_adb.exe forward tcp:27042 tcp:27042
此时可以在开一个终端确认frida-server是否启动成功,执行命令
frida-ps -U
此时可以开一个CMD终端执行
nox_adb.exe devices
如果提示说明adb.exe版本和nox_adb.exe版本不匹配
adb server version (36) doesn't match this client (41); killing...
* daemon started successfully
List of devices attached
原因需要替换D:soft_installNoxbinnox_adb.exe版本和adb.exe一致,可以全盘查找adb.exe并拷贝到D:soft_installNoxbin目录并把拷贝的文件adb.exe文件名修改为nox_adb.exe,重启模拟器先在A终端执行nox_adb.exe connect 127.0.0.1:62001
然后在两个终端执行
adb devices命令,直到两个终端执行后如图所示说明adb.exe版本一致后面不会爆破,否则后面会报错
[*] 2023-08-18 19:44:10 设备环境检测中...
[*] 2023-08-18 19:44:10 读取到 1 个设备:
NUM ID TYPE NAME
0 barebone remote GDB Remote Stub
[*] 2023-08-18 19:44:10 设备ID不存在,请检查
此时可以进行隐私合规检查了
-ns -f test.xlsc:py378python.exe camille.py 包名 -s 127.0.0.1:62001
2、指定设备
python camille.py com.xxx.xxx -s 127.0.0.1:5555
-s:指定连接设备,可通过 adb devices 获取设备 id
3、延迟hook
python camille.py com.xxx.xxx -t 3
-t: hook应用自己的函数或含壳时,建议使用setTimeout并给出适当的延时(1-5s,需要根据不同app进行调整)。以免hook失败。默认不延迟。
4、使用attach
python camille.py -ia 11222(11222为进程ID)
-ia:使用attach hook
假如hook不上,可以使用-ia,指定包名或运行进程ID。 有些包有同名进程,frida会hook失败,需要使用进程ID。
找进程ID,进入安卓运行ps -A | grep com.xxx.xxx
5、选择hook模块
-u: 扫描指定模块。与命令-nu互斥。多个模块用’,'隔开。例如:phone,permission
模块列表:
模块名 | 备注 |
permission | 申请权限 |
phone | 电话、基站 |
system | 系统信息(android/标识/content敏感信息) |
app | 其他app信息 |
location | 位置信息 |
network | getNetwork |
camera | 照相机 |
bluetooth | 蓝牙 |
file | 文件 |
media | 麦克风 |
custom | 用户自定义接口 |
-nu:跳过扫描指定模块。与命令-u互斥。多个模块用’,'隔开。例如:phone,permission 模块列表同上
技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。本文所提供的工具仅用于学习,禁止用于其他!!!
共有 0 条评论