布洛伯特·麦克普
  
一个MCP服务器,允许LLM播放、检查和理解Game Boy ROM。
加载ROM、按下按钮、读取内存、截图、设置断点、跟踪执行并构建知识库——所有这些都是通过与AI的自然对话完成的。
以Blobert的名字命名 *男孩与软泥* (Game Boy,1990)——一个可以变成你需要的任何工具的伙伴。给布洛伯特一颗软糖,他就会成为你需要的工具。
______________________________________________________________________
这看起来像什么?
一个人和一个人工智能坐在Game Boy ROM上;AI监视机器。
You: "Load Tetris and press Start"
AI: [loads ROM, presses Start, takes screenshot]
"I see the game started. Memory at 0xFFE1 changed — that's probably the game state flag."
You: "What happens when a line is cleared?"
AI: [saves state, plays until line clear, diffs memory]
"12 addresses changed. 0xFF9E decremented — that's the remaining lines counter.
The function at 0x2B4F handles line clearing. I'll name it ClearCompletedLines."
You: "Can you write a Python script to trace all writes to that address?"
AI: [generates and runs a PyBoy hook script]
"Done. Here are the 4 functions that modify the lines counter..."AI 看到屏幕, 读取内存, 控制输入,以及 建立理解 --一次一颗软糖。人类带来了意图、背景和领域知识。他们一起工作比单独工作更快。
______________________________________________________________________
运作原理
┌──────────┐ ┌──────────┐ MCP ┌──────────┐ PyBoy API ┌─────────┐
│ Human │◄────────────►│ Claude / │◄────────────►│ blobert │◄────────────►│ PyBoy │
│ (plays, │ conversation │ any LLM │ tools │ -mcp │ │emulator │
│ observes)│ └──────────┘ │ + KB │ └─────────┘
└──────────┘ └──────────┘- 人 玩游戏,描述他们所看到的,并指导调查
- LLM 调用MCP工具,解释结果,并建立理解
- 布洛伯特·麦克普 将PyBoy包装为MCP工具,并添加持久知识库
- PyBoy 运行Game Boy模拟(无头、快速、Python原生)
这 知识库 在会话之间持续存在——因此AI逐步建立理解,不受任何单一上下文窗口的限制。
______________________________________________________________________
计划工具
就像Blobert随着每种软糖口味的变化而变化一样,每种工具都有不同的用途:
| 类别 | 人工智能将能够做什么 | 状态 |
|---|---|---|
| 仿真 | 加载ROM、前进帧、按下按钮、保存/恢复状态 | 计划 |
| 静态分析 | 反汇编代码,读取ROM字节,查找字节模式,定位字符串 | 计划 |
| 调试 | 设置执行断点、单步执行指令、读/写寄存器 | 计划 |
| 视觉的 | 截图、VRAM磁贴、精灵检查、磁贴地图查看器 | 计划中 |
| 知识库 | 命名函数、定义结构、注释地址、导出符号 | 计划 |
| 硬件 | 银行切换信息、中断状态、定时器/音频/串行状态 | 计划 |
______________________________________________________________________
入门
状态:早期开发。 MCP服务器尚未实现。今天存在的是下面描述的规范、研究和愿景。
一旦核心构建完成,设置将如下:
# Clone and install from source
git clone https://github.com/user/blobert-mcp.git
cd blobert-mcp
uv pip install -e .
# Run the server with your own ROM
uv run blobert-mcp --rom your-game.gb// Claude Desktop config (future)
{
"mcpServers": {
"blobert": {
"command": "uvx",
"args": ["blobert-mcp", "--rom", "your-game.gb"]
}
}
}那就跟克劳德谈谈。让它探索ROM。
注: 您必须提供自己合法获得的ROM文件。本项目不包括或分发任何受版权保护的游戏数据。
______________________________________________________________________
为什么?
现有的工具功能强大——BGB、mgbdis、Ghidra和GhidraBoy——但它们需要深厚的专业知识和巨大的时间投入。 布洛伯特·麦克普 不会取代这些工具或使用它们的人。它为工作台增加了一个新的合作者:一个可以处理大量拆卸的人工智能,识别代码库中的模式,并在人类推动调查的同时维护一个结构化的知识库。
长期愿景: 加速ROM探索,这样任何好奇的人都可以开始了解他们最喜欢的游戏是如何工作的,并通过反编译为保护游戏历史的集体努力做出贡献。
______________________________________________________________________
这与传统的RE工具有何不同
| 传统工作流程 | 使用blobert mcp |
|---|---|
| 打开BGB,手动设置断点,在文本文件中做笔记 | 用自然语言描述你想调查的内容;AI设置断点并自动注释 |
| 手工在反汇编列表中交叉引用内存访问 | 问“这个地址写了什么?”并获得上下文的答案 |
| 在数周/数月内建立游戏逻辑的心理模型 | 知识库在会话中积累理解,可共享和可导出 |
| 需要深入的GB硬件知识才能开始 | 人工智能知道内存映射、寄存器名称和硬件怪癖——它会边做边解释 |
这不是“人工智能取代了逆向工程师”,而是“人工智能让更多的人能够更快地使用逆向工程。”
______________________________________________________________________
状态
早期发育 --这是一个雄心勃勃的开始。
我们有:
我们正在建设:
- \[\]核心MCP服务器(仿真、内存、寄存器、输入)
- \[\]静态分析工具(拆卸、交叉引用)
- \[\]可视化工具(屏幕截图、VRAM、精灵)
- \[\]知识库(注释、函数、结构、导出)
______________________________________________________________________
常见问题解答
我需要拥有ROM吗? 对。这个项目提供的是工具,而不是游戏。您必须提供自己合法获得的ROM文件。
哪个法学硕士最有效? 任何支持MCP工具使用的LLM。克劳德(十四行诗或Opus)因其强大的推理能力和较大的上下文窗口而被推荐。多模式功能(见截图)很重要。
这能自动完全反编译游戏吗? 还没有,这不是V1的目标。V1是一个人与人工智能的协作工作流程。AI提供协助;人类的驱动力。全自动化是一个长期的研究方向。
这与使用Ghidra或IDA有何不同? 这些是专家们强大的独立工具。blobert mcp是一个对话式界面——你描述你想理解的内容,人工智能处理工具编排。将其视为逆向工程领域知识渊博的结对编程合作伙伴。
______________________________________________________________________
贡献
这个项目是仿真、逆向工程和人工智能的交叉点。如果你对其中任何一项感到兴奋,这里都有你的位置。
阅读 期刊 了解我们去过哪里,要去哪里。
贡献方式:
- 试试规格 --阅读 mcp-spec.md 如果有什么不清楚、不可行或缺失,请告诉我们
- 实施工具 --从规范中选择一个P0工具并构建它
- 使用ROM进行测试 --一旦核心存在,就在你最喜欢的游戏上试试,分享你学到的东西
- 打开一个问题 --欢迎提出问题、想法和反馈
______________________________________________________________________
致谢
- PyBoy --Python Game Boy模拟器使这成为可能
- pret社区 --pokered、pokecrystal和其他反编译项目,展示了什么是可能的,并启发了这项工作
- 泛文档 --权威的Game Boy技术参考
- 模型上下文协议 --将LLM连接到工具的协议
______________________________________________________________________
许可证
麻省理工学院
______________________________________________________________________
