Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
vmprotect-research | Kitploit
Strumenti/GitHubGitHub/rasetsuu/vmprotect-research
Analisi StaticaAnalisi Dinamica (Sandboxing)Reverse EngineeringDebuggerAnalisi di BinariPaper e RicercaApprendimento e FormazioneAnalisi del FirmwareBinary Exploitation
GitHubrasetsuu/vmprotect-research

vmprotect-research

Vedi Repository
4892 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

VMP Devirtualizer - Rilascio di Produzione

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)


Funzionalità

  • Supporto Multi-Versione: VMP 1.x, 2.x, 3.x (1.1 → 3.10.5)
  • Rilevamento Versione: Identificazione automatica tramite euristiche
  • Estrazione Tabella di Dispatch: Acquisizione chiave XOR tramite Unicorn per tabelle crittografate
  • Classificazione Handler: 256 tipi di handler in tutte le versioni
  • Decodifica Bytecode: operazioni VM → ricostruzione istruzioni x86-64
  • Supporto Piattaforme: binari Windows PE + Linux ELF
  • Integrazione Decompilatore: bytecode VM → pseudocodice
  • Plugin Ghidra: analisi interattiva degli handler + annotazione

Avvio Rapido

Compilazione

root@kitploit:~
cd /home/ciupix/vmp_devirt_prod
cargo build --release

Binario: target/release/vmp_devirt

Utilizzo

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

Risultati della Validazione

Riepilogo

  • Totale Campioni: 22
  • Tasso di Successo: 22/22 (100%)
  • Tempo Medio di Elaborazione: 229 ms
  • Tempo Totale: 5,0 secondi

Per Versione

Campioni Testati:

  • VMP 1.x: HiVmp.vmp.1.1.exe, HiVmp.vmp.1.4.exe, HiVmp.vmp.1.54.exe, HiVmp.vmp.1.70.4.exe
  • VMP 2.x: Branch0.vmp.exe, HiVmp.exe, mfc_algo_demo.vmp.exe, Project1.vmp.exe, Project2.vmp.exe, Project4.vmp.exe
  • VMP 3.x: add_control_flow.vmp.exe, adder.vmp.exe, bitwise.vmp.exe, control_flow_test.vmp.exe, cpuid_test.vmp.exe, fac_fib.vmp.exe, globals.vmp.exe, hello_world.vmp.exe, multiadder.vmp.exe, nested_virt_funccall.vmp.exe, ptr_drf.vmp.exe, switch.vmp.exe

Vedi VALIDATION_REPORT.md per i risultati dettagliati.


Architettura

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

Moduli Principali

Totale: ~2.800 righe di codice Rust di produzione


Dettagli di Implementazione

Rilevamento Versione

Euristiche basate su:

  • Pattern di ingresso degli handler (opcode POP/PUSH)
  • Meccanismo di dispatch (jumptable vs. catena crittografata vs. catena di handler)
  • Layout delle sezioni PE (.vmp0, .vmp1, .text)
  • Pattern dello stub di ingresso (PUSH crittografato + CALL/JMP)

Estrazione Tabella di Dispatch

VMP 1.x/2.x: Estrazione della chiave XOR tramite pattern matching nella sezione .text

  • Analizza i pattern di istruzioni XOR
  • Deriva le chiavi dalle sequenze di opcode
  • Valida rispetto all'intervallo dell'image base

VMP 3.x: Dispatch tramite catena di handler

  • Individua i punti di dispatch (DP0-DP5)
  • Traccia le catene di handler
  • Estrae 256 voci di dispatch

Classificazione Handler

Pattern matching su:

  • Pattern di ingresso (49 8b 2a = POP per VMP 3.x)
  • Operazione principale (SUB, ADD, XOR, ecc.)
  • Tipi di operando (slot, offset, immediato)
  • Meccanismo di dispatch (push/ret, jmp diretto)

Decodifica Bytecode

  1. Leggere l'opcode dalla sezione bytecode
  2. Cercare la semantica dell'handler
  3. Estrarre gli operandi (slot, offset)
  4. Decrittare gli operandi tramite le catene ValueCryptor
  5. Ricostruire l'istruzione x86-64
  6. Gestire il contesto VM (register file, flag, stack)

Limitazioni Note

  1. VMP 3.7+ (Handler Uniti) - Non supportato. VMP 3.7+ ha introdotto gli handler uniti (più operazioni per voce di handler) che compromettono il classificatore attuale. Richiede reverse engineering con un campione reale 3.7+. Vedi FUTURE_WORK.md per i dettagli.
  2. Avvisi di Validazione Chiave XOR - Previsti per VMP 1.x/2.x (non critici)
  3. Rilevamento Dispatch VMP 3.x - Usa una strategia di fallback per le offuscazioni più recenti
  4. Campioni Linux - Non inclusi nel set di test attuale (supporto ELF implementato)

Prestazioni

  • Throughput: ~4,4 campioni/secondo
  • Memoria: <50MB per campione
  • Latenza: 5ms-3,25s a seconda della dimensione del binario

Documentazione

  • VALIDATION_REPORT.md - Risultati di test completi
  • IMPLEMENTATION_COMPLETE.md - Stato dell'implementazione
  • UNICORN_IMPLEMENTATION_REPORT.md - Dettagli sull'acquisizione della chiave XOR

Riferimenti alla Sorgente

Architettura basata sull'analisi della fuga del codice sorgente VMP 3.5.1:

  • Struttura degli handler e meccanismo di dispatch
  • Implementazione delle catene ValueCryptor
  • Pattern delle operazioni ALU
  • Gestione del contesto VM

Licenza

Uso per Ricerca/Scopi Educativi


Contatti

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

Scarica lo strumento
Versione
Campioni
Successo
Tempo Medio
VMP 1.x44/438ms
VMP 2.x66/6734ms
VMP 3.x1212/1239ms
ModuloScopoRighe
src/lib.rsInterfaccia principale della libreria150
src/version.rsRilevamento versione VMP200
src/pe_loader.rsCaricamento binari PE/ELF350
src/dispatch_table.rsEstrazione tabella di dispatch400
src/unicorn_emulator.rsAcquisizione chiave XOR308
src/handler_classifier.rsIdentificazione tipo handler280
src/bytecode.rsLettura/decodifica bytecode320
src/decrypt.rsCatene ValueCryptor250
src/alu.rsRicostruzione operazioni ALU200
src/opcode_table.rsGestione opcode180
src/bin/cli.rsStrumento CLI400