Evidence at a glance #
source evidence…
What was done #
IGI-RE is a functional decompilation of Project I.G.I. that rewrites all 5,376 game functions into readable C. It uses differential testing via the Unicorn emulator to ensure behavioral parity with the original EU release.
IGI-RE is a project dedicated to the functional decompilation of the 2000 tactical shooter Project I.G.I.: I'm Going In. The author reports that all 5,376 functions of the game and engine code have been rewritten into readable C. This is a functional decompilation, meaning the rewrite aims to replicate the exact behavior of the original executable—including memory writes, return values, and call sequences—rather than producing identical binary output. The author documents the use of AI coding tools throughout the development, debugging, and testing phases. Verification is achieved through differential testing, where the original machine code and the C rewrite are executed side-by-side in a Unicorn emulator to compare states. The project supports the EU release of the game and requires specific original files to function. While the rewrite is complete, the author notes that the Microsoft C runtime linked into the original executable is not decompiled, with msvcrt.dll serving as a substitute.
From the source #
Reproduce it #
To build, use CMake, Ninja, and the i686 MinGW-w64 toolchain. Run tests using Python 3 with the unicorn, pefile, and pytest packages, setting the IGI_EXE and IGI_DLL environment variables to point to the original executable and the built dinput.dll respectively.