filler无法抓取部分app的解决方案及方案中的证书问题

filler无法抓取部分app的解决方案请参考:https://www.cnblogs.com/lulianqi/p/11380794.html
本文主要介绍方案中的证书问题
安卓7.0及以上系统对于证书的安全策略做了修改,用户证书只能用于代理浏览器的流量,而应用是不会信任这些证书。【ios和安卓<7.0的版本没有此问题】
  解决方案:
    1、root手机将证书导入到根证书目录下
    2、换低版本安卓系统
操作流程
  1、导出并转换Burp CA
  以DER格式导出CA证书。我将它保存为cacert.der
  将DER转为PEM格式证书,并且文件名为subject_hash_old值并以.0结尾。
  当OpenSSL 版本<1.0时,文件名为subject_hash。(openssl-linux系统自带)
  使用openssl将DER转换成PEM,然后输出subject_hash_old并重命名该文件:
  openssl x509 -inform DER -in cacert.der -out cacert.pem
  openssl x509 -inform PEM -subject_hash_old -in cacert.pem |head -1
mv cacert.pem .0
(如果不需要转换证书直接执行
openssl x509 -inform der -subject_hash_old -in XXX.der |head -1获取证书hash值即可
openssl x509 -inform der -subject_hash_old -in XXX.cer -noout 这个方法也可以

  2、将证书复制到设备
    我们可以使用adb来复制证书,网上说的用adb root切换到root用户进行操作(这种方式可能会不可用)---->可能会遇到这个问题adbd cannot run as root in production builds,这个问题的解决又是很费劲,所以直接改变成如下方法
    adb root
    adb remount
    adb push .0 /sdcard/

改为如下方式:
1.root手机
2.数据线连接手机
3.adb shell
4.su ---->提示符变为#说明进入root级别下
5.mount -o rw,remount /system
 进入adb shell将文件移动到/system/etc/security/cacerts,并将文件权限修改为644
6.mv /XXX/XXX/.0 /system/etc/security/cacerts
7.chmod 644 /system/etc/security/cacerts/.0
reboot重启设备
8.reboot
备注:可能遇到的问题
(1)remount of /system failed: Read-only file问题
解决方法:mount -o rw,remount /system —>以可读可写的方式重新挂载一下/system

你可能感兴趣的:(fiddler)