Mac+MuMu 模拟器 + Charles 抓包配置全流程

一、准备工具

  1. 软件

二、步骤 1:MuMu 模拟器基础配置(必须先做)

这一步是解决 "证书推不进去、Root 失败" 的关键!

  1. 打开 MuMu 模拟器,点击顶部菜单栏「设置中心」→「其他」→ 勾选开启 Root 权限 → 保存;
  2. 继续点「设置中心」→「数据」→ 勾选可写系统盘 → 保存后重启模拟器(不重启不生效)

三、步骤 2:生成 Charles 证书并改名(适配安卓系统)

charles-ssl-proxying-certificate.pem 换成你自己的证书名称

安卓系统识别证书需要 "哈希名 +.0后缀",得先给证书改名:

  1. 打开 Charles,点击「Help」→「SSL Proxying」→「Save Charles Root Certificate...」→ 把证书存到桌面;
  1. 打开 Mac 终端,执行命令生成证书哈希(命令执行完复制第一行的字符串,比如81fcbc4a ):

    bash

    运行

    复制代码
    openssl x509 -subject_hash_old -in ~/Desktop/charles-ssl-proxying-certificate.pem
  2. 给证书改名(81fcbc4a换成你生成的哈希 ):

    bash

    运行

    复制代码
    cp ~/Desktop/charles-ssl-proxying-certificate.pem ~/Desktop/81fcbc4a.0

四、步骤 3:用 ADB 把证书推到模拟器系统目录

这一步是 "让模拟器信任 Charles 证书" 的核心:

  1. 终端进入 MuMu 的 ADB 工具目录(复制粘贴直接执行): bash

    运行

    复制代码
    cd /Applications/MuMuPlayer.app/Contents/MacOS/MuMuEmulator.app/Contents/MacOS/tools/
  2. 连接模拟器(把16385换成你步骤 1 记下的 ADB 端口):

    bash

    运行

    复制代码
    ./adb connect 127.0.0.1:16385
    # 验证是否连接成功(显示device说明成功)
    ./adb devices
  3. 获取 Root 权限(解决adbd not running as root):

    bash

    运行

    复制代码
    ./adb -s 127.0.0.1:16385 root
    sleep 2
    ./adb reconnect
  4. 推送证书到系统目录(把81fcbc4a.0换成你改的证书名):

    bash

    运行

    复制代码
    ./adb -s 127.0.0.1:16385 push ~/Desktop/81fcbc4a.0 /system/etc/security/cacerts/
    # 设置证书权限(必须)
    ./adb -s 127.0.0.1:16385 shell "chmod 644 /system/etc/security/cacerts/81fcbc4a.0"

五、步骤 4:配置 Charles + 模拟器代理(解决连接失败)

这一步是 "让模拟器流量走 Charles":

  1. Charles 设置
    • 点击「Proxy」→「Proxy Settings」→ 端口填8888,勾选「Enable HTTP Proxy」;
    • 点击「Proxy」→「SSL Proxying Settings」→ 点「Add」,填*(Host)和443(Port),勾选「Enable SSL Proxying」。
  1. 模拟器代理设置
    • 等 Charles 弹出 "来自 XXX 的连接"(比如10.1.5.57),点击「允许」;
    • 打开 MuMu 模拟器→「设置」→「网络和互联网」→ 编辑当前 WLAN:
      • 代理:手动;
      • 代理主机名:填 Charles 弹窗里的 IP(比如10.1.5.57);
      • 代理端口:8888
      • 保存后重启 APP。

六、测试抓包

打开模拟器里的 APP(比如浏览器访问https://www.baidu.com),Charles 左侧会出现请求,点进去就能看到明文 ------ 成功!

避坑总结(遇到问题先看这里)

  1. 设备找不到 :重启 ADB 服务(./adb kill-server && ./adb start-server);
  2. 证书推不进去:必须开 "可写系统盘 + Root 权限",重启模拟器;
  3. 代理连不上:用 Charles 弹窗里的 IP 配置模拟器代理,别填 127.0.0.1;
  4. HTTPS 乱码:确认 Charles 开了 SSL Proxying,证书哈希名正确。

解决Charles30分钟关闭问题:

弹窗后:

3.框内输入

Registered Name: https://zhile.io

License Key: 48891cf209c6d32bf4

相关推荐
星辰即远方11 小时前
天气预报总结
macos·ios·objective-c·cocoa
xixiaoyunya11 小时前
Mac远程访问新范式:基于80KM穿云箭的内网穿透技术实践
macos
秋雨梧桐叶落莳13 小时前
计算器仿写总结
学习·macos·ios·objective-c·cocoa
寒水馨21 小时前
macOS下载、安装uv-0.12.0(附安装包uv-aarch64-apple-darwin.tar.gz)
python·macos·rust·项目管理·包管理器·astral·pip替代
寒水馨1 天前
macOS下载、安装protobuf-v35.1(附安装包protoc-35.1-osx-universal_binary.zip)
macos·google·grpc·序列化·protobuf·protoc·数据交换
寒水馨1 天前
macOS下载、安装ripgrep-15.2.0(附安装包ripgrep-15.2.0-aarch64-apple-darwin.tar.gz)
macos·正则表达式·rust·ripgrep·rg·命令行搜索·代码搜索
起司喵喵2 天前
Flutter-MacOS桌面OS系统|flutter.+window_manager客户端OS模板
flutter·macos·策略模式
代码对我眨眼睛2 天前
macOS Google Chrome 常用快捷键
前端·chrome·macos
啊真真真2 天前
macOS下libnfc ..写卡失败问题及解决方案
macos·策略模式
叶 落2 天前
Mac 通过 Miniconda 安装 Python
python·macos·conda·miniconda