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 — Spacchetta e deoffusca binari protetti da VMProtect 2 con un esploratore di VM basato su emulazione, un profiler di handler e un ricompilatore LLVM sperimentale per la devirtualizzazione. | Kitploit
Strumenti/GitHubGitHub/aftermathlabs/vmp2
Analisi Statica del Codice (SAST)Analisi del CodiceAnalisi Dinamica del Codice (DAST)Reverse EngineeringAnalisi MalwareAnalisi di BinariArchived
GitHubaftermathlabs/vmp2

vmp2

Spacchetta e deoffusca binari protetti da VMProtect 2 con un esploratore di VM basato su emulazione, un profiler di handler e un ricompilatore LLVM sperimentale per la devirtualizzazione.

Vedi Repository
131239 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

Introduzione

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

Avvertenza

Le lezioni apprese da questo progetto di oltre 4 anni dovrebbero essere trasmesse a coloro che sono interessati alla devirtualizzazione.

Questo progetto tenta di identificare i singoli VM handler. Questo approccio è fragile, non scala e può essere sconfitto da modifiche all'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 la VM. Strumenti come Saturn, Dna by 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 nota di cautela: evita di costruire strumenti di devirtualizzazione che dipendano 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 di load/store, la propagazione di costanti di sezione, la 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à di lift e lowering pulite 1:1 che sfruttiamo per i nostri scopi di deoffuscazione. Se sei interessato a servizi di consulenza per la deoffuscazione, possiamo fornirli purché abbiamo spazio in agenda.


Panoramica degli Strumenti

  • vmemu
    Uno strumento di esplorazione della macchina virtuale basato su Unicorn Engine. Consente di effettuare l'unpacking di 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ò quindi 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 funzionante, è considerato altamente sperimentale e instabile, e questo approccio è generalmente sconsigliato.

  • vmassembler
    Un assembler sperimentale per codificare operazioni di 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 agganciarsi alla macchina virtuale di VMProtect 2 in fase di esecuzione, consentendo un'ispezione dettagliata dei .


Unpacker per VMProtect 2

Segui le istruzioni in questa pagina.

Istruzioni di Compilazione

Prerequisiti

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

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

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

Con vmdevirt (scaricherà 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 norma del 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 di utilità principale che alimenta tutti gli altri strumenti.
    Include il pattern matching dei VM handler, l'estrazione della tabella degli handler, l'eliminazione del codice morto (DCE) e altre routine di analisi essenziali.

  • vmprofiler-cli
    Un'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, che offre un'esplorazione interattiva e visiva del codice virtualizzato.