android 7.0之后导入证书解决fiddler等软件无法解析加密报文

背景

7.0之后Android默认不相信用户自己安装的证书,需要程序自己实现是否相信用户证书。在此背景下,fiddler无法抓包https加密的报文,这种情况下解决办法只有两个,一个是不用android7.0以上的设备。。通常模拟器都是6.0目前,所以还可以。还有一个方法就是安装系统的根证书。我们这里就采用的第二个方法。

条件

一台root的手机,这里使用的是nexus6p

方式

1.先从fiddler中下载需要的证书,即在本地8888端口下载即可。我这里下载到的证书名字为:fiddlerRoot.cer

2.得到证书的哈希值:

openssl x509 -inform DER -subject_hash_old -in fiddlerRoot.cer | head -1
得到类似字符串:e5c3944b

(网上看到,如果是crt格式证书,命令为:openssl x509 -inform PEM -subject_hash_old -in CA_Name.crt | head -1)

3.重命名文件,将证书命名为e5c3944b.0

4.拷贝文件到手机存放根证书的目录:我这里不知道为什么直接adb进行root操作不行,所以是先拷贝到sdcard,然后再mv到存放根证书的目录

1)adb push e5c3944b.0 /sdcard/tmp/e5c3944b.0

2)  adb shell

3)  root权限 :su

4)重新挂载system分区为可读写:mount -o rw,remount /system

Android更高版本提示找不到system,直接使用了:

mount -o rw,remount /

成功了

这一步如果失败,执行:

adb root

adb shell avbctl disable-verification

adb reboot

5)  mv /sdcard/tmp/e5c3944b.0 /system/etc/security/cacerts/e5c3944b.0

6)  cd /system/etc/security/cacerts

6)  chmod 644 e5c3944b.0

5.重启设备即可

上述一顿操作之后,就可以实现大多数应用的ssl解密了,还不行的试试xposed插件,justtrustme,可以破解ssl pining

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值