Skip to content

[FEATURE] 希望文档中可以补充一个mitmproxy的捕包脚本 #159

Description

@vx13

近期看到捕包分析功能更新,作为 mitmproxy 爱好者,希望可以简化一下文档中 mitmproxy 的使用流程,遂借助 ai 整理了一个适合 MuMu 12 的一键抓包脚本

脚本和 mitmproxy 12.2.1 打包成一个压缩包,可加入文档,供没有 python 环境的玩家下载使用。
FGO 数据保存工具懒人包 v2.0.zip 链接: https://pan.baidu.com/s/1PFn_IkjabF7_66DuhrGexA?pwd=3xju 提取码: 3xju

工作流程:


第一阶段:启动与说明 (run.bat)

这是用户交互的起点,确保运行环境正确。

  1. 路径定位run.bat 脚本自动进入自身所在文件夹,确保 mitmdump 和脚本能正确被调用。
  2. 前置引导:在控制台打印 MuMu 12 的 Root权限磁盘可写ADB调试 三项关键设置路径。
  3. 引擎加载:调用命令 mitmdump -qs fgo_cap.py 启动静默抓包模式。

第二阶段:环境自动化配置 (load 阶段)

脚本启动后,在拦截流量前会执行一系列自动化检测与配置。

1. 证书自动初始化

  • 检测:检查 ~/.mitmproxy/ 目录下是否有 CA 证书。
  • 生成:若无证书,后台静默启动一个监听 0 端口的 mitmdump 子进程,强行生成证书后立即杀掉进程,避免端口占用

2. 严格路径检索 (ADB)

  • 进程定位:通过 PowerShell 锁定 MuMuNxDevice 进程。
  • 同级查找:设备进程所在的文件夹内寻找 adb.exe,彻底避开系统或其他版本 ADB 的干扰。

3. ADB 握手

  • 连接重置:执行 kill-serverstart-server 确保连接通道干净。
  • 建立连接:连接到模拟器(默认 127.0.0.1:5555)并校验 device 状态。

4. 证书深度比对与推送 (核心逻辑)

  • MD5 计算:读取本地证书 MD5,并与模拟器系统目录 /system/etc/security/cacerts/ 下的文件进行散列值比对。
  • 强制覆盖:若散列值不匹配(证书过期或更新),先执行 rm -f 强删旧证书,再重新推送并赋予 644 权限。

第三阶段:抓包、捕获与自动清理 (response & done)

一切就绪后,脚本进入等待状态。

1. 全局代理配置

  • 动态 IP:自动获取本机局域网 IP。
  • 强制设置:通过 ADB 指令 settings put global http_proxy 强制模拟器流量经过抓包引擎,无需手动修改 Wi-Fi 代理。

2. 流量过滤与提取

  • 特征匹配:监控所有 HTTPS 响应,仅拦截以 _key=toplogin 结尾的请求。
  • 结果处理:将响应体(Base64 编码的登录数据)原样提取并写入 Windows 系统剪贴板

3. 自动引导与退出

  • 成功提示:打印 Chaldea 导入指引[Https抓包]-[导入源数据]-[从剪切板]
  • 环境还原:自动将模拟器代理还原为 :0(关闭状态),确保网络正常。
  • 程序自毁:自动结束 mitmdump 进程,返回 run.bat 等待用户按键结束。

流程总结图

步骤 执行动作 关键技术/路径
1. 启动 显示 MuMu 设置指引 run.bat
2. 证书 无证书时静默后台生成 mitmdump --listen-port 0
3. ADB 锁定 MuMuNxDevice 同级目录 powershell Get-Process
4. 校验 本地 MD5 vs 远程 MD5 adb shell md5sum
5. 推送 强制删除旧证书并更新 rm -f & chmod 644
6. 拦截 匹配 _key=toplogin mitmproxy response
7. 交付 复制到剪贴板并清理代理 clip.exe & http_proxy :0

只要 MuMu 12 按照引导开启了权限,玩家只需双击一次 BAT,再正常登录游戏,即可直接在 Chaldea 中从系统剪切板导入数据。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions