APP抓包问题已经是老生常谈的一个问题了,今天正好碰到这个问题,经过一番折腾最终解决了这个问题。
先解决安卓7手机/模拟器正常抓包问题:
1、先把burp的der证书导出



2、使用opensl对证书进行相应的配置
将der转换成pem,命令如下:
openssl x509 -inform DER -in cacert.der -out cacert.pem

3、查看pem证书的hash值并记录,命令如下:
openssl x509 -inform PEM -subject_hash_old -in cacert.pem |head -1

4、将pem证书改名为“hash值.0”:
mv cacert.pem 9a5ba575.0

5、将证书上传到手机/模拟器:
使用root权限启动
adb root

6、重新安装分区读写:
adb remount

7、把9a5ba575.0证书文件复制到手机/模拟器的系统证书文件夹,并设置644权限,设置完成后重启手机/模拟器: 以下路径与手机/模拟器路径一致(如:/sdcard/Download/9a5ba575.0)
adb shell
mv /sdcard/Download/9a5ba575.0 /system/etc/security/cacerts/
chmod 644 /system/etc/security/cacerts/9a5ba575.0

8、重启完成后查看证书是否为系统级信任证书

至此,安卓7的burp证书已被系统信任(上述演示的模拟器为逍遥模拟器,这个模拟器我也只是偶尔用一下,其他手机/模拟器操作步骤差不多),但是经过以上一顿乱搞后,你会发现抓手机/模拟器浏览器的包时还是会弹出证书的问题,被测APP如果不是证书绑定(SSL Pinning)和双向认证的问题,还是可以正常进行抓包测试的。我安卓7用的少,因为证书问题有点麻烦,基本上都是用安卓5进行测试,除非一些APP只能安卓7以上版本才能运行,才会用到安卓7进行测试。