Framework multi-mecanismo para desempacotar e analisar binários protegidos por VM usando rastreamento dinâmico de manchas, execução simbólica, classificação de padrões e priorização orientada por ML para automatizar a engenharia reversa de proteções comerciais e personalizadas.
Projeto será público até meados de outubro - Refatoração em andamento
Framework Avançado de Detecção e Análise de Máquinas Virtuais
VMDragonSlayer é um framework abrangente para análise de binários protegidos por protetores baseados em Máquina Virtual (VM) como VMProtect 2.x/3.x, Themida e VMs personalizadas de malware. O framework combina múltiplos motores de análise, incluindo Rastreamento Dinâmico de Taint (DTT), Execução Simbólica (SE), Classificação de Padrões e Aprendizado de Máquina para automatizar o processo de engenharia reversa.
Objetivo: Transformar a análise complexa de binários protegidos de semanas/meses de trabalho manual em uma análise estruturada e automatizada com resultados explicáveis.
| Domínio | Motor / Módulo | Destaques |
|---|---|---|
| Descoberta de VM | analysis.vm_discovery | Identificação de tabela de despacho e manipuladores, heurísticas de VM aninhada |
| Análise de Padrões | analysis.pattern_analysis | Baseado em regras + similaridade + ML (seleção automática híbrida) |
| Rastreamento de Taint | analysis.taint_tracking | Taint em nível de byte orientado por Intel Pin, descoberta de manipuladores, confiança de fluxo |
| Execução Simbólica | analysis.symbolic_execution.executor | Exploração ponderada por ML com PathPrioritizer, rastreamento de restrições e estados |
| Orquestração Híbrida | (núcleo Python) | Fluxos de trabalho sequenciais / paralelos / adaptativos (relatório Ghidra indica implementado) |
| Dados Sintéticos | data/training/synthetic_sample_generator.py | Mutação de ofuscação, geração de amostras multi-arquitetura |
| Banco de Padrões | data/patterns/ | JSON + BD aprimorado + padrões de tempo de execução baseados em SQLite |
| Plugin Ghidra | plugins/ghidra/ | Integração de UI em andamento (vários templates faltando) |
| Esquemas / Validação | data/schemas/ | Esquemas JSON para validação de saída de análise e formatos de padrões |
VMDragonSlayer usa uma arquitetura modular onde múltiplos motores de análise trabalham juntos:
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/ # Pacote Python principal
│ ├── analysis/ # Motores de análise
│ │ ├── vm_discovery/ # Detecção e classificação de VM
│ │ ├── pattern_analysis/ # Correspondência de padrões e classificação ML
│ │ ├── symbolic_execution/ # Motor de execução simbólica
│ │ ├── taint_tracking/ # Análise dinâmica de taint
│ │ └── anti_evasion/ # Contramedidas de anti-análise
│ ├── api/ # Servidor e cliente REST API
│ ├── core/ # Componentes principais do framework
│ ├── ml/ # Pipeline de aprendizado de máquina
│ ├── analytics/ # Relatórios de análise e métricas
│ ├── gpu/ # Suporte a aceleração GPU
│ ├── utils/ # Funções utilitárias
├── data/ # Arquivos de configuração e dados
│ ├── patterns/ # Banco de padrões
│ ├── models/ # Modelos ML e metadados
│ │ ├── pretrained/ # Modelos pré-treinados (PoC)
│ │ └── metadata/ # Metadados e esquemas de modelos
│ ├── samples/ # Amostras e registros de amostras
│ ├── schemas/ # Esquemas JSON para validação
│ └── training/ # Configurações de treinamento
├── plugins/ # Plugins de ferramentas de engenharia reversa
│ ├── ghidra/ # Plugin Ghidra (Java/Gradle)
│ ├── idapro/ # Plugin IDA Pro (Python)
│ └── binaryninja/ # Plugin Binary Ninja (Python)
├── tests/ # Conjunto de testes
├── documentation/ # Documentação
└── LICENSE # Licença GPL v3
VMDragonSlayer integra-se com as principais ferramentas de engenharia reversa:
Nota: Os modelos ML incluídos são implementações básicas de prova de conceito projetadas para fins de pesquisa e educacionais.