
Nativ C++-Reverse-Engineering-Engine mit Disassemblierung, Dekompilierung und Analyse-Pipeline für PE/ELF-Binärdateien, ausgestattet mit interaktiver GUI und Ghidra-kompatiblem Decompiler.
Eine native C++-Reverse-Engineering-Engine, inspiriert von Ghidras Analyse-Pipeline.
Enigma entfernt die JVM-Abhängigkeit und bietet einen eigenständigen Analyse-Kern, der direkt in native Tools und KI-Systeme eingebettet, erweitert und integriert werden kann.
Enigma befindet sich in aktiver Entwicklung und verfügt bereits über eine funktionsfähige End-to-End-Analyse-Pipeline.
.gzf-ImportpfadDie Kern-Pipeline ist stabil, und die aktuelle Arbeit konzentriert sich auf die Erweiterung der Feature-Abdeckung, die Verbesserung der Engine/GUI-Integration und das Schließen verbleibender Fähigkeitslücken, die bei den Paritätstests mit Ghidra 12.1.3 festgestellt wurden.
Binary (PE / ELF)
│
▼
Binary Loader
│
▼
Capstone Disassembler
│
▼
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
| Komponente | Quelle |
|---|---|
| Decompiler-Engine | Ghidra native C++-Decompiler-Bibliothek |
| Sleigh-Prozessorspezifikationen | Ghidra |
| Programmodell | Native Enigma-C++-Implementierung |
| Typ- und Speichersysteme | Native Enigma-C++-Implementierung |
| Analyse-Pipeline | Native Enigma-C++-Implementierung |
| Funktionserkennung | Native Enigma-Implementierung |
| Binary-Loader | Native Enigma-Implementierung |
| Speicherung | Native Enigma-Implementierung |
| GUI | Native Qt6-Implementierung |
Enigma verwendet Ghidra-Komponenten dort, wo sie die erforderliche Low-Level-Analysetechnologie bereitstellen, während die umgebende Engine-Architektur nativ in C++ implementiert ist.
git clone https://github.com/adam-040/Enigma.git
cd Enigma/enigma-engine
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build
Getestet gegen reale Windows-Binaries:
| Binary | Enigma | Ghidra | Recall |
|---|---|---|---|
notepad.exe | 623 | 498 | 98%+ |
shell32.dll | 30.233 | 30.993 | 97,55 % |
kernel32.dll | 3.763 | ~3.800 | ~99 % |
Enigma ist nicht mehr nur ein Prototyp-Analyse-Kern. Die native Pipeline, die Speicherschicht, die Analysesysteme und die GUI sind betriebsbereit.
Die aktuelle Entwicklung konzentriert sich auf die Erweiterung der Engine-Fähigkeiten und die Verbindung von Funktionen, die bereits im Backend existieren, mit der GUI, während die verbleibenden Lücken geschlossen werden, die bei der Paritätsanalyse festgestellt wurden.
Dieses Projekt ist unter der Apache License 2.0 lizenziert.
Von Enigma verwendete Drittanbieterkomponenten unterliegen weiterhin ihren jeweiligen Lizenzen.