最近使用模拟器+burp抓包app流量时,总是出现抓不到包或app上不了网等现象,因此上网查找了一些解决方法,大致得知是由于模拟器(以Mumu模拟器为例)默认所使用的安卓系统版本为安卓7.0以上,而安卓7以上的版本仅信任系统级的证书,因此我们需要把burp的证书安装为系统级别的根证书。另一种直接改系统底层代码的方法也有大佬给出了具体实现步骤,但本人对这块不熟悉,所以选择了较为简单的证书安装方法。
我先把该文件保存为cacert.der
,然后复制到kali里操作(Linux均可以)。使用命令转换一下格式:
openssl x509 -in cacert.der -inform DER -out cacert.pem -outform PEM
得到cacert.pem
,然后再提取hash:
openssl x509 -inform PEM -subject_hash -in cacert.pem
以此证书的hash7bf17d07
为例,将一开始的cacert.der
重命名为7bf17d07.0
(格式为\[hash值\].0
)
cp cacert.der 7bf17d07.0
将7bf17d07.0
复制到安卓设备里,使用adb可直接进行文件操作。
adb push 7bf17d07.0 /system/etc/security/cacerts/ # /system/etc/security/cacerts/为系统证书位置
chmod 644 7bf17d07.0 # 给证书赋权限
至此配置好burp和设备环境可正常抓包。