
네이티브 C++ 리버스 엔지니어링 엔진으로, PE/ELF 바이너리를 위한 디스어셈블리, 디컴파일 및 분석 파이프라인을 갖추고 있으며, 대화형 GUI와 Ghidra 호환 디컴파일러를 제공합니다.
Ghidra의 분석 파이프라인에서 영감을 받은 네이티브 C++ 리버스 엔지니어링 엔진입니다.
Enigma는 JVM 의존성을 제거하고 네이티브 도구 및 AI 시스템에 직접 임베드, 확장, 통합할 수 있는 독립형 분석 코어를 제공합니다.
Enigma는 활발히 개발 중이며 이미 기능적인 엔드투엔드 분석 파이프라인을 갖추고 있습니다.
.gzf 가져오기 경로핵심 파이프라인은 안정적이며, 현재 작업은 기능 범위 확장, 엔진/GUI 통합 개선, 그리고 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
Enigma는 필요한 저수준 분석 기술을 제공하는 곳에 Ghidra 구성 요소를 사용하며, 주변 엔진 아키텍처는 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
실제 Windows 바이너리로 테스트:
Enigma는 더 이상 프로토타입 분석 코어만이 아닙니다. 네이티브 파이프라인, 스토리지 계층, 분석 시스템 및 GUI가 모두 작동합니다.
현재 개발은 엔진의 기능을 확장하고 백엔드에 이미 존재하는 기능을 GUI에 연결하는 것에 집중하고 있으며, 패리티 분석 중 식별된 남은 격차를 구현하고 있습니다.
이 프로젝트는 Apache License 2.0에 따라 라이선스가 부여됩니다.
Enigma가 사용하는 타사 구성 요소는 각각의 라이선스가 적용됩니다.
| 구성 요소 | 출처 |
|---|
| 디컴파일러 엔진 | Ghidra 네이티브 C++ 디컴파일러 라이브러리 |
| Sleigh 프로세서 사양 | Ghidra |
| 프로그램 모델 | 네이티브 Enigma C++ 구현 |
| 타입 및 메모리 시스템 | 네이티브 Enigma C++ 구현 |
| 분석 파이프라인 | 네이티브 Enigma C++ 구현 |
| 함수 탐지 | 네이티브 Enigma 구현 |
| 바이너리 로더 | 네이티브 Enigma 구현 |
| 스토리지 | 네이티브 Enigma 구현 |
| GUI | 네이티브 Qt6 구현 |
| 바이너리 | Enigma | Ghidra | 재현율 |
|---|
notepad.exe | 623 | 498 | 98%+ |
shell32.dll | 30,233 | 30,993 | 97.55% |
kernel32.dll | 3,763 | ~3,800 | ~99% |