如何使用 Proxyman 和 Magisk 抓取 Android API 36 Google Play 模拟器的 HTTPS 流量?

如何使用 Proxyman 和 Magisk 抓取 Android API 36 Google Play 模拟器的 HTTPS 流量? 的封面图

本教程将介绍如何使用 Proxyman 和 Magisk,从 Android 16 API 36 Google Play 模拟器 中抓取并解密 HTTPS 流量。

问题所在

Android Studio 提供两种常见的模拟器系统镜像:

  • Google APIs 系统镜像:支持普通的 adb root 命令,但不包含 Google Play 商店。
  • Google Play 系统镜像:包含 Play 商店,但不允许普通的 adb root 命令。

要解密所有应用的 HTTPS 流量,Proxyman 需要将其证书安装到 Android 系统证书存储中。在 Google Play 模拟器上,常规设置无法获得 Root 权限,也无法将证书复制到系统存储中。

结果是:

  • Proxyman 可以抓取 HTTP 流量,但 HTTPS 流量仍然是加密的。
  • 部分应用可能会显示 SSL 或证书错误。
  • 从 Google Play 安装的应用可能不信任 Proxyman 证书。

你可以手动使用 Magisk 为模拟器获取 Root 权限,但设置过程很复杂。你需要下载 Magisk、修补模拟器的 ramdisk、使用修补后的镜像启动模拟器、配置 Root 权限、安装证书,并在完成后还原所有内容。步骤繁多,很容易出错。

Proxyman 6.14.0 为 Google Play 模拟器新增了 Magisk 选项。现在,你只需点击几下,就能在 Android Emulator Guide 中完成设置。

本教程将实现以下目标:

  • ✅ 一键覆盖 Google Play 商店模拟器
  • ✅ 自动使用最新支持的 Magisk 版本为模拟器获取 Root 权限
  • ✅ 抓取从 Google Play 安装的应用的 HTTP 和 HTTPS 流量
  • ✅ 使用 Android 16 API 36 Google Play 模拟器
  • ✅ 让 Proxyman 自动设置 HTTP 代理,并将证书安装到系统证书存储中
  • ✅ 无需修改 Android 应用代码

前提条件

  • Proxyman macOS 6.14.0 或更高版本
  • Android Studio
  • Android Debug Bridge(adb)
  • 一个带有 Google Play 系统镜像的 Android 16 API 36 模拟器

1. 设置 Proxyman

  1. 从 Proxyman 官网 下载最新版 Proxyman macOS 应用。
  2. 打开 Proxyman。
  3. 前往 Certificate -> Install Certificate on this Mac。
  4. 按照指引安装并信任 Proxyman 证书。
  5. 确保可以看到绿色的 Installed & Trusted 状态。
在 macOS 上安装并信任 Proxyman 证书
在 macOS 上安装并信任 Proxyman 证书

2. 创建 Android API 36 Google Play 模拟器

  1. 打开 Android Studio。
  2. 打开 Device Manager,创建一个新的虚拟设备。
  3. 选择一款 Pixel 设备。
  4. 选择 Android 16, API 36 以及 Google Play 系统镜像。
  5. 完成设置并启动模拟器。

这次请务必选择 Google Play 系统镜像。模拟器中将提供 Play 商店应用。

在 Android Studio Device Manager 中选择 Google Play 商店系统镜像
在 Android Studio Device Manager 中选择 Google Play 商店系统镜像

3. 在 Proxyman 中启用 Magisk 选项

  1. 保持 Android 模拟器处于打开状态。
  2. 在 Proxyman 中,前往 Certificate -> Install Certificate on Android -> Emulators。
  3. 确保 Proxyman 能够找到你的模拟器。
  4. 勾选 Root Google Play Emulators with Magisk。
  5. 点击 Override All Emulators。
在 Proxyman Android 模拟器设置指南中启用 Root Google Play Emulators with Magisk
在 Proxyman Android 模拟器设置指南中启用 Root Google Play Emulators with Magisk

Root Google Play Emulators with Magisk 是这里的关键新步骤。如果不勾选它,Google Play 模拟器将不允许 Proxyman 将证书安装到 Android 系统证书存储中。

随后会打开一个终端窗口。Proxyman 会说明即将进行的更改,并请求你的许可。输入 y 并按回车键继续。

在终端中确认临时 Magisk Root 设置
在终端中确认临时 Magisk Root 设置

该脚本将执行以下操作:

  • 使用 Magisk 临时为 Google Play 模拟器获取 Root 权限
  • 重启模拟器
  • 将其 HTTP 代理设置为 Proxyman
  • 将 Proxyman 证书安装到 Android 系统证书存储中

请等待终端脚本执行完毕,且模拟器重新启动后,再继续操作。

使用 Proxyman 和 Magisk 成功覆盖 Google Play 模拟器
使用 Proxyman 和 Magisk 成功覆盖 Google Play 模拟器

Magisk 的 Root 权限是临时的,但它可能会影响 Play Integrity、Google 应用以及会检测 Root 的应用。请使用测试用模拟器,且不要添加个人账号或敏感数据。

4. 抓取 HTTPS 流量

  1. 在模拟器中打开 Play 商店。
  2. 安装或打开你要测试的应用。
  3. 使用该应用,然后返回 Proxyman。
  4. 现在你可以看到它的 HTTP 和 HTTPS 请求与响应。

如果某个请求仍然是加密的,请在 Proxyman 中选中该请求,并启用 SSL Proxying。然后关闭并重新打开该 Android 应用。

你可以抓取自己开发的 Android 应用、Google Chrome、YouTube,以及许多从 Google Play 安装的其他应用的流量。

部分应用使用了 SSL Pinning。安装 Proxyman 证书无法绕过 SSL Pinning。请只检查你有权测试的应用和流量。

5. 还原模拟器

测试完成后:

  1. 再次在 Proxyman 中打开 Android Emulator Guide。
  2. 点击 Revert All Changes。
  3. 在终端中确认该操作。
  4. 等待模拟器以其原始系统镜像重新启动。

这会移除临时的 Magisk Root 权限,并清除代理设置。关闭 Proxyman 之前,请务必先还原更改。否则,模拟器可能无法访问互联网。

故障排查

Proxyman 找不到模拟器

在终端中运行 adb devices,确认模拟器以 emulator-#### 设备的形式显示。如果没有显示,请重启 Android Studio 和模拟器。

Magisk 脚本没有执行完成

打开 Android Studio 的 Device Manager,使用 Cold Boot Now,等待 Android 启动后再重试。请确保使用的是 Android Studio 官方提供的 Google Play 系统镜像。

启用 Magisk 后应用停止工作

该应用可能会检测 Root 或 Play Integrity。请点击 Revert All Changes,然后使用支持已 Root 模拟器的应用进行测试。

接下来


Proxyman 是一款高性能的 macOS 应用,可帮助开发者抓取并查看来自 Android 设备、Android 模拟器、iOS 设备、iOS 模拟器和网页浏览器的 HTTP、HTTPS 和 WebSocket 流量。

前往 https://proxyman.com 获取。

Noah Tran
Noah Tran

在 Google Play 模拟器中抓取 HTTPS 流量

让 Proxyman 自动设置代理,使用 Magisk 临时为模拟器获取 Root 权限,并为你安装证书。

下载 Proxyman