Star on GitHubStar2.4k stars

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

Copy as MarkdownView JSONCite

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.

Report an outdated entry Suggest a translation fix

Primary sources

  1. README.md GitHub · Hexorg/Ouroboros · Revision 729c5b6

More in Native binaries

All 502 entries in Native binaries

↑↓ move↵ open⌘↵ new tab