Многофункциональный фреймворк для распаковки и анализа бинарных файлов, защищённых виртуальными машинами, использующий динамическое отслеживание меток, символьное выполнение, классификацию шаблонов и приоритизацию на основе машинного обучения для автоматизации обратной разработки коммерческих и пользовательских протекторов.
Проект будет опубликован к середине октября. Рефакторинг в процессе.
Продвинутая платформа для обнаружения и анализа виртуальных машин
VMDragonSlayer — это комплексная платформа для анализа бинарных файлов, защищённых протекторами на основе виртуальных машин (VM), такими как VMProtect 2.x/3.x, Themida и пользовательскими вредоносными VM. Платформа объединяет несколько аналитических движков, включая динамическое отслеживание меток (DTT), символьное выполнение (SE), классификацию шаблонов и машинное обучение, чтобы автоматизировать процесс обратной разработки.
Цель: Превратить сложный анализ защищённых бинарных файлов, занимающий недели/месяцы ручной работы, в структурированный, автоматизированный анализ с объяснимыми результатами.
| Область | Движок / Модуль | Основные возможности |
|---|---|---|
| Обнаружение VM | analysis.vm_discovery | Идентификация диспетчера и таблицы обработчиков, эвристика вложенных VM |
| Анализ шаблонов | analysis.pattern_analysis | На основе правил + по сходству + ML (гибридный авто-выбор) |
| Отслеживание меток | analysis.taint_tracking | Отслеживание меток на уровне байтов через Intel Pin, обнаружение обработчиков, уверенность потока |
| Символьное выполнение | analysis.symbolic_execution.executor | Исследование с весами PathPrioritizer (ML), отслеживание ограничений и состояний |
| Гибридная оркестровка | (ядро Python) | Последовательные / параллельные / адаптивные рабочие процессы (отчёт Ghidra указывает на реализацию) |
| Синтетические данные | data/training/synthetic_sample_generator.py | Мутации обфускации, генерация образцов для нескольких архитектур |
| База шаблонов | data/patterns/ | JSON + расширенная БД + шаблоны времени выполнения на основе SQLite |
| Плагин Ghidra | plugins/ghidra/ | В разработке UI-интеграция (несколько шаблонов отсутствуют) |
| Схемы / Валидация | data/schemas/ | Выходные данные анализа и форматы шаблонов, проверенные по JSON-схеме |
VMDragonSlayer использует модульную архитектуру, в которой несколько аналитических движков работают совместно:
graph TD
A[VM Discovery Engine] --> B[Pattern/ML Classifier]
B --> C[Symbolic Execution Engine]
B --> D[Dynamic Taint Tracker]
D --> C
subgraph DataSources ["Data Sources"]
E[Pattern Database]
F[ML Models - PoC]
end
subgraph Coordination
G[Orchestrator - Workflow Management & Coordination]
end
E --> B
F --> B
A --> G
B --> G
C --> G
D --> G
E --> G
F --> G
G --> H[REST API Server]
G --> I[Plugins - RE Tools]
dragonslayer.analysis.vm_discovery)dragonslayer.analysis.taint_tracking)dragonslayer.analysis.pattern_analysis)dragonslayer.analysis.symbolic_execution)dragonslayer.ml)VMDragonSlayer/
├── dragonslayer/ # Главный пакет Python
│ ├── analysis/ # Аналитические движки
│ │ ├── vm_discovery/ # Обнаружение и классификация VM
│ │ ├── pattern_analysis/ # Сопоставление шаблонов и ML-классификация
│ │ ├── symbolic_execution/ # Движок символьного выполнения
│ │ ├── taint_tracking/ # Динамический анализ меток
│ │ └── anti_evasion/ # Контрмеры против антианализа
│ ├── api/ # REST API сервер и клиент
│ ├── core/ # Базовые компоненты платформы
│ ├── ml/ # Конвейер машинного обучения
│ ├── analytics/ # Отчётность и метрики анализа
│ ├── gpu/ # Поддержка ускорения на GPU
│ ├── utils/ # Вспомогательные функции
├── data/ # Файлы конфигурации и данных
│ ├── patterns/ # База шаблонов
│ ├── models/ # ML-модели и метаданные
│ │ ├── pretrained/ # Предобученные модели (PoC)
│ │ └── metadata/ # Метаданные моделей и схемы
│ ├── samples/ # Примеры файлов и реестры
│ ├── schemas/ # JSON-схемы для валидации
│ └── training/ # Конфигурации обучения
├── plugins/ # Плагины для инструментов обратной разработки
│ ├── ghidra/ # Плагин Ghidra (Java/Gradle)
│ ├── idapro/ # Плагин IDA Pro (Python)
│ └── binaryninja/ # Плагин Binary Ninja (Python)
├── tests/ # Набор тестов
├── documentation/ # Документация
└── LICENSE # Лицензия GPL v3
VMDragonSlayer интегрируется с основными инструментами обратной разработки:
Примечание: Включённые ML-модели — это базовые концептуальные реализации, предназначенные для исследовательских и образовательных целей.