Tool
Ouroboros
Ouroboros is a Rust decompiler that recovers structure with symbolic execution and constraint tracking. It tracks path constraints, register and memory deltas, dominators, and SESE regions, then forms if/else, loops, and early exits. cargo build --release builds it, and cargo run --release opens the egui interface. File, Open accepts a PE32 or PE32+ binary. Press D on the first byte of an instruction to disassemble until a NOP or an invalid instruction, then press F on the function start to decompile it.
- Targets
- Binary
- Category
- Native analysis tools
- Relationship
- Foundation tool
- Sources reviewed
- Stars
- 262
- Last commit
- 2025-12-02
- Language
- Rust
- License (GitHub)
- Apache-2.0
GitHub data as of 2026-11-09
Requirements & limits
- Stable Rust. A PE32 or PE32+ binary to open.
- License: MIT or Apache-2.0, at your option.
Cite
BibTeX
@misc{ouroboros-decompiler,
title = {{Ouroboros}},
howpublished = {\url{https://github.com/Hexorg/Ouroboros}},
url = {https://github.com/Hexorg/Ouroboros},
urldate = {2026-11-07},
note = {Awesome REA entry: \url{https://awesomerea.org/resources/ouroboros-decompiler/}}
}Plain text
Ouroboros. https://github.com/Hexorg/Ouroboros (accessed 2026-11-07). Awesome REA entry: https://awesomerea.org/resources/ouroboros-decompiler/
Useful? Star Awesome REA on GitHub2.4k
About this entry
The description was reviewed against primary sources.
Primary sources
- README.md GitHub · Hexorg/Ouroboros · Revision 729c5b6
More in Native binaries
- genmc · Tool
- serum-preset-packager · Tool
- OpenJOC · Tool
- Felix · Tool
- aftereffects-aep-parser · Tool
- OpenQBW · Tool