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
vmp2 — Strumenti di deoffuscazione per VMProtect2 | Kitploit
Strumenti/GitHubGitHub/backengineering/vmp2
Analisi Dinamica (Sandboxing)Analisi delle VulnerabilitàReverse EngineeringDebuggerAnalisi di BinariPaper e RicercaApprendimento e FormazioneAnalisi del FirmwareBinary ExploitationArchived
GitHubbackengineering/vmp2

vmp2

130229 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

Strumenti di deoffuscazione per VMProtect2

Vedi Repository

Introduzione

Questo repository è una raccolta di strumenti legacy per lavorare con binari protetti da VMProtect 2.
Questi strumenti permettono l'unpacking, l'analisi e la devirtualizzazione sperimentale di software protetto con VMProtect 2. Al centro di questa raccolta c'è vmprofiler, una libreria utility che fornisce la logica fondamentale utilizzata da tutti gli altri strumenti. È responsabile dell'identificazione dei componenti chiave di VMProtect 2 come VM handlers, la handler table, trasformazioni e altro.

Avvertenza

Le lezioni apprese da questo progetto vecchio di oltre 4 anni dovrebbero essere trasmesse a chi è interessato alla devirtualizzazione.

Questo progetto tenta di identificare singoli VM handler. Questo approccio è fragile, non scala e può essere sconfitto da cambiamenti nell'architettura della macchina virtuale (interconnessione di più handler, handler complessi, ecc.). Invece, sostengo una strategia di lifting incrementale e recupero del flusso di controllo con una logica di deoffuscazione minima specifica per VM. Strumenti come Saturn, Dna di Colton, Triton e Mergen hanno deoffuscato con successo VMProtect con poca o nessuna identificazione di handler specifici della VM. Questo repository documenta l'architettura di VMProtect 2 e funge da monito: evitate di costruire strumenti di devirtualizzazione che dipendono fortemente dall'identificazione di handler specifici della macchina virtuale.

Un approccio semi-generico alla devirtualizzazione di VMProtect richiede un framework robusto che supporti la propagazione load/store, la propagazione di costanti di sezione, DCE e una manciata di altre semplici ottimizzazioni. Molte persone tentano di usare LLVM per ricompilare in codice nativo; tuttavia, credo che questo approccio produrrà sempre un output non ottimale. Abbiamo il nostro framework, blare2, che offre capacità pulite di lift e lowering 1:1 che sfruttiamo per i nostri scopi di deoffuscazione. Se siete interessati a servizi di consulenza per la deoffuscazione, possiamo fornirli, purché la nostra agenda lo permetta.


Panoramica degli strumenti

  • vmemu
    Uno strumento di esplorazione della macchina virtuale basato su Unicorn Engine. Permette di unpackare programmi protetti e analizzare il flusso di controllo all'interno di un vmenter specificato.
    Questo strumento genera un file .vmp2 contenente il grafo di flusso di controllo del dato punto di ingresso VM.
    Il file .vmp2 risultante può poi essere passato a vmdevirt per ricompilare la funzione in x86 nativo e reintegrarla nel binario originale. Si noti che questo NON è un semplice tracer che scopre solo un singolo percorso attraverso una funzione, identifica effettivamente i jcc virtuali ed esplora tutto il flusso di controllo virtualizzato.

  • vmdevirt
    Un ricompilatore sperimentale basato su LLVM per file .vmp2.
    Sebbene funzioni, è considerato altamente sperimentale e instabile, e questo approccio è generalmente sconsigliato.

  • vmassembler
    Un assemblatore sperimentale per codificare operazioni della macchina virtuale definite dall'utente.
    Questo progetto dimostra una profonda comprensione tecnica dell'architettura della macchina virtuale di VMProtect 2.

  • vmhook
    Uno strumento progettato per fare hook nella macchina virtuale di VMProtect 2 in fase di esecuzione, consentendo un'introspezione dettagliata di .


Unpacker di VMProtect 2

Si prega di seguire le istruzioni in questa pagina.

Istruzioni di compilazione

Prerequisiti

  • CMake ≥ 3.11
  • Compilatore C++
  • Visual Studios 2022 per vmhook
  • Almeno 50 GB di spazio libero per LLVM e altri artefatti di compilazione

Configurazione per vmassembler, vmemu, vmprofiler e vmprofiler-cli:

root@kitploit:~
cmake -B build
cmake --build build

Con vmdevirt (scaricerà e compilerà LLVM!):

root@kitploit:~
cmake -B build -DBUILD_VMDEVIRT=ON -DLLVM_BUILD_TYPE=Release
cmake --build build

Con vmprofiler-qt:

root@kitploit:~
cmake -B build -DBUILD_VMPROFILER_QT=ON
cmake --build build

Entrambi i moduli opzionali:

root@kitploit:~
cmake -B build -DBUILD_VMDEVIRT=ON -DBUILD_VMPROFILER_QT=ON -DLLVM_BUILD_TYPE=Release
cmake --build build

Disclaimer legale

Questi strumenti sono forniti esclusivamente a scopo educativo e di ricerca. Non devono essere utilizzati per attività illegali, accessi non autorizzati o violazioni del DMCA o di altre leggi. Gli strumenti stessi non violano alcuna normativa DMCA. Tutto il lavoro è una mia creazione originale, e qualsiasi azione intrapresa dagli utenti di questi strumenti è di esclusiva responsabilità di tali utenti e non riflette le azioni o le intenzioni dell'autore.

Scarica lo strumento
singoli VM handler
  • vmprofiler
    La libreria utility principale che alimenta tutti gli altri strumenti.
    Include pattern matching per VM handler, estrazione della tabella degli handler, eliminazione del codice morto (DCE) e altre routine di analisi essenziali.

  • vmprofiler-cli
    Una interfaccia a riga di comando per vmprofiler, che consente agli utenti di visualizzare e ispezionare le informazioni estratte in formato testuale.

  • vmprofiler-qt
    Un disassemblatore grafico basato su Qt per il bytecode di VMProtect 2, fornendo un'esplorazione interattiva e visiva del codice virtualizzato.