安卓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抓包(验证后没效果,还是不行)

 

posted @ 2022-06-02 15:12  老海绵  阅读(676)  评论(0编辑  收藏  举报