Grounded in
architecture.md,README.md, andSECURITY.mdof the Rothalyx project. Click any diagram below to view it in high resolution.
3.1 One Core, Many Clients
Rule: if a capability must exist in >1 surface, it lives in the CORE first.
The desktop app, CLI, and SDK are clients — never parallel implementations.
3.2 Analysis Pipeline (loader → decompiler → debugger)
3.3 CFG Recovery Pipeline (inside core/cfg)
3.4 Decompiler Pipeline (disasm → structured C output)
Why SSA before decompilation: dataflow, simplification, and type-recovery
passes assume SSA form. Structuring runs on the cleaned, typed IR.
(Internal pass heuristics: Additional validation required.)
3.5 SDK Architecture (the C ABI boundary)
3.6 Plugin / Extension Architecture (embedded Python at the edge)
┌───────────────────────────────────────────────────────────┐
│ DESKTOP APPLICATION (Qt Widgets) │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ C++ APPLICATION LAYER (UI state, view management) │ │
│ │ ┌───────────────────────────────────────────────┐ │ │
│ │ │ C++ REVERSE ENGINEERING CORE (hot path) │ │ │
│ │ └───────────────────────────────────────────────┘ │ │
│ └─────────────────────────────────────────────────────┘ │
│ ▲ │
│ │ bindings (off the hot path) │
│ ┌───────────┴────────────┐ │
│ │ EMBEDDED PYTHON │ │
│ │ plugins/ + scripting/ │ │
│ │ automation · custom │ │
│ │ analyses · tooling │ │
│ └────────────────────────┘ │
└───────────────────────────────────────────────────────────┘
Native where performance & correctness matter (core).
Python where flexibility matters (extensions) — kept off the main
execution path so scripting can't destabilize analysis.
REGAAN R