android7.0及以上模拟器配置fidder抓包教程

1,配置Android studio自带的模拟器流量从fidder走:

openssl windows下可执行文件下载地址:
https://wiki.openssl.org/index.php/Binaries
http://wiki.overbyte.eu/wiki/index.php/ICS_Download
http://wiki.overbyte.eu/arch/openssl-1.1.1l-win64.zip

openssl x509 -inform der -in d:\fiddler.cer -out d:\fiddler.pem (如果是charles,可以直接导出.pem格式的证书,这行命令可以跳过)
openssl x509 -inform PEM -subject_hash_old -in d:\fiddler.pem (这行命令很重要,不执行会导致证书不对)
在D盘新建一个文本文件 269953fb.0
openssl x509 -inform PEM -text -in d:\fiddler.pem -out d:\269953fb.0

通过以上步骤生成的269953fb.0文件内容顺序不对,需要手动调整里面的内容为:

-----BEGIN CERTIFICATE-----
33JjMUpQZk0znp//ahjhqNUQbJWG6Jly66KHl0Y16jqEKH+jCgT7bCa4wYvVAFxc
/fHXj+1ETfFok/p9ySTAoYqdh967sz34oVgRPzgR1renCeamCHN6QHWrGB/rhoFX
ZQIDAQABo1owWDATBgNVHSUEDDAKBggrBgEFBQcDATASBgNVHRMBAf8ECDAGAQH/
-----END CERTIFICATE-----
Certificate:
Data:

Signature Algorithm: sha256WithRSAEncryption
     c0:be:1f:ed:be:97:af:f0:f4:73:73:a1:29:d9:9d:b3:1e:0a:

也就是说-----BEGIN CERTIFICATE-----在上面, 下面是Certificate:
证书文件里的具体内容可以参考:https://files.cnblogs.com/files/m00219907/269953fb.json

然后通过adb命令把该证书导入到模拟器系统证书目录:
adb push 269953fb.0 /sdcard/temp/269953fb.0
adb root
adb shell avbctl disable-verification(android 10以及以后系统要加这行,去掉验证,其他系统不需要,跳过这行)
adb reboot(android 10以及以后系统要去掉验证后reboot,其他系统不需要,跳过这行)
adb remount
adb shell
su
mv /sdcard/temp/269953fb.0 /system/etc/security/cacerts/269953fb.0
cd /system/etc/security/cacerts
chmod 777 269953fb.0

ps:如果上述命令没有报错则说明已经复制成功了, 文件管理器可能没有按照文件名排序,可以手动搜索下该文件看是否已经存在了

如果是android studio自带的模拟器则需要通过emulater.exe -writable-system -avd 5.1_WVGA_API_28 -no-snapshot-load -qemu这种方式启动模拟器

emulator.exe -list-avds 查看电脑上的模拟器列表
D:>backup\lixing\adb.exe pull /system/etc/security/cacerts/269953fb.0 . 将模拟器上的证书文件通过adb导出到本地(.代表当前目录 D盘根目录)

参考文档:
https://blog.csdn.net/liutianheng654/article/details/101287072
https://blog.csdn.net/qq_34731627/article/details/103266514

posted @ 2020-10-27 12:04  m00219907  阅读(1176)  评论(0编辑  收藏  举报