KisakCOD: Open-Source Reimplementation of Call of Duty 4 Multiplayer
KisakCOD – open-source reimplementation of Call of Duty 4 Multiplayer
KisakCOD is an open-source, fully-buildable reimplementation of Call of Duty 4's multiplayer executable, aimed at mod developers and enthusiasts. It requires Windows, Visual Studio 2022, CMake, DirectX SDK 2010, and a Steam copy of COD4. The project includes a custom Radiant map editor (AI-decompiled), OpenAL sound implementation, and ongoing fixes for known exploits. Build instructions and troubleshooting are provided in the README.
This is a ~20 year old game with some known exploits. We will try to fix these as we become aware of them. However, there is a non-zero chance of some type of binary exploitation when playing online. Use a sandbox (Sandboxie?) for peace of mind.
- Tiberium
Honestly such decomp projects are the place where LLM agents help the most, I have a similar one for a 1999 game which started from the agent renaming all functions, globals in the IDA DB, adding types and function signatures. After the database was basically 100% annotated, it was exported, made compilable with the same compiler as the original game. Then after some fixes (basically all being IDA decompilation bugs) it became playable.
Having the same compiler helps, and I also have a binary matching workflow, but matching functions 100% is a huge token sink due to compiler optimizations, so I just had agents review functions one by one for differences, clean up decompiler artifacts and possible semantic bugs, and mark functions as reviewed. So the raw matching % is really low even though the game already works.
It does help that the game's native part is quite small, only 1.5k pure C functions in 700KB of code. Although with LLMs as long as you have enough usage, it's only a matter of time even for huge codebases.
As the LLM I used GPT 5.5, then 5.6 Sol, I trust GPT models the most for reverse engineering, they're very thorough.
It's nice that these people started using LLMs (mentioned in https://lwss.github.io/Kisak-Black/), although IDA MCPs are worse than CLI-based options, and I wouldn't trust Claude models that much for this work. It seems like the work started in 2025 when those models weren't good enough for that, but they absolutely are now.
Decomps are one of those […]
- nateb2022
Some well written devblogs are also available:
- dustbunny
How was this done?