Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Enigma — C++ IDE для реверс-инжиниринга с парсингом PE/ELF, дизассемблированием x86/x64, промежуточным представлением Pcode, декомпиляцией, определением функций и графическим интерфейсом на Qt. | Kitploit
Инструменты/GitHubGitHub/adam-040/enigma
Статический анализАнализ КодаОбратная инженерияАнализ Бинарных Файлов
GitHubadam-040/enigma

Enigma

C++ IDE для реверс-инжиниринга с парсингом PE/ELF, дизассемблированием x86/x64, промежуточным представлением Pcode, декомпиляцией, определением функций и графическим интерфейсом на Qt.

Репозиторий
2936 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
image

Enigma Engine

Полноценная C++-реализация аналитического ядра Ghidra, созданная для устранения зависимости от JVM и обеспечения глубокой интеграции с ИИ.


Что это?

Ghidra — это фреймворк для реверс-инжиниринга, разработанный АНБ на Java. Enigma — это нативная C++-переработка его конвейера анализа: те же возможности, без JVM, Gradle и Java-рантайма.

Цель — создать автономный движок анализа бинарных файлов, который можно встраивать, расширять и напрямую интегрировать с ИИ-системами, без мостов и обёрток.


Текущее состояние

Проект находится в активной разработке. Базовый конвейер анализа работает:

  • Загрузка бинарных файлов PE и ELF
  • Дизассемблирование x86/x64 через Capstone
  • Генерация Pcode IR (библиотека декомпилятора Ghidra на C++, интегрированная как статическая библиотека)
  • Обнаружение функций с полнотой ~97% на реальных Windows-бинарниках по сравнению с Ghidra
  • C-код, восстановленный из реальных бинарных файлов
  • Восстановление типов с использованием сигнатур Windows API (1400+ прототипов)
  • Пользовательское хранилище проектов на основе репозитория (снимки FlatBuffers, индекс LMDB, коммиты и ветки, как в git)
  • GUI на Qt с представлениями дизассемблера, декомпилятора и Hex

Архитектура

root@kitploit:~
Binary (PE/ELF)
    ↓
BinaryLoader          — parses sections, imports, exports, .pdata
    ↓
Capstone Disassembler — decodes instructions
    ↓
Pcode Engine          — Ghidra's C++ decompiler library (taken as-is)
    ↓
Analysis Pipeline     — function detection, type recovery, cross-references
    ↓
Program Model         — functions, symbols, types, memory (387 headers, 119 .cpp)
    ↓
Storage               — FlatBuffers snapshots + LMDB index + git-like commits
    ↓
Qt GUI                — Disassembly / Decompiler / Hex / Explorer

Что оригинально, а что взято из Ghidra


Сборка

Требования:

  • Компилятор C++17 (GCC 11+ или Clang 13+)
  • CMake 3.20+
  • Qt 6.x
  • Capstone, SQLite3, LMDB (через MSYS2/vcpkg)
root@kitploit:~
git clone https://github.com/adam-040/Enigma.git
cd Enigma/enigma-engine
cmake -B build-cmake -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build-cmake

Обнаружение функций — сравнение с Ghidra

Протестировано на реальных Windows-бинарниках:


План развития

  • Интеграция LIEF для полного разбора PE/ELF/Mach-O
  • Улучшение качества вывода декомпилятора (восстановление структур, более точный вывод типов)
  • Стабильность и навигация GUI
  • Интеграция ИИ — именование функций, вывод типов, распознавание паттернов

Лицензия

Этот проект не связан с Ghidra и распространяется под лицензией Apache License 2.0.

Скачать инструмент
КомпонентИсточник
Движок декомпиляции (~150K строк)Библиотека Ghidra на C++ — взята как есть
Спецификации процессоров SleighGhidra — взято как есть
Модель программы, система типов, памятьПортирование Java → C++ (оригинальная работа)
Конвейер анализа, обнаружение функцийОригинальная реализация на C++
Загрузчик бинарных файловОригинальный (парсер PE/ELF, готов к LIEF)
Система храненияОригинальная (FlatBuffers + LMDB + коммиты)
GUIОригинальный (Qt6)
Бинарный файлEnigmaGhidraПолнота
notepad.exe62349898%+
shell32.dll30,23330,99397.55%
kernel32.dll3,763~3,800~99%