Reverse engineer a classic game ROM via Ghidra MCP
The author connected Claude to Ghidra through MCP to analyze and rename functions in an Atari River Raid ROM.
What they did
The author ran an open-source Ghidra MCP server so Claude could inspect an unlabeled 8 kB Atari ROM, imported as 6502 only. Claude inferred the Atari platform from hardware registers and located the lives-decrement code. The author did the rebasing (twice) by hand and applied the one-byte patch outside Ghidra.
How it went
Swapping DEY for NOP froze the lives counter at 3 in an emulator. Claude wrongly guessed the game was Centipede and struggled with sprite data. The MCP tools couldn't rebase or write the binary.
Worth knowing
Setup was a chain of four components, and some tool calls took about 30 seconds each, so interactive use felt slow.
Labels
The author connected Claude to Ghidra through MCP to analyze and rename functions in an Atari River Raid ROM.
The author ran an open-source Ghidra MCP server so Claude could inspect an unlabeled 8 kB Atari ROM, imported as 6502 only.
The author did the rebasing (twice) by hand and applied the one-byte patch outside Ghidra.
Claude inferred the Atari platform from hardware registers and located the lives-decrement code.
The author ran an open-source Ghidra MCP server so Claude could inspect an unlabeled 8 kB Atari ROM, imported as 6502 only.
The “Material” label failed its quality check and is not used for selection.
Details
- Agents
- Claude
- Source
- other
- Source date
- undated
- Accounts
- 1
- In registry since
- Oct 12, 2026