Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
vmprotect-research — Generalisierter VMProtect-Devirtualisierer, der Versionen 1.x–3.x unterstützt. Eigenständiges CLI-Tool und Ghidra-Plugin für automatisiertes Bytecode-Decoding, Handler-Klassifizierung und Rekonstruktion von x86-64-Instruktionen aus geschützten Binärdateien. | Kitploit
Tools/GitHubGitHub/rasetsuu/vmprotect-research
Statische AnalyseDynamische Analyse (Sandboxing)Reverse EngineeringDebuggerBinäranalysePapers & ForschungLernen & BildungFirmware-AnalyseBinary-Exploitation

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
GitHubrasetsuu/vmprotect-research

vmprotect-research

Generalisierter VMProtect-Devirtualisierer, der Versionen 1.x–3.x unterstützt. Eigenständiges CLI-Tool und Ghidra-Plugin für automatisiertes Bytecode-Decoding, Handler-Klassifizierung und Rekonstruktion von x86-64-Instruktionen aus geschützten Binärdateien.

Repository anzeigen
489vor 2 MonatenVon Kitploit geprüft

VMP Devirtualizer - Produktionsfreigabe

Generalisierter VMProtect-Devirtualizer mit Unterstützung für Versionen 1.x, 2.x und 3.x. Eigenständiges CLI-Tool + Ghidra-Plugin.

Status: ✅ Produktionsbereit | Validierung: 22/22 Beispiele (100%) | Bereich: VMP ≤3.6 (3.7+ erfordert Reverse Engineering)


Features

  • Multi-Versions-Unterstützung: VMP 1.x, 2.x, 3.x (1.1 → 3.10.5)
  • Versionserkennung: Automatische Identifikation mittels Heuristiken
  • Extraktion der Dispatch-Tabelle: Unicorn-XOR-Schlüsselerfassung für verschlüsselte Tabellen
  • Handler-Klassifikation: 256 Handler-Typen über alle Versionen hinweg
  • Bytecode-Dekodierung: VM-Ops → x86-64-Befehlsrekonstruktion
  • Plattformunterstützung: Windows PE + Linux-ELF-Binärdateien
  • Decompiler-Integration: VM-Bytecode → Pseudocode
  • Ghidra-Plugin: Interaktive Handler-Analyse + Annotation

Quick Start

Build

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

Binärdatei: target/release/vmp_devirt

Usage

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

Validation Results

Summary

  • Gesamtanzahl Beispiele: 22
  • Erfolgsquote: 22/22 (100%)
  • Durchschnittliche Verarbeitungszeit: 229 ms
  • Gesamtzeit: 5,0 Sekunden

By Version

Getestete Beispiele:

  • 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

Siehe VALIDATION_REPORT.md für detaillierte Ergebnisse.


Architecture

root@kitploit:~
Eingabe-Binärdatei
    ↓
PE/ELF-Lader (src/pe_loader.rs)
    ↓
Versionsdetektor (src/version.rs)
    ↓
Extraktion der Dispatch-Tabelle (src/dispatch_table.rs)
    ├─ Unicorn-XOR-Schlüsselerfassung (src/unicorn_emulator.rs)
    └─ Musterabgleichs-Fallback
    ↓
Handler-Klassifizierer (src/handler_classifier.rs)
    ↓
Bytecode-Dekodierer (src/bytecode.rs)
    ├─ Operanden-Entschlüsselung (src/decrypt.rs)
    └─ ALU-Rekonstruktion (src/alu.rs)
    ↓
Ausgabe (JSON/Pseudo-ASM)

Core Modules

Gesamt: ~2.800 Zeilen produktionsreifer Rust-Code


Implementation Details

Versionserkennung

Heuristiken basierend auf:

  • Handler-Einstiegsmuster (POP/PUSH-Opcodes)
  • Dispatch-Mechanismus (Sprungtabelle vs. verschlüsselte Kette vs. Handler-Kette)
  • PE-Abschnittslayout (.vmp0, .vmp1, .text)
  • Einstiegsstub-Muster (PUSH verschlüsselt + CALL/JMP)

