一、避坑四项
- 不要用某电模拟器,惨烈的教训。尤其是新手朋友。(部分流量走proxifier,但是bp抓不到,最新版bp也抓不到;根目录只读,无法挂载,因为adv还无法更改,太麻烦了)
- 模拟器得要看看是否有adv配置,最好避开这种版本,否则装证书问题太多了。
- burp版本不要太旧,最多比最新的晚一年。(部分流量走proxifier,但是bp抓不到)
- 生成证书的时候,最好先在burp配好代理(这个不一定,只是为了排除玄学问题)
- 夜深模拟器:https://support.yeshen.com/zh-CN/win-release/7052
二、使用模拟器默认WiFi代理的方式
1. 导出证书
安卓7以上不信任用户安装的证书,所以我们需要把证书安装在系统项里。先开启root,安装好证书后,再关闭root。因为现在的app大多在root下,无法运行。
burp导出.der 格式的证书。
注意: 每个电脑最后生成的系统证书虽然hash一样,但是不通用,原因不明。所以还是要根据自己的bp再生成一份导入到手机中
2.生成.0格式
openssl x509 -inform DER -in bp.crt -out bp.pem
openssl x509 -inform PEM -subject_hash_old -in bp.pem|head -1 #得到hash值
mv bp.pem <hash>.0
3.导入手机系统证书目录
adb root
adb remount
adb push 9a5ba575.0 /system/etc/security/cacerts
adb shell chmod 644 /system/etc/security/cacerts/9a5ba575.0
adb shell reboot
这个adb不用单独去安装,直接到模拟器安装目录里,运行cmd更方便。
4.FAQ报错汇总:
如果 adb root 报错 “adbd cannot run as root in production builds”,那么先放到tmp目录
adb push 9a5ba575.0 /data/local/tmp
adb shell
su
# mount -o rw,remount /system # 这个有些手机不用
mv /data/local/tmp/9a5ba575.0 /system/etc/security/cacerts/
chmod 644 /system/etc/security/cacerts/9a5ba575.0
reboot
1、空间不足
mv /data/local/tmp/9a5ba575.0 /system/etc/security/cacerts/ < mv: xwrite: No space left on device
解决方案:删除 /system/app/ 下的一些app
用真机测试时候,bp2022版本还是抓不到包,但是换bp2023版本就能抓到包,原因不明,不过用模拟器就没这个问题,bp2022也能正常抓到。
2、如果这样还不行,再试试关闭防火墙和杀软;
文章引用: