Case study
Eidolon in Rust: byte-exact Rust port of the Eidolon 64k intro
Ports Eidolon, Poo-Brain’s winning PC 64k intro from Revision 2017, from its packed 60,928-byte Windows executable to Rust, with chapters on how the original binary works and a separate size-optimized build. The author reports that coordinated OpenCode and Claude Code agents, using Ghidra through the REA MCP server among other tools, captured a controlled-clock reference of the original and matched all 27,000 frame hashes and the full PCM. Exactness rests on the project’s own GPU-specific captures, and the port embeds the original’s data.
- Targets
- Binary
- Category
- Community REA investigations
- Relationship
- Author-reported mixed workflow
- Sources reviewed
- Stars
- 0
- Last commit
- 2026-10-18
- Language
- Python
- License (GitHub)
- Apache-2.0
GitHub data as of 2026-11-09
Requirements & limits
- The Rust port targets i686-pc-windows-gnu. The documented Linux build uses Rust 1.97, MinGW-w64, Clang, Python, Wine and headless gamescope; the size build also needs NASM. Reference capture and size builds run on Linux, while macOS cannot run the intro.
- A new reference capture needs the original scene.org release archive and gm.dls from a Microsoft DirectX redistributable, both checked by SHA-256. The port embeds original tables, curves, shaders and music plus 15 Roland GM/GS samples; the size build reads system gm.dls.
- Under a controlled clock, the project reports matching 27,000 frame hashes and the full PCM. Shipped frame hashes fit its RTX 3070 Ti, driver and Wine setup; other GPUs need a local reference capture. Most fault-injection tests need 5.8 GB of unpublished raw reference data; 57 tests run without it. Native Windows playback and frame checks remain untested.
- The size build is 44,139 bytes versus the original 60,928 bytes; it did not reach the 32 KiB target. The author reports agent-led work with human goal setting and decisions.
- Rust code, tools and documentation are MIT or Apache-2.0. Bundled kkrunchy source is public domain. Original shaders, music, animation data and Roland samples retain their owners’ rights and are outside those licenses.
Cite
BibTeX
@misc{eidolon-64k-rust-port-case,
title = {{Eidolon in Rust: byte-exact Rust port of the Eidolon 64k intro}},
howpublished = {\url{https://github.com/RovshanMuradov/eidolon-64k-rs}},
url = {https://github.com/RovshanMuradov/eidolon-64k-rs},
urldate = {2026-10-19},
note = {Awesome REA entry: \url{https://awesomerea.org/resources/eidolon-64k-rust-port-case/}}
}Plain text
Eidolon in Rust: byte-exact Rust port of the Eidolon 64k intro. https://github.com/RovshanMuradov/eidolon-64k-rs (accessed 2026-10-19). Awesome REA entry: https://awesomerea.org/resources/eidolon-64k-rust-port-case/
Useful? Star Awesome REA on GitHub2.4k
About this entry
The description was reviewed against primary sources.
Primary sources
- README.md GitHub · RovshanMuradov/eidolon-64k-rs · Revision 5850c27
- docs/rust/README.md GitHub · RovshanMuradov/eidolon-64k-rs · Revision 5850c27
- docs/rust/verification.md GitHub · RovshanMuradov/eidolon-64k-rs · Revision 5850c27
- docs/en/README.md GitHub · RovshanMuradov/eidolon-64k-rs · Revision 5850c27
- size/README.md GitHub · RovshanMuradov/eidolon-64k-rs · Revision 5850c27
- LICENSE-MIT GitHub · RovshanMuradov/eidolon-64k-rs · Revision 5850c27
- LICENSE-APACHE GitHub · RovshanMuradov/eidolon-64k-rs · Revision 5850c27
- size/packer/LICENSE GitHub · RovshanMuradov/eidolon-64k-rs · Revision 5850c27
More in Native binaries
- m0rph: tracing an obfuscated ELF flag checker · Case study
- CPQ IO Scheduler: reconstructing Xiaomi's block scheduler · Case study
- Malware Analysis: njRAT and Casdet behavior investigation · Case study
- FSR 4 INT8: reconstructed GPU passes and comparison harness · Case study
- bcwc_pcie: auditing the FaceTime HD camera driver against Apple's kext · Case study
- XexTool-RE: reconstructing the Xbox 360 XexTool utility · Case study
All 502 entries in Native binariesNative binaries case studies (64)