雷电模拟器4.x,5.x配置Fiddler拦截请求,设置代理

来源:赵克立博客 分类: 服务器 标签:fiddler发布时间:2023-06-06 20:25:07最后更新:2023-06-07 10:50:11浏览:845
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。o_0。
更新时间:
2023-06-07 10:50:11
温馨提示:
学无止境,技术类文章有它的时效性,请留意文章更新时间,如发现内容有误请留言指出,防止别人"踩坑",我会及时更新文章

前言

雷电5.x版本。android为7.1,安卓7对用户自行安装的证书不再信任,所以造成无法抓包。解决方式就是将证书制作成为系统证书。

安装准备:

openssl.exe,cat.exe,head.exe 先打开命令行试下有没有这三个命令,没有的可以安装下git.exe然后打开安装目录,比如:D:\Program Files\Git\usr\bin,这个目录里就有这三个文件,把这个目录加到环境变量中.

安装证书 

打开雷电模拟器的安装目录创建一个fiddlerCert目录,然后创建install.bat文件用来转换并安装证书,打开Fiddler 导出证书到上面创建的目录。

目录结构如下


2306061686054074604174.png

然后在install.bat中写入如下脚本

@echo off
openssl x509 -inform DER -in FiddlerRoot.cer -out fiddler.pem
openssl x509 -inform PEM -subject_hash_old -in fiddler.pem | head -1
cat fiddler.pem > 269953fb.0

"%~dp0../adb" root
"%~dp0../adb" remount
"%~dp0../adb" push "%cd%/269953fb.0" /system/etc/security/cacerts

"%~dp0../adb" shell su -c "chmod 777 /system/etc/security/cacerts/269953fb.0"

rem adb shell settings put global http_proxy 192.168.31.121:8889
pause

如果上面命令没有加环境变量,则可以使用绝对路径

@echo off
"D:\Program Files\Git\usr\bin\openssl.exe" x509 -inform DER -in FiddlerRoot.cer -out fiddler.pem
"D:\Program Files\Git\usr\bin\openssl.exe" x509 -inform PEM -subject_hash_old -in fiddler.pem | "D:\Program Files\Git\usr\bin\head.exe" -1
"D:\Program Files\Git\usr\bin\cat.exe" fiddler.pem > 269953fb.0

"%~dp0../adb" root
"%~dp0../adb" remount
"%~dp0../adb" push "%cd%/269953fb.0" /system/etc/security/cacerts

"%~dp0../adb" shell su -c "chmod 777 /system/etc/security/cacerts/269953fb.0"

rem adb shell settings put global http_proxy 192.168.31.121:8889
pause

上面先是把证书转换成android下能用的格式,然后使用雷电的adb工具上传到模拟器。

重启模拟器后打开,设置->安全->信任的凭据  里面就会有Fiddler的证书

2306061686054261115682.png

设置代理

另外雷电4.x,5.x中有些用户wifi设置代理后会无效,可以使用下面方法解决, 同样在目录中创建一个proxy.bat文件,写入下面代码

"%~dp0../adb" shell settings put global http_proxy 192.168.31.121:8889
pause



微信号:kelicom QQ群:215861553 紧急求助须知
Win32/PHP/JS/Android/Python