APP模拟器抓取https请求
一.安装模拟器(需开启可写系统盘和手机Root权限),图例来自:MuMu 模拟器


二.保存证书到本地(抓包工具Charles)

三.生成证书并推送到模拟器
步骤 1:计算证书哈希(得到 8 位编号)
打开终端直接复制运行(修改自己证书目录):
openssl x509 -inform PEM -subject_hash_old -in /Users/xiyongpeng/Downloads/charles-ssl-proxying-certificate.pem | head -1
执行后会输出一串 8 位字符,比如
9c34924f,记下这个数字。步骤 2:生成带 .0 后缀的系统证书文件
把下面命令里的
9c34924f 替换成你上一步算出的数字,复制执行:openssl x509 -inform PEM -in /Users/xiyongpeng/Downloads/charles-ssl-proxying-certificate.pem -out /Users/xiyongpeng/Downloads/9c34924f.0
步骤 3:进入 MuMu 的 adb 工具目录
cd /Applications/MuMuPlayer.app/Contents/MacOS/MuMuEmulator.app/Contents/MacOS/tools/
步骤 4:重启 adb 服务,获取 root
./adb kill-server
./adb start-server
./adb root
步骤 5:手动挂载 system 分区为可写(替代 adb remount)
./adb shell mount -o remount,rw /system
无报错就是挂载成功。
步骤 6:推送证书到模拟器系统证书目录(完整正确语法)
依旧替换
9c34924f 为你自己算出的哈希:./adb push /Users/xiyongpeng/Downloads/9c34924f.0 /system/etc/security/cacerts/9c34924f.0
步骤 7:修改证书权限(必须执行,否则不生效)
./adb shell chmod 644 /system/etc/security/cacerts/9c34924f.0
步骤 8(可选):把 system 分区恢复只读
./adb shell mount -o remount,ro /system
附:执行过程

最后生效操作
完全关闭 MuMu 模拟器,重新打开,配置模拟器 WiFi 代理为 Charles 地址
10.8.6.10:8888,所有 APP HTTPS 不再报证书错误。
模拟器配置代理,抓包示例:




浙公网安备 33010602011771号