
Motore di reverse-engineering nativo in C++ con pipeline di disassemblaggio, decompilazione e analisi per binari PE/ELF, dotato di GUI interattiva e decompilatore compatibile con Ghidra.
Un motore di reverse engineering nativo in C++ ispirato alla pipeline di analisi di Ghidra.
Enigma elimina la dipendenza dalla JVM e fornisce un core di analisi standalone che può essere incorporato, esteso e integrato direttamente con strumenti nativi e sistemi di IA.
Enigma è in fase di sviluppo attivo e dispone già di una pipeline di analisi end-to-end funzionante.
.gzf/.rephalt_baddata su tutti i fixture)La pipeline principale è stabile (78/78 suite CTest verdi) e il lavoro attuale si concentra sull'ampliamento della copertura delle funzionalità, sul miglioramento dell'integrazione motore/GUI e sulla chiusura delle lacune di capacità rimanenti identificate durante i test di parità con Ghidra 12.1.3.
Binary (PE / ELF / Mach-O / COFF)
│
▼
Binary Loader
│
▼
Capstone + SLEIGH Disassembly
│
▼
Pcode / Decompiler Engine
│
▼
Analysis Pipeline
│
├── Function Detection
├── Type Recovery
├── Symbols
├── References
└── Other Analyses
│
▼
Program Model
│
├── Functions
├── Symbols
├── Types
├── Memory
└── References
│
▼
Storage
│
├── FlatBuffers snapshots
├── LMDB index
└── Git-like commits / branches
│
▼
Qt GUI
│
├── Disassembly
├── Decompiler
├── Hex View
├── CFG / Call Graph
└── Explorers
| Componente | Fonte |
|---|---|
| Motore del decompilatore | Libreria decompilatore nativa C++ di Ghidra |
| Specifiche del processore Sleigh | Ghidra |
| Modello del programma | Implementazione nativa Enigma in C++ |
| Sistemi di tipi e memoria | Implementazione nativa Enigma in C++ |
| Pipeline di analisi | Implementazione nativa Enigma in C++ |
| Rilevamento delle funzioni | Implementazione nativa Enigma |
| Loader dei binari | Implementazione nativa Enigma (PE/ELF/Mach-O/COFF) |
| Archiviazione | Implementazione nativa Enigma |
| GUI | Implementazione nativa Qt6 |
Enigma utilizza i componenti di Ghidra laddove forniscono la tecnologia di analisi di basso livello necessaria, mentre l'architettura del motore circostante è implementata nativamente in C++.
flatcgit clone https://github.com/adam-040/Enigma.git
cd Enigma/Enigma-Engine
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build
ctest --test-dir build --output-on-failure
Enigma non è più solo un nucleo di analisi prototipale. La pipeline nativa, il livello di archiviazione, i sistemi di analisi e la GUI sono operativi (78/78 suite CTest superate).
Lo sviluppo attuale è incentrato su l'espansione delle capacità del motore e il collegamento alla GUI di funzionalità già esistenti nel backend, colmando al contempo le lacune rimanenti individuate durante gli audit di parità del disassembler/decompiler di Ghidra 12.1.3 (vedere PLAN/).
Questo progetto è distribuito con licenza Apache License 2.0.
I componenti di terze parti utilizzati da Enigma restano soggetti alle rispettive licenze.