AI agents decompile a popular FPS over 500B tokens, but constant progress hid semantically wrong code
- Over 3 months, agents running on Claude Max (20x) and Codex Pro subscriptions decompiled a popular first-person shooter, aiming for an accurate, feature-complete C++ recreation that compiles.
- Four agents (three workers and one reviewer) tracked progress in GitHub issues, one per .cpp file, and talked through a shared Discord channel that also received CI failure alerts from a GitHub webhook.
- The team lowered the compaction threshold from the default 90% to 42% to drop stale decompilation data, and an hourly cron job made agents reread a project instruction document to counter drift.
- Progress looked strong, with about 80% decompiled, the game launching, menus rendering, and maps loading, but the decompiled code was semantically wrong despite being very readable.
- Agents relied on the official ida-mcp server from Hex-Rays for disassembly and decompilation, which the author called stable and headless.
Hacker News 의견들
This is all on heavily subsidized subscriptions. Anthropic is happy to sell $100k of compute for $4k while the growth numbers look good, and most of this wouldn't get done without that subsidy.
I doubt anyone finds a decompile of a game they keep private worth that much money.
Where's the 150-400 per million input number from? OpenAI and Anthropic list around $10 per million input. 500B tokens is 500,000 million, so even at $2 per million you get about a million dollars. Show the math.
Most of those tokens are cache input, so even at API prices the real cost would be much lower.
Byte-matching isn't required. I have Agent A write semantically equivalent code plus tests, then a harness runs the original and new code in an emulator, checks that the RAM read/write sequences match, and requires full line and branch coverage.
RAM read/write sequences don't prove semantics. FPU stack bugs or register-only instructions can match and still be wrong, and fuzzing is way slower than comparing bytes.
Games depend on global state and external data, so tens of thousands of tests still won't tell you it behaves the same. Only the same executable does that.
Only an LLM can give reasonable names to most functions and variables automatically, though.
What legal leverage did they have? Which game and company is this? If you reverse-engineer a game and post the code, what exactly do you infringe, and in which jurisdiction? Does it change if an LLM did it?
Whelan v. Jaslow (1986) protected the structure, sequence, and organization of software, but Altai (1992) set the abstraction-filtration-comparison test that most courts use now.
A previous version of the page named Call of Duty: Modern Warfare 2 (2009). Older reddit posts about this project point to the same game.