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

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

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

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

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

Категории

Все категории
Loading categories
Enigma — Нативный C++ движок для reverse-engineering с конвейером дизассемблирования, декомпиляции и анализа PE/ELF-бинарников, включающий интерактивный GUI и декомпилятор, совместимый с Ghidra. | Kitploit
Инструменты/GitHubGitHub/bunnybuzz/enigma
Статический анализОбратная инженерияОтладчикиАнализ вредоносных программАнализ Бинарных ФайловОбратная Разработка с Помощью ИИ
GitHubbunnybuzz/enigma

Enigma

Нативный C++ движок для reverse-engineering с конвейером дизассемблирования, декомпиляции и анализа PE/ELF-бинарников, включающий интерактивный GUI и декомпилятор, совместимый с Ghidra.

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

Популярное

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

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

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

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

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

Enigma Engine

Собственный движок реверс-инжиниринга на C++, вдохновлённый конвейером анализа Ghidra.

Enigma устраняет зависимость от JVM и предоставляет автономное ядро анализа, которое можно встраивать, расширять и интегрировать непосредственно с нативными инструментами и ИИ-системами.


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

Enigma находится в активной разработке и уже имеет работающий сквозной конвейер анализа.

Движок анализа

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

GUI

  • Интерактивный дизассемблер
  • Hex-просмотрщик и патчинг
  • Декомпилятор
  • Встроенная визуализация потока управления
  • Граф вызовов
  • Исследование перекрёстных ссылок
  • Навигация по символам и функциям
  • Синхронизация между представлениями: Дизассемблер, Декомпилятор и Hex
  • Переименование функций и символов

Основной конвейер стабилен, а текущая работа сосредоточена на расширении покрытия функциональности, улучшении интеграции движка и GUI, а также на устранении оставшихся пробелов в возможностях, выявленных в ходе тестирования на паритет с Ghidra 12.1.3.


Архитектура

root@kitploit:~
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

Оригинальная работа против компонентов Ghidra

КомпонентИсточник
Движок декомпилятораНативная библиотека декомпилятора C++ Ghidra
Спецификации процессора SleighGhidra
Модель программыНативная реализация Enigma на C++
Системы типов и памятиНативная реализация Enigma на C++
Конвейер анализаНативная реализация Enigma на C++
Обнаружение функцийНативная реализация Enigma
Загрузчики бинарных файловНативная реализация Enigma
ХранилищеНативная реализация Enigma
GUIНативная реализация Qt6

Enigma использует компоненты Ghidra там, где они предоставляют необходимую низкоуровневую технологию анализа, в то время как окружающая архитектура движка реализована нативно на C++.


Сборка

Требования

  • C++17 или новее
  • CMake 3.20+
  • Ninja
  • Qt 6
  • Capstone
  • LMDB

Сборка

root@kitploit:~
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-бинарниках:

Бинарный файлEnigmaGhidraПолнота
notepad.exe62349898%+
shell32.dll30,23330,99397.55%
kernel32.dll3,763~3,800~99%

Дорожная карта

GUI

  • Интерактивный дизассемблер
  • Hex-просмотр
  • Просмотр декомпилированного C
  • Навигация между представлениями
  • Визуализация базовых блоков
  • Стрелки потока управления
  • Навигация по перекрёстным ссылкам
  • Переименование символов и функций
  • Патчинг бинарных файлов
  • Граф вызовов
  • Граф функций
  • Расширенный браузер перекрёстных ссылок

Движок и анализ

  • Система знаний о функциях (FKS)
  • Извлечение отпечатков функций
  • Проверка паритета с Ghidra 12.1.3
  • Завершение оставшихся частичных возможностей анализа
  • Нативная реализация недостающих возможностей загрузчика и анализа
  • Расширенное покрытие деманглера и системы типов
  • Поддержка дополнительных архитектур и форматов

Знания и ИИ

  • Система знаний о функциях (FKS)
  • Извлечение отпечатков функций
  • Обмен знаниями на основе репозитория
  • ИИ-ассистированное именование функций
  • ИИ-ассистированный вывод типов
  • Распознавание образов

Статус проекта

Enigma больше не является лишь прототипом ядра анализа. Нативный конвейер, уровень хранения, системы анализа и GUI работают.

Текущая разработка сосредоточена на расширении возможностей движка и подключении функциональности, которая уже существует в бэкенде, к GUI, а также на реализации оставшихся пробелов, выявленных в ходе анализа паритета.


Лицензия

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

Сторонние компоненты, используемые Enigma, остаются под действием их соответствующих лицензий.

Скачать инструмент