安卓手机高版本抓包方案
安卓7.0以后,每个应用可以自定义可信 CA 集,默认情况下,应用只会信任系统级的证书,不再信任用户级的证书。通过Fiddler/Charles安装的证书属于用户级的证书,因此会被视作不安全的证书,导致无法正常抓包
解决方案
修改APP配置文件允许信任用户证书,但前提是可以获取到APP的源码
将证书安装到系统证书中,但需要root权限
安装好用户证书,系统已root,安装re文件管理器,使用re文件管理器将证书移动到系统证书文件夹
用户证书路径:/data/misc/user/0/cacerts-added/<证书Hash值>.编号
系统证书路径:/system/etc/security/cacerts
方法1: 使用adb连接
Copy
执行:
- adb push 0dd2455e.0 /sdcard
- adb shell
- su
- mount -o remount,rw /system
#mount -o rw,remount /system
5. cp /sdcard/0dd2455e.0 /system/etc/security/cacerts/
6. chmod 644 /system/etc/security/cacerts/0dd2455e.0
使用第三方文件管理器(推荐)
下载酷安市场app –> 分别搜索 Syslock 和 RE管理器 并下载安装(其他应用市场下载也可以)
给 Syslock 和 RE管理器 root权限(以小米为例:安全中心–>应用管理–>权限–>ROOT权限管理–>找到应用并开启)
打开Syslock并解锁 /system (每次重启后都得开启一次)
将文件拷贝至手机中
使用RE管理器将文件拷贝到 /system/etc/security/cacerts 下
修改文件权限
到此然后重启手机。就可以正常抓https数据包了。
也可以到手机 设置->安全->信任凭据–>系统 查看。
安卓模拟器(兼容性差,很多应用闪退)
安卓虚拟机 VMOS,官网: http://www.vmos.cn/,该方案相对简单
vmos 设置wifi代理
- 找到 vmos 主屏右下角的设置 — 其他设置 — 网络 adb (记录 ip+端口)
- 连接vmos:
adb connect ip+端口
- 打开wlan设置:
adb shell am start -a android.intent.action.MAIN -n com.android.settings/.wifi.WifiSettings
- 长按 wifi,修改网络,添加代理