Case study
Larax & Zaco: an REA-exported evidence base and partial routine recovery
The author uses REA 6.3.0 with Ghidra to export dossiers, pseudocode and assembly for all 215 discovered procedures in the DOS shareware LEZAC.EXE, then recovers a small set of routines as Pascal and portable C. Recovered code is tested against the original x86 instructions, and a pinned DOSBox-X baseline records original-game runs..
- Targets
- Binary · Game
- Category
- Community REA investigations
- Relationship
- Author-reported mixed workflow
- Sources reviewed
- Stars
- 0
- Last commit
- 2026-10-19
- Language
- Python
GitHub data as of 2026-11-09
Requirements & limits
- Larax & Zaco v1.0 shareware is the required original input. tools/fetch_original.py downloads a pinned archive or accepts an offline ZIP and verifies file hashes. The original executable and resources are absent from the repository.
- Verification needs Python 3.12+, a C99 compiler, Free Pascal 3.2.2, make, npm and a Node.js version accepted by REA. DOS probes also need the FPC i8086 cross compiler. Re-export needs REA 6.3.0, Ghidra 12.1.4 and a full JDK; original-game runs use DOSBox-X 2024.03.01 and Xvfb.
- Seven Pascal routines, sixteen packed layouts, six portable C routines and resource decoders are recovered. Interrupt handlers, most gameplay, rendering, audio and DOS services remain unrecovered.
- The README reports 174,777 Pascal and 173,725 C comparisons against original x86 code, twelve DOS probe comparisons and 94 loaded-image checks. Gameplay replays use host timing.
- The repository has no license file; RIGHTS.md grants no blanket open-source license for recovered logic or generated pseudocode. The original game and derived exports retain their rights.
Cite
BibTeX
@misc{lezac-rea-decompilation-case,
title = {{Larax \& Zaco: an REA-exported evidence base and partial routine recovery}},
howpublished = {\url{https://github.com/Hubert-Rybak/lezac-decompilation}},
url = {https://github.com/Hubert-Rybak/lezac-decompilation},
urldate = {2026-10-18},
note = {Awesome REA entry: \url{https://awesomerea.org/resources/lezac-rea-decompilation-case/}}
}Plain text
Larax & Zaco: an REA-exported evidence base and partial routine recovery. https://github.com/Hubert-Rybak/lezac-decompilation (accessed 2026-10-18). Awesome REA entry: https://awesomerea.org/resources/lezac-rea-decompilation-case/
Useful? Star Awesome REA on GitHub2.4k
About this entry
The description was reviewed against primary sources.
Primary sources
- README.md GitHub · Hubert-Rybak/lezac-decompilation · Revision 73b4bdb
- RIGHTS.md GitHub · Hubert-Rybak/lezac-decompilation · Revision 73b4bdb
- docs/analysis.md GitHub · Hubert-Rybak/lezac-decompilation · Revision 73b4bdb
- docs/pascal-recovery.md GitHub · Hubert-Rybak/lezac-decompilation · Revision 73b4bdb
- docs/reproduction.md GitHub · Hubert-Rybak/lezac-decompilation · Revision 73b4bdb
- docs/emulator-baseline.md GitHub · Hubert-Rybak/lezac-decompilation · Revision 73b4bdb
- analysis/provenance.json GitHub · Hubert-Rybak/lezac-decompilation · Revision 73b4bdb
- analysis/coverage.json GitHub · Hubert-Rybak/lezac-decompilation · Revision 73b4bdb
- analysis/emulator.json GitHub · Hubert-Rybak/lezac-decompilation · Revision 73b4bdb
- Makefile GitHub · Hubert-Rybak/lezac-decompilation · Revision 73b4bdb
- .github/workflows/verify.yml GitHub · Hubert-Rybak/lezac-decompilation · Revision 73b4bdb
More in Games
- Leaflitter: decompiling Paper Mario: Sticker Star for 3DS · Case study
- Legacy of Kain: Soul Reaver — a decompilation and port · Case study
- Lego Battles: a hand-decompiled Nintendo DS reconstruction · Case study
- Lego Island 2: GBA decompilation · Case study
- LEGO Racers: an N64 source reconstruction in progress · Case study
- LEGO Rock Raiders: a C and C++ decompilation project · Case study