# 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.

- Type: Tool
- Targets: Binary
- Category: Native analysis tools
- Relationship: Foundation tool
- Sources reviewed: 2026-11-07
- Added to the catalog: 2026-11-09
- Original resource: <https://github.com/Hexorg/Ouroboros>
- Primary source: <https://github.com/Hexorg/Ouroboros/blob/729c5b64bb3d651b98a6f6ed6d1a5e644217d5ad/README.md>
- Catalog page: <https://awesomerea.org/resources/ouroboros-decompiler/>
- Record JSON: <https://awesomerea.org/resources/ouroboros-decompiler/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/ouroboros-decompiler/index.md)

## Requirements & limits

- Stable Rust. A PE32 or PE32+ binary to open.
- License: MIT or Apache-2.0, at your option.

## Primary sources

1. <https://github.com/Hexorg/Ouroboros/blob/729c5b64bb3d651b98a6f6ed6d1a5e644217d5ad/README.md>

## More in Native binaries

- [genmc](https://awesomerea.org/resources/genmc/index.md) · Tool
- [serum-preset-packager](https://awesomerea.org/resources/serum-preset-packager/index.md) · Tool
- [OpenJOC](https://awesomerea.org/resources/openjoc/index.md) · Tool
- [Felix](https://awesomerea.org/resources/felix-lynx-debugger/index.md) · Tool
- [aftereffects-aep-parser](https://awesomerea.org/resources/aftereffects-aep-parser/index.md) · Tool
- [OpenQBW](https://awesomerea.org/resources/openqbw/index.md) · Tool

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