Extraktion der Dispatch-Tabelle

VMP 1.x/2.x: XOR-Schlüsselextraktion mittels Musterabgleich im .text-Abschnitt

  • Scannt nach XOR-Befehlsmustern
  • Leitet Schlüssel aus Opcode-Sequenzen ab
  • Validiert gegen den Image-Base-Bereich

VMP 3.x: Dispatch der Handler-Kette

  • Lokalisiert Dispatch-Punkte (DP0-DP5)
  • Verfolgt Handler-Ketten
  • Extrahiert 256 Dispatch-Einträge

Handler-Klassifikation

Musterabgleich basierend auf:

  • Einstiegsmuster (49 8b 2a = POP für VMP 3.x)
  • Kernoperation (SUB, ADD, XOR, etc.)
  • Operandentypen (Slot, Offset, Immediate)
  • Dispatch-Mechanismus (push/ret, direkter jmp)

Bytecode-Dekodierung

  1. Opcode aus Bytecode-Abschnitt lesen
  2. Handler-Semantik nachschlagen
  3. Operanden extrahieren (Slot, Offset)
  4. Operanden über ValueCryptor-Ketten entschlüsseln
  5. x86-64-Befehl rekonstruieren
  6. VM-Kontext behandeln (Registerdatei, Flags, Stack)

Bekannte Einschränkungen

  1. VMP 3.7+ (Zusammengeführte Handler) - Nicht unterstützt. VMP 3.7+ führte zusammengeführte Handler ein (mehrere Operationen pro Handler-Eintrag), was den aktuellen Klassifizierer beeinträchtigt. Erfordert Reverse Engineering mit einem echten 3.7+ Beispiel. Siehe FUTURE_WORK.md für Details.
  2. Warnungen zur XOR-Schlüsselvalidierung - Erwartet für VMP 1.x/2.x (unkritisch)
  3. VMP 3.x Dispatch-Erkennung - Verwendet Fallback-Strategie für neuere Verschleierung
  4. Linux-Beispiele - Nicht im aktuellen Testsatz enthalten (ELF-Unterstützung implementiert)

Performance

  • Durchsatz: ~4,4 Beispiele/Sekunde
  • Speicher: <50 MB pro Beispiel
  • Latenz: 5 ms-3,25 s abhängig von der Binärgröße

Documentation

  • VALIDATION_REPORT.md - Umfassende Testergebnisse
  • IMPLEMENTATION_COMPLETE.md - Implementierungsstatus
  • UNICORN_IMPLEMENTATION_REPORT.md - Details zur XOR-Schlüsselerfassung

Quellverweise

Architektur basierend auf der Analyse des VMP 3.5.1 Quellcode-Leaks:

  • Handler-Struktur und Dispatch-Mechanismus
  • ValueCryptor-Kettenimplementierung
  • ALU-Operationsmuster
  • VM-Kontextverwaltung

Lizenz

Forschung/Bildungszwecke


Kontakt

Bei Problemen oder Fragen beachten Sie bitte die Validierungsberichte oder die Implementierungsdokumentation.


Zuletzt aktualisiert: 2026-06-01 Status: Produktionsbereit

Tool herunterladen
VersionBeispieleErfolgDurchschn. Zeit
VMP 1.x44/438 ms
VMP 2.x66/6734 ms
VMP 3.x1212/1239 ms
ModulZweckZeilen
src/lib.rsHauptbibliotheksschnittstelle150
src/version.rsVMP-Versionserkennung200
src/pe_loader.rsLaden von PE/ELF-Binärdateien350
src/dispatch_table.rsExtraktion der Dispatch-Tabelle400
src/unicorn_emulator.rsXOR-Schlüsselerfassung308
src/handler_classifier.rsIdentifikation des Handler-Typs280
src/bytecode.rsBytecode lesen/dekodieren320
src/decrypt.rsValueCryptor-Ketten250
src/alu.rsRekonstruktion von ALU-Operationen200
src/opcode_table.rsOpcode-Verwaltung180
src/bin/cli.rsCLI-Tool400