Rothalyx documentation

Architecture Diagrams

Grounded in architecture.md, README.md, and SECURITY.md of the Rothalyx project. Click any diagram below to view it in high resolution.

3.1 One Core, Many Clients

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)

Analysis Pipeline

3.3 CFG Recovery Pipeline (inside core/cfg)

CFG Recovery Pipeline

3.4 Decompiler Pipeline (disasm → structured C output)

Decompiler Pipeline
  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)

SDK Architecture

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.

Explore the research

Search projects, documentation, publications, and disclosures.