如何将抓包工具Fiddler Everywhere的证书(pem)写入到Android系统内置根证书目录中实现 HTTPS 抓包

        Android 7 之后, 手机系统只信任系统内置的根证书。导入的用户证书无法信任,这样一来, 我们就无法使用fidder 抓包 app 的 HTTPS 请求。这里我将以Fiddler Everywhere 抓包工具为例演示如何将证书写入到Android系统根证书目录下(/system/etc/security/cacerts/)。

环境:

  • Fiddler Everywhere3.4.1

  • 夜神模拟器

  • 虚拟环境Android7(32位)

一、准备工具

  1. 下载 Win32/Win64 OpenSSL,网址http://slproweb.com/download/Win64OpenSSL_Light-3_0_5.msi安装

  2. 下载 适用于 Windows 的 SDK Platform-Tools Android 调试桥 (adb),网址:https://dl.google.com/android/repository/platform-tools-latest-windows.zip

二、从Fiddler Everywhere 导出证书到桌面 (文件名为FiddlerRootCertificate.pem)

从菜单中 view -> Preferences

三、用以下命令得到hash值

openssl x509 -subject_hash_old -in FiddlerRootCertificate.pem

执行以上命令注意openssl程序与文件FiddlerRootCertificate.pem 的位置,我是将FiddlerRootCertificate.pem直接复制到openssl.exe所在目录,然后执行的cmd.这样较方便。

 四、用hash值作为文件名,将FiddlerRootCertificate.pem 重命名为 e5c3944b.0, 注意此处扩展名为数字0

五、开启虚拟机,用adb去连接

 六判断是否为root(默认开启了的)

 注意如果没有root权限,请在虚拟机中勾选,重启,再连接:

 七、将/system部分置于可写入模式 adb remount

  八、把证书文件复制到证书目录下面 adb push e5c3944b.0 /system/etc/security/cacerts/

九、 最后在虚拟机中设置代理,就可以实现 HTTPS 抓包了。

猜你喜欢

转载自blog.csdn.net/chinagaobo/article/details/127397545