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.