• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Android APP 隐私合规检测Windows、frida、camille、模拟器

武飞扬头像
佳应科技
帮助7

背景

APP隐私合规十分重要,各监管部门不断开展APP专项治理工作及核查通报,不合规的APP通知整改或直接下架。camille可以hook住Android敏感接口,检测是否第三方SDK调用。根据隐私合规的场景,辅助检查是否符合隐私合规标准。

环境搭建

1、安装Python3

camille 是基于Python3环境的,因此我们需要先配置好python3的环境,下载地址

2、MUMU模拟器安装

安装MUMU模拟器,并开启ROOT权限,下载地址

在模拟器上安装你要检查的APK包。

学新通

3、PC安装 frida
pip3 install frida-tools
 
pip3 install frida
 
frida --version
4、PC安装Camille
git clone https://github.com/zhengjim/camille.git
cd camille
pip install -r requirements.txt
python camille.py -h
5、模拟器上安装运行 frida-server

下载frida-server,链接里资源很多,注意下载frida-server开头的文件

学新通

安卓对应系统架构可以通过以下命令查看:

# 连接MuMu模拟器
# 555是MuMu模拟器的默认端口
adb connect 127.0.0.1:7555
 
# 连接成功后进入模拟器的shell
adb shell
 
# 查询系统架构的命令
getprop ro.product.cpu.abi

下载完 frida-server-16.1.3-android-x86_64.xz后右键将其解压将得到一个无后缀的文件,我们将其重命名为frida-server,然后打开一个管理员权限的命令行窗口,执行如下命令推送frida-server到手机

# 链接模拟器
adb connect 127.0.0.1:7555
 
# 推送frida-server到手机
adb push C:/你的路径/frida-server /data/local/frida-server
 
# 进入Shell命令行
adb shell
 
# 进入frida-server目录、修改文件可执行、执行frida-server
cd /data/local/frida-server
chmod 777 frida-server
./frida-server

此时 frida-server 已经启动,不要将此窗口关闭。

6、运行Camille

请确认,合规检测的APK包已安装到模拟器上。

# 进入camille安装目录
cd camille
 
# 启动开始检测、跟踪
# com.xxx.xxx为包名
python camille.py com.xxx.xxx

如果出现以下信息,恭喜你,搭建完成了。

学新通

高级用法

1、输出堆栈信息文件

python camille.py com.xxx.xxx -ns -f test.xls

-ns:不显示日志,默认显示。

-f:保存app行为轨迹(堆栈信息)到execl里,默认不保存。

学新通

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 模块列表同上

参考资料

github.com/frida/frida…
github.com/zhengjim/ca…
zhuanlan.zhihu.com/p/621917291
juejin.cn/post/720809…

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfgkijg
系列文章
更多 icon
同类精品
更多 icon
继续加载