安卓手机高版本抓包方案

安卓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
执行:

  1. adb push 0dd2455e.0 /sdcard
  2. adb shell
  3. su
  4. 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代理

  1. 找到 vmos 主屏右下角的设置 — 其他设置 — 网络 adb (记录 ip+端口)
  2. 连接vmos: adb connect ip+端口
  3. 打开wlan设置: adb shell am start -a android.intent.action.MAIN -n com.android.settings/.wifi.WifiSettings
  4. 长按 wifi,修改网络,添加代理