ITHome Report on October 13: developer Maurice Heumann released a project report on October 9; the team spent 3 months and consumed more than 500 billion tokens (Tokens),using AI agents to decompile the 2009 game Call of Duty: Modern Warfare 2 and reconstruct it as C++ source code.
As for team members, the project was led by Heumann, with assistance from RektInator, Future, st0rm and other community members.
Regarding AI usage, the team initially used Claude Max (20x) and Codex Pro subscriptions simultaneously, running AI agents in Claude Code CLI and Codex CLI. The models included Sonnet 5, Opus 5.5, Luna, Sol and Terra; agents tracked tasks via GitHub Issues and exchanged information through Discord.

In the project's first month, 4 agents were deployed: 3 responsible for decompiling and committing code, 1 for review. This phase completed about 80% of functions, and the game could start, display the main menu and load maps; but the team found that although the code was readable, it contained semantic errors in function signatures, types, structure layouts and logic.
The team then introduced a "byte-for-byte matching decompilation" verification mechanism. This mechanism rebuilds object files with the original game's compiler and compares reconstructed functions byte-for-byte against functions in the original EXE / PDB; those that pass are marked PASS, while those that fail are revised again by the agents.
To prevent agents from bypassing verification, the team banned inline assembly, naked functions, object patches and embedding bytes in code, and compared verification script hashes against GitHub Actions secrets via CI. This mechanism allowed low-cost models to complete high-precision tasks under strict feedback, and replaced the manual or agent review step.

In the later stage of the project, 14 Luna agents and 2 Opus 5.5 agents were mainly running, with agents submitting code through separate branches and Pull Requests.In the end, 99% of the game's functions were included in the reconstructed source code, and 83% of the functions achieved byte-for-byte matching; the remaining functions were difficult to match completely due to non-deterministic features or linker behavior.
Byte-for-byte Matching means comparing the binary data of functions compiled from the reconstructed code byte-for-byte against the corresponding functions in the original program. If the data match, it usually indicates that the function retained the same semantics and behavior as the original in the target compilation environment.

Heumann stated that he will not release the related code, and the reconstruction results will be kept for private use only.
ITHome attaches the reference address
Ad disclaimer: The external links contained in this article (including but not limited to hyperlinks, QR codes, passcodes and other forms) are used to convey more information and save screening time; the results are for reference only. All ITHome articles containing external links include this statement.
