
Motor de engenharia reversa em C++ nativo com pipeline de desmontagem, descompilação e análise para binários PE/ELF, apresentando GUI interativa e descompilador compatível com Ghidra.
Um mecanismo nativo de engenharia reversa em C++, inspirado no pipeline de análise do Ghidra.
O Enigma remove a dependência da JVM e fornece um núcleo de análise autônomo que pode ser embutido, estendido e integrado diretamente com ferramentas nativas e sistemas de IA.
O Enigma está em desenvolvimento ativo e já possui um pipeline de análise funcional de ponta a ponta.
.gzf do GhidraO pipeline principal é estável, e o trabalho atual concentra-se em expandir a cobertura de recursos, melhorar a integração entre mecanismo e GUI e fechar as lacunas de capacidade restantes identificadas durante os testes de paridade com o Ghidra 12.1.3.
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
| Componente | Origem |
|---|---|
| Mecanismo de descompilação | Biblioteca nativa de descompilação em C++ do Ghidra |
| Especificações do processador Sleigh | Ghidra |
| Modelo de programa | Implementação nativa em C++ do Enigma |
| Sistemas de tipos e memória | Implementação nativa em C++ do Enigma |
| Pipeline de análise | Implementação nativa em C++ do Enigma |
| Detecção de funções | Implementação nativa do Enigma |
| Carregadores de binários | Implementação nativa do Enigma |
| Armazenamento | Implementação nativa do Enigma |
| GUI | Implementação nativa em Qt6 |
O Enigma usa componentes do Ghidra onde eles fornecem a tecnologia de análise de baixo nível necessária, enquanto a arquitetura do mecanismo ao redor é implementada nativamente em C++.
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
Testado em binários Windows reais:
| Binário | Enigma | Ghidra | Recall |
|---|---|---|---|
notepad.exe | 623 | 498 | 98%+ |
shell32.dll | 30,233 | 30,993 | 97.55% |
kernel32.dll | 3,763 | ~3,800 | ~99% |
O Enigma não é mais apenas um núcleo de análise protótipo. O pipeline nativo, a camada de armazenamento, os sistemas de análise e a GUI estão operacionais.
O desenvolvimento atual está focado em expandir as capacidades do mecanismo e conectar à GUI funcionalidades que já existem no backend, enquanto implementa as lacunas restantes identificadas durante a análise de paridade.
Este projeto é licenciado sob a Apache License 2.0.
Os componentes de terceiros usados pelo Enigma permanecem sujeitos às suas respectivas licenças.