安卓7以上模拟器抓包配置
部分内容引自 https://blog.csdn.net/weixin_49859373/article/details/124221279
Android从7.0开始系统不在信任用户CA证书,造成使用模拟器无法抓包,解决方案如下
1、导出fiddle证书
2、使用OpenSSL将FiddlerRoot证书有cer格式转换成 pem格式并计算哈希值(可通过linux环境来进行操作这步)
1)将fiddlerRoot证书放置到linux服务器中
2)使用OpenSSL将FiddlerRoot证书有cer格式转换成 pem格式
openssl x509 -inform DER -in FiddlerRoot.cer -out cacert.pem
3)计算pem证书hash值-截取下图中箭头指向的269953fb即可
openssl x509 -inform PEM -subject_hash_old -in cacert.pem
4)将cacert.pem文件更名为269953fb.0
3、将证书放置到安卓模拟器中(在操作前一定要保证手机or模拟器已经开启了root)
1)先将证书放入安卓模拟器用户证书目录一份(目录:主目录/Pictures/res/)
2)将证书复制一份到系统证书目录(目录:根目录/etc/security/cacerts/)
adb shell
mount -o rw,remount/system
cp 269953fb.0 /system/etc/security/cacerts
注:如果遇到无法拷贝的情况,请将根目录的挂载开关打开
3)查看adb连接状态
进入安卓模拟器的安装目录中,可执行adb命令
adb devices
4)建立adb连接
adb connect 127.0.0.1:62001
5)赋予权限
我们需要将我们添加到系统证书内.0赋予读写权限
# 进入模拟器shell命令行 adb -s 127.0.0.1:62001 shell # 首先要给外层根目录中的system赋予权限 mount -o remount -rw /system # 切换到系统证书目录 cd system/etc/security/cacerts # 给证书赋予权限 chmod 644 269953fb.0
最后我们需要在把最外层system的权限改回去
cd ../../../..
mount -o remount -ro system
4、fiddle抓包(验证后没效果,还是不行)