不能抓包的原因
Android7.0 之后默认不信任用户添加到系统的CA证书:
To provide a more consistent and more secure experience across the Android ecosystem, beginning with Android Nougat, compatible devices trust only the standardized system CAs maintained in AOSP.(文档链接)
也就是说对基于 SDK24 及以上的APP来说,即使你在手机上安装了抓包工具的证书也无法抓取 https 请求
解决方案:
一、官方解决方案(需修改APP代码,so 没什么鬼用......)
二、将抓包软件的证书安装成系统证书(需ROOT)
1、root手机 (小米root教程)
3、将charles证书保存到电脑上(重命名成getssl.crt)
WX20191224-155137@2x.png
4、 依次执行以下命令
openssl x509 -inform PEM -subject_hash_old -in getssl.crt | head -1 //得到类似字符串:f8ccc956
cat getssl.crt > f8ccc956.0
openssl x509 -inform PEM -text -in getssl.crt -out /dev/null >> f8ccc956.0
adb push /Users/lianwu/Documents/f8ccc956.0 /system