Android 7.0 Charles 抓取 HTTPS 报文

  1. 下载 charles 工具 https://www.charlesproxy.com/ 并安装
  2. 打开 charles 后,网页打开 'chls.pro/ssl' 下载证书
  3. 命令 'openssl x509 -subject_hash_old -in <Certificate_File>' 得到更改后的名字,示例 75b835b6.0
  4. 将 75b835b6.0 文件挂载到 Android '/system/etc/security/cacerts/' 目录下并赋予权限
adb push 75b835b6.0 /sdcard/
adb shell 
su
mount -o rw,remount /system
cd /system/etc/security/cacerts/
cp /sdcard/75b835b6.0 ./
chmod 644 75b835b6.0
reboot

重启手机后,可在设置 -> 安全 -> 信任的凭据 找到 Charles 的证书

  1. 手机和 PC 连接到同一网络,在 PC Charles 内 'Help -> Local IP Address' 查看 PC 的 IP 地址
  2. PC Charles 内 'Proxy -> Proxy Settings' 查看端口
  3. PC Charles 内 'Help -> SSL Proxying -> Install Charles Root Certificate' 安装证书
  4. PC Charles 内 'Proxy -> SSL Proxying Settings -> SSL Proxying -> Add' 填写 port 443 ,点 OK
  5. 抓包

参考连接:
https://mp.weixin.qq.com/s/kqMUbHl59V75w8xBxHbXkA
https://juejin.im/post/6844903775086313480
https://stackoverflow.com/questions/25477424/adb-shell-su-works-but-adb-root-does-not
https://www.cnblogs.com/jeason1997/p/12410537.html

推荐阅读更多精彩内容