雷电模拟器 9 (Android 9) 安装 Fiddler5 HTTPS 系统证书教程
准备工作与环境要求
- 抓包工具:Fiddler Classic(建议安装版)
- 插件:
FiddlerCertMaker.exe(官方 BouncyCastle 证书生成引擎) - 模拟器:雷电模拟器 9(开启 ROOT 权限)
- 辅助工具:电脑端 OpenSSL 工具、模拟器端 MT 管理器(用于修改系统目录)
一、 Fiddler5 配置与根证书导出
Android 7.0+ 与 Chromium 内核强制要求证书包含 SAN(Subject Alternative Name)扩展属性 且 有效期不得超过 398 天。Fiddler 默认的引擎不满足此标准,必须切换为 CertMaker.BC 引擎。
- 安装 CertMaker 插件
- 关闭 Fiddler,运行安装
FiddlerCertMaker.exe官方插件。
- 关闭 Fiddler,运行安装
- 切换证书引擎
- 打开 Fiddler,依次点击 Tools -> Options -> HTTPS。
- 点击 Certificate Engine / CertEnroll engine 下拉菜单,选择 **
CertMaker.BC**(或CertMaker)。
- 重置并导出根证书
- 点击右侧 Actions -> Reset Certificates,清空并注销历史过期或旧引擎签发的证书(提示框全部选择 是/Yes)。
- 勾选 Decrypt HTTPS traffic。
- 点击 Actions -> Export Root Certificate to Desktop,在桌面生成
FiddlerRoot.cer文件。
二、 证书格式转换与系统 Hash 计算
Android 系统证书库以 旧版 Subject Hash.0 命名,且仅接受 PEM 编码。
打开电脑端的 PowerShell / Git Bash / 终端,进入桌面目录:
1
cd ~/Desktop
执行 OpenSSL 命令完成格式转换与 Hash 计算:
1
2
3
4
5# 1. 将 DER 格式转换成 PEM 格式
openssl x509 -inform DER -in FiddlerRoot.cer -out FiddlerRoot.pem
# 2. 计算 Android 专用的旧版 Hash 值
openssl x509 -inform PEM -subject_hash_old -in FiddlerRoot.pem -noout终端会输出一个 8 位的字符串(如
263226a2或e5c39441)。将
FiddlerRoot.pem重命名为:**<计算出的Hash>.0**(例如263226a2.0)。
三、 将证书导入雷电 9 系统目录
为了避免雷电模拟器 ADB 5555 端口导致的 adbd 冲突与 offline 问题,推荐直接在模拟器内部使用 MT 管理器 写入系统凭据。
1. 挂载与传输文件
- 在雷电模拟器设置中开启 ROOT 权限(设置 -> 性能设置 -> 勾选“开启 ROOT 权限”),保存并重启模拟器。
- 按快捷键
Ctrl + 5调出雷电共享文件夹,将生成好的<Hash>.0文件粘贴进去。
2. 使用 MT 管理器写入并修改属性
- 在模拟器内打开 MT 管理器,授予其 Root 权限。
- 左侧窗口:定位到共享文件夹(如
/sdcard/Pictures/或/sdcard/Documents/),找到<Hash>.0文件。 - 右侧窗口:定位到 Android 系统证书目录
/system/etc/security/cacerts/。- 若右侧目录只读,点击右上角菜单切换挂载模式为 RW(可读写)。
- 复制文件:长按左侧的
<Hash>.0,将其复制到右侧的/system/etc/security/cacerts/中。 - 修改权限与所有者(关键操作):
- 在右侧系统目录中长按刚刚复制进去的
<Hash>.0文件,点击 属性。 - 权限 修改为:**
644**(即-rw-r--r--)。 - 所有者 修改为:**
root**(或system)。 - 用户组 修改为:**
root**(或system)。
- 在右侧系统目录中长按刚刚复制进去的
四、 重启校验与代理配置
- 重启生效
- 彻底重启雷电 9 模拟器。
- 重启后进入模拟器 设置 -> 安全性与位置信息 -> 加密与凭据 -> 信任的凭据 -> 系统,下滑查找是否存在
DO_NOT_TRUST_FiddlerRoot。如果列出,说明系统证书已信任成功。
- 配置 WiFi 代理
- 打开雷电模拟器 设置 -> Wi-Fi,长按已连接的网络(如
NoxWifi或AndroidWifi),选择 修改网络。 - 高级选项 -> 代理 -> 选择 手动。
- 代理服务器主机名:填入电脑的局域网 IP(如
192.168.x.x)。 - 代理服务器端口:填入 Fiddler 监听端口(默认
8888)。
- 打开雷电模拟器 设置 -> Wi-Fi,长按已连接的网络(如
- 开始抓包
- 使用模拟器浏览器打开
[https://www.baidu.com](https://www.baidu.com),确认可以顺畅加载且不弹出“证书无效”警告,Fiddler 即可抓取 HTTPS 明文包。
- 使用模拟器浏览器打开