
Devirtualizzatore VMProtect generalizzato con supporto per le versioni 1.x, 2.x e 3.x. Strumento CLI autonomo + plugin Ghidra.
Stato: ✅ Pronto per la produzione | Validazione: 22/22 campioni (100%) | Ambito: VMP ≤3.6 (3.7+ richiede reverse engineering)
cd /home/ciupix/vmp_devirt_prod
cargo build --release
Binario: 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
Campioni Testati:
Vedi VALIDATION_REPORT.md per i risultati dettagliati.
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)
Totale: ~2.800 righe di codice Rust di produzione
Euristiche basate su:
VMP 1.x/2.x: Estrazione della chiave XOR tramite pattern matching nella sezione .text
VMP 3.x: Dispatch tramite catena di handler
Pattern matching su:
FUTURE_WORK.md per i dettagli.VALIDATION_REPORT.md - Risultati di test completiIMPLEMENTATION_COMPLETE.md - Stato dell'implementazioneUNICORN_IMPLEMENTATION_REPORT.md - Dettagli sull'acquisizione della chiave XORArchitettura basata sull'analisi della fuga del codice sorgente VMP 3.5.1:
Uso per Ricerca/Scopi Educativi
Per problemi o domande, fai riferimento ai report di validazione o alla documentazione dell'implementazione.
Ultimo Aggiornamento: 2026-06-01 Stato: Pronto per la produzione
| Versione |
|---|
| Campioni |
|---|
| Successo |
|---|
| Tempo Medio |
|---|
| VMP 1.x | 4 | 4/4 | 38ms |
| VMP 2.x | 6 | 6/6 | 734ms |
| VMP 3.x | 12 | 12/12 | 39ms |
| Modulo | Scopo | Righe |
|---|
src/lib.rs | Interfaccia principale della libreria | 150 |
src/version.rs | Rilevamento versione VMP | 200 |
src/pe_loader.rs | Caricamento binari PE/ELF | 350 |
src/dispatch_table.rs | Estrazione tabella di dispatch | 400 |
src/unicorn_emulator.rs | Acquisizione chiave XOR | 308 |
src/handler_classifier.rs | Identificazione tipo handler | 280 |
src/bytecode.rs | Lettura/decodifica bytecode | 320 |
src/decrypt.rs | Catene ValueCryptor | 250 |
src/alu.rs | Ricostruzione operazioni ALU | 200 |
src/opcode_table.rs | Gestione opcode | 180 |
src/bin/cli.rs | Strumento CLI | 400 |