夜神模拟器 Android9 + Burp Suite 抓取 HTTPS 教程

接上一篇文章:夜神模拟器 Android7.1 + Burp Suite 抓取 HTTPS 教程

本文适用:Windows 10/11,夜神模拟器 v7.0.6.1,Android 9。
核心原理:Android 7.0 之后,APP 默认不信任用户证书,仅信任系统内置 CA。需要将 Burp CA 证书安装到系统证书目录。
Android 9 说明:系统分区有 dm-verity 保护,但夜神模拟器可以直接 mount -o remount,rw /system 重新挂载。

一、Burp Suite 代理配置
  1. 打开 Burp Suite,切换到 Proxy → Options。
  2. 在 Proxy Listeners 点击 Edit 编辑监听配置。
  3. Binding 设置:
    • Bind to port:8080
    • Bind to address:选择 All interfaces

注意:不要选 Loopback only。如果模拟器无法连接,检查 Windows 防火墙是否放行 8080 端口。

二、新建夜神 Android 9 模拟器实例
  1. 打开夜神多开器,新建模拟器,选择 Android 9 版本。
  2. 启动模拟器,进入设置,确认系统版本为 Android 9。
  3. 修改设备型号(可选,用于规避 APP 的模拟器风控检测)。
三、导出 Burp CA 证书
  1. 在电脑浏览器中访问 http://127.0.0.1:8080/。
  2. 点击 CA Certificate,下载证书文件,保存为 cacert.der。
四、计算证书哈希并重命名
  1. 用 OpenSSL 计算证书的哈希值:
openssl x509 -inform DER -in cacert.der -subject_hash_old -noout
五、将证书推送到模拟器

将cacert.der修改为 9a5ba575.0

进入夜神安装目录下的 bin 文件夹(例如 D:\Program Files\Nox\bin),执行:

nox_adb.exe devices
nox_adb.exe push 9a5ba575.0 /sdcard/
说明:nox_adb.exe 是夜神自带的 adb 工具,不需要额外安装 Android SDK。
六、将证书复制到系统证书目录
nox_adb.exe shell
mount -o remount,rw /system
cp /sdcard/9a5ba575.0 /system/etc/security/cacerts/
chmod 644 /system/etc/security/cacerts/9a5ba575.0
reboot

说明:

  • mount -o remount,rw /system 将系统分区重新挂载为可读写;
  • cp 将证书复制到系统证书目录;
  • chmod 644 设置权限为所有者读写、其他只读;
  • reboot 重启模拟器使证书生效。
七、模拟器 WLAN 配置代理
  1. 模拟器设置 → WLAN,长按当前网络(如 VirtWifi),选择【修改网络】。
  2. 高级选项 → 代理:选择 手动。
  3. 代理服务器主机名:填写本机电脑局域网 IP(不要填 127.0.0.1)。
  4. 代理服务器端口:填写 Burp 监听端口 8080,保存配置。
八、验证抓包
  1. 模拟器内置浏览器访问任意 HTTPS 网页。
  2. Burp 的 HTTP history 面板能够抓到 HTTPS 数据包即为成功。
九、常见问题排错
  1. 依旧握手失败:确认证书已复制到 /system/etc/security/cacerts/,且权限为 644。
  2. 浏览器可以抓包,APP 抓不到:大概率是 APP 开启了 SSL Pinning 证书锁定,需要使用 objection / Frida 动态绕过。
  3. 模拟器无法联网:检查 Burp 监听是否为 All interfaces,电脑防火墙放行 8080 端口。
  4. mount -o remount,rw /system 报错:确认模拟器已开启 ROOT 权限。夜神模拟器设置内有 ROOT 开关。
  5. 抓包完成后无法上网:关闭模拟器 WLAN 代理,否则 Burp 关闭后代理端口不通,模拟器无法正常联网。