Reverse Engineering of the PC game "The Emperor's New Groove"
| Folder | Contents |
|---|---|
WAD/ |
Level .WAD extractor, editor and the reverse-engineering notes in REVERSE_ENGINEERING_BIBLE.md |
REVERSED/ |
Source-level reconstruction of groove.exe in C/C++, with an automated byte-comparison harness |
DEM/ |
Terrain/heightmap (.DEM) unpacker and editor |
COR/ |
.COR image conversion |
DAT/ |
.DAT movie conversion |
The executable is a 1.6 MB PE32 built by Visual C++ 6.0 containing 1,214
functions (1,153 real game functions; 59 are incremental-link thunks). REVERSED/
reconstructs those functions in C/C++ one at a time and verifies each port by
compiling it and comparing the machine code against the bytes of the original
executable:
cd REVERSED
build.bat run :: compile, link the self-test exe, run it
build.bat check :: compile and byte-compare every ported function
check.bat --list :: show the remaining work, smallest functions firstCurrent state: 25 functions ported - 3 byte-identical, 9 identical modulo
absolute addresses, 13 structurally equivalent with different code generation.
The harness, the generated work queue (functions.csv) and the honest
scope/limits are documented in REVERSED/README.md.



