App隐私合规检测
1、检测的原理
1)静态检测
不运行 App 的前提下,直接对 APK 包(或源代码)进行反编译,分析其代码结构和隐私相关 API 调用。例如:
- 敏感API:是否调用了获取设备信息(如 IMEI、MAC、定位等)的 API;
- 安装包/SDK:如,是否使用了第三方 SDK,及其数据收集行为;
- 权限清单:权限申请(Manifest 文件中声明的权限)与实际用途是否匹配。
2)动态检测
在模拟器或真机环境中运行 App,通过流量抓包、系统监控、以及模拟UI点击等方式,观察 App 实际的运行行为。
例如:
- 实际采集了哪些个人信息;
- 是否将信息明文或未加密传输;
- 是否存在数据频繁上传至境外服务器等。
3)什么是hook
动态检测中,通过“钩住”某些系统函数或 App 内部函数,在这些函数被调用前/后执行我们自定义的逻辑,从而实现:
- 拦截函数调用;
- 查看函数调用的参数和返回值;
- 修改调用行为或结果。
简单说,Hook 就像在 App 原本的函数里“偷偷加一段代码”,你可以监视、篡改或记录它的行为。
frida、Xposed 都是常见的hook工具。
2、开源方案
frida +hook+python+js:https://github.com/zhengjim/camille
https://juejin.cn/post/7087584184222351373
Asm:https://github.com/allenymt/PrivacySentry
https://juejin.cn/post/7075516981620785182
Xopose:https://github.com/ChenJunsen/Hegui3.0
https://blog.csdn.net/cjs1534717040/article/details/118731361
3、商业产品调研
百度:史宾格
360:加固宝
梆梆安全
4、方案实践
选择方案 :frida +hook+python+js:https://github.com/zhengjim/camille
1)、安装frida
需要在PC端安装frida客户端,通过USB连接手机(root后)后在手机端安装frida-server端,通过在PC端对手机进行调试。
PC侧客户端安装:通过python pip安装

手机终端侧安装:
下载和客户端一样版本的server端,通过adb命令(mac通过homebrew安装)push到手机上:
adb **push** 本地frida-server文件路径 /data/**local/**tmp/
安装好后,启动server端:

adb查看手机包名:adb shell pm list packages
筛选:adb shell pm list packages | grep xx
2)、运行脚本
userModule函数中封装了对app各类隐私行为的检测,按需去掉注释即可:

控制台运行结果:

本文来自博客园,作者:人间修行,转载请注明原文链接:https://www.cnblogs.com/ffx1/p/16948467.html

浙公网安备 33010602011771号