Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Enigma — 네이티브 C++ 리버스 엔지니어링 엔진으로, PE/ELF 바이너리를 위한 디스어셈블리, 디컴파일 및 분석 파이프라인을 갖추고 있으며, 대화형 GUI와 Ghidra 호환 디컴파일러를 제공합니다. | Kitploit
도구/GitHubGitHub/bunnybuzz/enigma
Static AnalysisReverse EngineeringDebuggersMalware AnalysisBinary AnalysisAI-Assisted Reversing
GitHubbunnybuzz/enigma

Enigma

네이티브 C++ 리버스 엔지니어링 엔진으로, PE/ELF 바이너리를 위한 디스어셈블리, 디컴파일 및 분석 파이프라인을 갖추고 있으며, 대화형 GUI와 Ghidra 호환 디컴파일러를 제공합니다.

저장소 보기
6241095일 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
image image image

Enigma Engine

Ghidra의 분석 파이프라인에서 영감을 받은 네이티브 C++ 리버스 엔지니어링 엔진입니다.

Enigma는 JVM 의존성을 제거하고, 임베드하고 확장하며 네이티브 도구 및 AI 시스템과 직접 통합할 수 있는 독립형 분석 코어를 제공합니다.


현재 상태

Enigma는 활발히 개발 중이며 이미 기능적인 엔드투엔드 분석 파이프라인을 갖추고 있습니다.

분석 엔진

  • PE, ELF(32/64비트, LE/BE, 프로그램 헤더를 통한 스트립된 바이너리), Mach-O(fat/universal 포함), COFF 오브젝트/아카이브, 그리고 Ghidra .gzf/.rep 가져오기 경로
  • Capstone + 컴파일된 SLEIGH 스펙을 통한 멀티 아키텍처 디스어셈블리(x86/x64, ARM32, AArch64, MIPS 16e 변형 포함, PowerPC)
  • Ghidra의 네이티브 디컴파일러 라이브러리를 사용한 Pcode 생성
  • Ghidra 12.1.3 headless와 대조 감사된 함수 탐지: x86-64, ARM, AArch64, MIPS, PPC 전반의 모든 소규모 픽스처에서 100% 명령어 수준 의미론적 동등성(0개의 니모닉 / 0개의 피연산자 불일치); 대규모 x86-64 바이너리에서 2856개의 공유 함수 / 116k+ 의미론적 일치
  • 함수별 동등성 하네스를 갖춘 C 디컴파일(Ghidra 12.1.3 대비 함수 집합, 명명, 성공, 시그니처, 피호출자 집합, 텍스트 유사도 지표; 모든 픽스처에서 halt_baddata 0건)
  • Windows API 시그니처(1400+ 프로토타입), glibc/Linux 프로토타입, noreturn 테이블(Linux/Mac/Windows)을 통한 타입 복구
  • 심볼, 참조, 함수, 타입, 메모리 모델
  • 142개의 등록된 분석기를 갖춘 분석 파이프라인
  • git과 유사한 커밋 및 브랜치를 지원하는 FlatBuffers + LMDB 기반 프로젝트 영속성

GUI

  • 대화형 디스어셈블리(데이터 섹션 배너 + hex/ASCII 덤프 포함)
  • Hex 뷰어 및 패칭
  • 디컴파일러(문자열 리터럴 해석, equate 이름, 고급 주석 포함)
  • 인라인 제어 흐름 시각화
  • 함수 그래프 창(확대/축소 가능한 기본 블록 순서도) + 호출 그래프
  • 교차 참조 탐색
  • 심볼 및 함수 탐색
  • 디스어셈블리, 디컴파일러, Hex 간의 뷰 간 동기화
  • 함수 및 심볼 이름 변경

코어 파이프라인은 안정적이며(78/78 CTest 스위트 통과), 현재 작업은 기능 범위 확장, 엔진/GUI 통합 개선, 그리고 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

원본 작업 vs. Ghidra 구성 요소

구성 요소출처
디컴파일러 엔진Ghidra 네이티브 C++ 디컴파일러 라이브러리
Sleigh 프로세서 사양Ghidra
프로그램 모델네이티브 Enigma C++ 구현
타입 및 메모리 시스템네이티브 Enigma C++ 구현
분석 파이프라인네이티브 Enigma C++ 구현
함수 탐지네이티브 Enigma 구현
바이너리 로더네이티브 Enigma 구현 (PE/ELF/Mach-O/COFF)
저장소네이티브 Enigma 구현
GUI네이티브 Qt6 구현

Enigma는 필요한 저수준 분석 기술을 제공하는 곳에서 Ghidra 구성 요소를 사용하며, 주변 엔진 아키텍처는 C++로 네이티브 구현됩니다.


빌드

요구 사항

  • C++17 이상
  • CMake 3.16+
  • Ninja (백엔드) 또는 MSYS Makefiles (GUI), MSYS2를 통한 MinGW64 g++
  • Capstone
  • LMDB
  • SQLite3
  • FlatBuffers + flatc
  • zlib
  • Python3 (CLI 회귀 테스트)
  • Qt 6 (Widgets, Core, Gui — GUI 전용; Qt-Advanced-Docking-System은 CMake FetchContent를 통해 자동으로 가져옴)

빌드

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
ctest --test-dir build --output-on-failure

프로젝트 상태

Enigma는 더 이상 단순한 프로토타입 분석 코어가 아닙니다. 네이티브 파이프라인, 스토리지 계층, 분석 시스템, GUI가 모두 작동 중입니다(78/78 CTest 스위트 통과).

현재 개발은 엔진의 기능을 확장하고 백엔드에 이미 존재하는 기능을 GUI에 연결하는 데 집중되어 있으며, 동시에 Ghidra 12.1.3 디스어셈블러/디컴파일러 패리티 감사에서 확인된 나머지 격차를 해소하고 있습니다(PLAN/ 참조).


라이선스

이 프로젝트는 Apache License 2.0에 따라 라이선스가 부여됩니다.

Enigma가 사용하는 타사 구성 요소는 해당 라이선스의 적용을 계속 받습니다.

도구 다운로드