C64逆向工程MCP
C64RE MCP是一个以项目为中心的逆向工程工作台,用于 Commodore 64软件。它结合了确定性提取工具 持久知识层、LLM工作流契约、工作区UI、VICE 集成和TypeScript无头C64/1541运行时。
无头运行时很重要,但它是更大系统的一个子系统 C64RE项目。该项目的目标不仅仅是启动软件。目标是 转动磁盘、墨盒、PRG、痕迹、屏幕截图、拆卸和 LLM的研究成果转化为跨课程的持久项目知识。
它的作用
- 通过确定性工具分析PRG、CRT、D64和G64输入
- 发出并验证反汇编/源工件
- 将语义知识存储为实体、发现、关系、流,
任务、开放式问题和已注册工件
- 构建工作区UI使用的稳定JSON视图
- 将VICE公开为外部oracle、调试器和跟踪源
- 为CLI/MCP/LLM工作流公开TypeScript无头运行时
- 支持运行时证据、跟踪、快照、监视器操作,以及
未来的人体模拟器UI功能
为什么选择法学硕士
传统的反汇编程序可以识别代码和数据,但他们不知道 代码的含义。C64RE将确定性事实与语义分离 解释:
- 确定性工具提取字节、文件、存储体、扇区、外部参照,
报告和候选片段
- 法学硕士以结构化的方式记录假设、解释和决策
项目知识
- 来自VICE或Headless的运行时证据证实或反驳了这些
假设
- UI呈现后端生成的视图,而不是成为第二个视图
分析引擎
预期的结果不仅仅是 segment $7C21-$7F4F contains code但是 this routine is the loader-side dispatcher that switches from KERNAL serial into the custom fastloader and then hands control to the scene init.
建筑
┌───────────────────────────────────────────────────────────────┐
│ LLM clients / human users │
│ Claude Code · Codex · Cursor · Browser UI │
└──────────────────────────────┬────────────────────────────────┘
│ MCP tools / HTTP / WebSocket
▼
┌───────────────────────────────────────────────────────────────┐
│ C64RE MCP Server │
│ │
│ deterministic tools │
│ - TRXDis analysis / disassembly │
│ - CRT, disk, G64, compression, BWC helpers │
│ - C64Ref ROM lookup, sandbox, build helpers │
│ │
│ project knowledge │
│ - artifacts · entities · findings · relations │
│ - flows · tasks · open questions · views │
│ │
│ runtime evidence │
│ - VICE runtime / monitor / traces │
│ - Headless TS C64 + 1541 runtime │
│ - DuckDB trace store / swimlanes / snapshots │
└──────────────────────────────┬────────────────────────────────┘
│ view models / runtime streams
▼
┌───────────────────────────────────────────────────────────────┐
│ User Interfaces │
│ │
│ Workspace UI │
│ - dashboard · docs · memory · cartridge · disk │
│ - load sequence · flow graph · annotated listing · activity │
│ │
│ Emulator UI / V3 workbench │
│ - live C64 screen · media · monitor · inspector │
│ - keyboard / joystick · trace swimlanes · frozen explore │
└───────────────────────────────────────────────────────────────┘详细演练:
- docs/workflow.md --RE工作流合同
- 文档/语义-ui-layer.md --知识
存储和工作区UI
项目知识内部
- EPIC_ROADMAP.md --当前V1/V2/V3路线图
设置
git clone https://github.com/Jondalar/C64ReverseEngineeringMCP.git
cd C64ReverseEngineeringMCP
npm install
npm run build捆绑的TRXDis管道是自动构建的。
环境变量
| 变量 | 描述 | 必填 |
|---|---|---|
C64RE_PROJECT_DIR | RE项目的工作目录 | 是 |
C64RE_TOOLS_DIR | 覆盖:外部TRXDis构建而不是捆绑 | 否 |
C64RE_KICKASS_JAR | 覆盖KickAssembler jar的路径 | 否 |
C64RE_64TASS_BIN | 覆盖路径 64tass | 没有 |
C64RE_EXOMIZER_BIN | 覆盖路径 exomizer | 没有 |
C64RE_BYTEBOOZER_BIN | 覆盖路径 b2 /ByteBoozer 2 | 否 |
C64RE_VICE_BIN | 覆盖路径 x64sc | 没有 |
C64RE_VICE_CONFIG_PATH | 覆盖源 vicerc 复制到VICE会话中 | 否 |
C64RE_VICE_CONFIG_DIR | 用以下命令覆盖源VICE配置目录 vicerc 内部 | 否 |
克劳德代码
添加 .mcp.json 在RE项目根:
{
"mcpServers": {
"c64-re": {
"command": "npx",
"args": ["tsx", "/path/to/C64ReverseEngineeringMCP/src/cli.ts"],
"env": { "C64RE_PROJECT_DIR": "/path/to/your/re-project" }
}
}
}使用完整路径 npx 如果你的shell使用 nvm.
法典
[mcp_servers.c64re]
command = "zsh"
args = ["-lc", "cd /path/to/C64ReverseEngineeringMCP && NODE_NO_WARNINGS=1 ./node_modules/.bin/tsx src/cli.ts"]
env = { C64RE_PROJECT_DIR = "/path/to/your/re-project" }工作区UI
工作区UI是项目知识浏览器。
npm run ui:build
npm run ui:serve # API + bundled UI on http://127.0.0.1:4310
npm run ui:dev # Vite live reload on http://127.0.0.1:4311仿真器UI/V3工作台
V3 UI是面向人类的模拟器工作台,由相同的 无头运行时和项目API。
npm run v3:server # runtime WebSocket/API server
npm run ui:v3:dev # V3 browser client当前的用户体验规范存在于350系列中:
- 规格/350-模拟器工作台-ux-master.md
- 规格/351-模拟器-活机器-ux.md
- 规格/352-模拟器-监视器-兼容-ux.md
- 规格/353-模拟器-媒体项目-flow-ux.md
- 规格/354-模拟-冷冻-冷冻-知识库-ux.md
- 规格/355-模拟器-轨迹-泳道-工作台-ux.md
- 规格/356-仪表板发射模拟器-ux.md
- 规格/357-浏览器键盘-虚拟-游戏杆-ux.md
刀具表面
按区域文档:
| 区域 | 文档 |
|---|---|
分析管道(analyze_prg, disasm_prg, assemble_source,报告) | 文档/工具/分析.md |
| CRT墨盒和排布局 | docs/tools/crt.md |
| 磁盘映像、D64/G64提取、低级媒体数据 | docs/tools/disk.md |
| 压缩和卸载分流 | docs/tools/compression.md |
| BWC比特流编解码器 | src/bwc-bitstream-ts/ |
| C64Ref基本/内核/ROM查找 | docs/tools/c64ref.md |
| VICE运行时、监视器、调试器、跟踪预言机 | docs/tools/vice.md |
| 无头TS C64+1541运行时间 | docs/tools/headless.md |
| 6502沙箱 | docs/tools/sandbox.md |
| 项目知识工具 | 文档/工具/知识.md |
| 工件访问 | docs/tools/artifacts.md |
| 代理工作流原则 | docs/agent-doctline.md, docs/re-phases.md |
工作流程
活动工作流是项目优先的:
- 初始化或审核项目工作区
- 注册真实的输入媒体和源工件
- 运行确定性提取/拆卸
- 将输出导入项目知识
- 记录语义发现、任务、未决问题和关系
- 仅当运行时证据回答了具体问题时,才收集运行时证据
- 将跟踪/快照聚合为可重用的工件
- 重建UI视图
无头跑步和VICE跑步是证据提供者。他们的输出应该是 注册为工件并链接回发现/实体,而不是 只活在控制台日志或松散的降价中。
标准规划文件:
- 计划.md --代理的短指针
- EPIC_ROADMAP.md --V1/V2/V3产品路线图
- BUGREPORT.md --bug跟踪器
- 要求.md --细化积压
specs/--实施规范和ADR跟进
许可证
麻省理工学院
