作者:FloatingGuy 转载请注明出处:https://floatingguy.github.io/


在 Android 上抓 HTTPs 的数据包,即使手动导入了证书还是无法 潇洒的抓包,应为手动导入的证书是用户证书,而不是系统证书。

因为没有 逆向分析 证书管理 apk 的代码,所以我只能推测 用户态证书会被递归检测 CA 颁发机构,如果根证书不是 系统证书中标准 CA 颁发的,那么在设置代理的环境下访问 https 服务就会一直谈窗提醒证书不可信。

正题 – 导入系统证书

1.下载证书 charles.crt

2.push 证书到 /system/etc/security/cacerts/

1
2
3
4
5
6
7
8
#pc 上操作
adb push xx/xx/charles.crt /data/local/tmp
#mobile 上操作
adb shell
su #获取 root
mount -o remount,rw /system
cp /data/local/tmp/charles.crt /system/etc/security/cacerts

3.修改文件权限
chmod 777 /system/etc/security/cacerts/charles.crt

最后 在手机的证书管理工具中查看就 OK 了