1.fiddler抓取其他https教程见 Fiddler如何抓取https请求
2.步骤1中的设置完成后,找到导出的证书,shift+鼠标右键,打开linuxshell
输入 openssl x509 -subject_hash_old -in ./FiddlerRoot.crt
此时若报错unable to load certificate 139861059047872:error:0909006C:PEM routines:get_name:no start line:../crypto/pem/pem_lib.c:745:Expecting: TRUSTED CERTIFICATE,意思是没有BEGIN CERTIFICATE,有的教程会告诉你手动补上,但你去打开文件发现全是乱码,此时需要转换编码格式
双击打开证书文件-详细信息-复制到文件-base64编码X.509,你会发现导出的文件可以使用文本查看工具查看了
3.新签证书
openssl x509 -subject_hash_old -in ./111.cer
这里使用的是转码后的证书
得到269953fb(不同版本可能不同)
openssl x509 -inform DER -text -in FiddlerRoot.cer >269953fb.0
注意此处使用的是转码前的证书,使用转码后的证书导出会报错,导出的证书命名为刚刚得到的269953fb 格式为.0
编辑导出的文件,把文件内容变更一下顺序,如图
4.吧生成的文件导入夜神安装目录bin/下
5.在bin目录下依次执行
adb connect 127.0.0.1:62001
adb push 269953fb.0 /sdcard/
adb shell
su
mount -o remount,rw /system
cp /sdcard/269953fb.0 /system/etc/security/cacerts/
chmod 644 /system/etc/security/cacerts/269953fb. 0
至此,大功告成
#20230616更新
夜神模拟器多开时会遇到连接不上的问题 cannot connect to 127.0.0.1:62001: 由于目标计算机积极拒绝,无法连接。 (10061)
有教程说 重启模拟器,有的说使用sdk中的adb替换夜神中的adb,尝试无果,后来发现是因为多开后导致连接的端口发生了变化
解决办法:
1.adb窗口输入tasklist
2.找到 NoxVMHandle.exe 对应的pid
我这里是34932
运行命令:netstat -ano |findstr 34932
找到62开头的,我这里是62025
使用 adb connect 127.0.0.1:62025 即可成功连上模拟器