
Devirtualizador VMProtect generalizado com suporte às versões 1.x, 2.x e 3.x. Ferramenta CLI autônoma + plugin Ghidra.
Status: ✅ Pronto para Produção | Validação: 22/22 amostras (100%) | Escopo: VMP ≤3.6 (3.7+ requer engenharia reversa)
cd /home/ciupix/vmp_devirt_prod
cargo build --release
Binário: target/release/vmp_devirt
# Analyze binary
./target/release/vmp_devirt <binary_path>
# Export handlers
./target/release/vmp_devirt <binary_path> --export-handlers handlers.json
# Export bytecode
./target/release/vmp_devirt <binary_path> --export-bytecode bytecode.json
Amostras Testadas:
Consulte VALIDATION_REPORT.md para resultados detalhados.
Input Binary
↓
PE/ELF Loader (src/pe_loader.rs)
↓
Version Detector (src/version.rs)
↓
Dispatch Table Extractor (src/dispatch_table.rs)
├─ Unicorn XOR Key Capture (src/unicorn_emulator.rs)
└─ Pattern Matching Fallback
↓
Handler Classifier (src/handler_classifier.rs)
↓
Bytecode Decoder (src/bytecode.rs)
├─ Operand Decryption (src/decrypt.rs)
└─ ALU Reconstruction (src/alu.rs)
↓
Output (JSON/Pseudo-asm)
Total: ~2.800 linhas de código Rust de produção
Heurísticas baseadas em:
VMP 1.x/2.x: extração de chave XOR via correspondência de padrões na seção .text
VMP 3.x: dispatch por cadeia de handlers
Correspondência de padrões em:
FUTURE_WORK.md para detalhes.VALIDATION_REPORT.md - Resultados completos dos testesIMPLEMENTATION_COMPLETE.md - Status da implementaçãoUNICORN_IMPLEMENTATION_REPORT.md - Detalhes da captura de chave XORArquitetura baseada na análise do vazamento do código-fonte do VMP 3.5.1:
Uso para Pesquisa/Educacional
Para problemas ou dúvidas, consulte os relatórios de validação ou a documentação de implementação.
Última Atualização: 2026-06-01 Status: Pronto para Produção
| Versão |
|---|
| Amostras |
|---|
| Sucesso |
|---|
| Tempo Médio |
|---|
| VMP 1.x | 4 | 4/4 | 38ms |
| VMP 2.x | 6 | 6/6 | 734ms |
| VMP 3.x | 12 | 12/12 | 39ms |
| Módulo | Finalidade | Linhas |
|---|
src/lib.rs | Interface principal da biblioteca | 150 |
src/version.rs | Detecção de versão do VMP | 200 |
src/pe_loader.rs | Carregamento de binários PE/ELF | 350 |
src/dispatch_table.rs | Extração da tabela de dispatch | 400 |
src/unicorn_emulator.rs | Captura de chave XOR | 308 |
src/handler_classifier.rs | Identificação do tipo de handler | 280 |
src/bytecode.rs | Leitura/decodificação de bytecode | 320 |
src/decrypt.rs | Cadeias ValueCryptor | 250 |
src/alu.rs | Reconstrução de operações ALU | 200 |
src/opcode_table.rs | Gerenciamento de opcodes | 180 |
src/bin/cli.rs | Ferramenta CLI | 400 |