
Moteur de rétro-ingénierie natif en C++ avec pipeline de désassemblage, décompilation et analyse pour les binaires PE/ELF, doté d'une interface graphique interactive et d'un décompilateur compatible Ghidra.
Un moteur de rétro-ingénierie natif en C++ inspiré du pipeline d'analyse de Ghidra.
Enigma supprime la dépendance à la JVM et fournit un cœur d'analyse autonome qui peut être embarqué, étendu et intégré directement avec des outils natifs et des systèmes d'IA.
Enigma est en développement actif et dispose déjà d'un pipeline d'analyse fonctionnel de bout en bout.
.gzf/.rephalt_baddata sur tous les fixtures)Le pipeline principal est stable (78/78 suites CTest au vert), et le travail actuel se concentre sur l'extension de la couverture fonctionnelle, l'amélioration de l'intégration moteur/GUI et la réduction des écarts de capacité restants identifiés lors des tests de parité avec 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
| Composant | Source |
|---|---|
| Moteur de décompilation | Bibliothèque de décompilation native C++ de Ghidra |
| Spécifications de processeur Sleigh | Ghidra |
| Modèle de programme | Implémentation native C++ d'Enigma |
| Systèmes de types et de mémoire | Implémentation native C++ d'Enigma |
| Pipeline d'analyse | Implémentation native C++ d'Enigma |
| Détection de fonctions | Implémentation native d'Enigma |
| Chargeurs de binaires | Implémentation native d'Enigma (PE/ELF/Mach-O/COFF) |
| Stockage | Implémentation native d'Enigma |
| Interface graphique | Implémentation native Qt6 |
Enigma utilise les composants de Ghidra là où ils fournissent la technologie d'analyse de bas niveau requise, tandis que l'architecture du moteur environnant est implémentée nativement en 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 n'est plus seulement un noyau d'analyse prototype. Le pipeline natif, la couche de stockage, les systèmes d'analyse et l'interface graphique sont opérationnels (78/78 suites CTest au vert).
Le développement actuel se concentre sur l'extension des capacités du moteur et la connexion à l'interface graphique de fonctionnalités déjà présentes dans le backend, tout en comblant les lacunes restantes identifiées lors des audits de parité désassembleur/décompilateur de Ghidra 12.1.3 (voir PLAN/).
Ce projet est sous licence Apache License 2.0.
Les composants tiers utilisés par Enigma restent soumis à leurs licences respectives.