作者:Chancel, 时间:2021 Aug 17, 阅读:81
Fiddler抓包HTTPS需要安装其证书到系统内,对于桌面端操作系统/IOS来说比较容易,都是直接安装到系统内置证书然后选择信任即可
Android7.0之前也较为简单,同样是安装到系统内即可,但7.0之后大部分APP默认不再信任用户证书
Android7.0如果要抓包,方法还是有不少的,这里选择将Fiddler的证书内置到系统中(需要Root权限)
开启adb超级管理员授权后,步骤分为以下几步
操作过程如下
# 首先将Fiddler的cer证书转换成pem证书
➜ openssl x509 -inform der -in FiddlerRoot.cer -out FiddlerRoot.pem
# 制作Android的内置证书(一)
➜ openssl x509 -inform PEM -subject_hash_old -in FiddlerRoot.pem | head -1
e5c3944b
➜ cat FiddlerRoot.pem > e5c3944b.0
➜ openssl x509 -inform PEM -text -in FiddlerRoot.pem -out /dev/null >> e5c3944b.0
# 制作Android的内置证书(二)
➜ openssl x509 -inform PEM -subject_hash -in FiddlerRoot.pem | head -1
82635c12
➜ cat FiddlerRoot.pem > 82635c12.0
➜ openssl x509 -inform PEM -text -in FiddlerRoot.pem -out /dev/null >> 82635c12.0
# 将制作完的2个证书推送到Android的sdcard/中
➜ adb push 82635c12.0 /sdcard/
82635c12.0: 1 file pushed, 0 skipped. 7.6 MB/s (1322 bytes in 0.000s)
➜ adb push e5c3944b.0 /sdcard/
e5c3944b.0: 1 file pushed, 0 skipped. 5.3 MB/s (1322 bytes in 0.000s)
# 使用shell模式并进入Root用户操作Android手机
➜ adb shell
polaris:/ # su
# 挂载system分区,然后复制2张Android证书到系统内部,更改其权限后重启机器
:/ mount -o remount,rw /system
:/ cp /sdcard/e5c3944b.0 /system/etc/security/cacerts/
:/ cp /sdcard/82635c12.0 /system/etc/security/cacerts/
:/ chmod 644 /system/etc/security/cacerts/e5c3944b.0
:/ chmod 644 /system/etc/security/cacerts/82635c12.0
:/ reboot