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
Tools/GitHubGitHub/0xnobody/vmpdump
Dynamische Analyse (Sandboxing)ExploitationReverse EngineeringDebuggerBinäranalyse
GitHub0xnobody/vmpdump

vmpdump

Ein dynamischer VMP-Dumper und Import-Fixer, unterstützt von VTIL.

Repository anzeigen
1.4k231vor 5 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

VMPDump

Ein dynamischer VMP-Dumper und Import-Fixer, angetrieben von VTIL. Funktioniert für VMProtect 3.X x64.

Vorher vs Nachher

Verwendung

VMPDump.exe <Target PID> "<Target Module>" [-ep=<Entry Point RVA>] [-disable-reloc]

Argumente:

  • <Target PID>: Die ID des Zielprozesses, in dezimaler oder hexadezimaler Form.
  • <Target Module>: Der Name des Moduls, das gedumpt und gefixt werden soll. Dies kann ein leerer String ("") sein, wenn das Prozess-Image-Modul gewünscht ist.
  • [-ep=<Entry Point RVA>]: Ein optional bereitgestellter Entry-Point-RVA in hexadezimaler Form. VMPDump überschreibt einfach den Entry Point im optionalen Header mit diesem Wert.
  • [-disable-reloc]: Eine optionale Einstellung, um VMPDump anzuweisen, zu markieren, dass Relocs im Ausgabe-Image entfernt wurden, wodurch das Image gezwungen wird, an der gedumpten ImageBase zu laden. Dies ist nützlich, wenn ausführbare Dumps gewünscht sind.

Die VMProtect-Initialisierung und das Entpacken müssen im Zielprozess abgeschlossen sein, bevor VMPDump ausgeführt wird. Das bedeutet, es muss sich am oder nach dem OEP (Original Entry Point) befinden. Das gedumpte und gefixte Image erscheint im Prozess-Image-Modul-Verzeichnis unter dem Namen <Target Module Name>.VMPDump.<Target Module Extension>.

Wie es funktioniert

VMProtect injiziert Stubs für jeden Import-Call oder -Jmp. Diese Stubs lösen den 'verschleierten' Thunk im Abschnitt .vmpX auf und fügen eine feste Konstante hinzu, um ihn zu 'entschleiern'. Die Calls oder Jumps selbst werden dann mit einer ret-Anweisung abgesetzt.

VMPDump durchsucht alle ausführbaren Abschnitte nach diesen Stubs und hebt sie mit dem VTIL x64-Lifter zu VTIL an. Dann wird eine Analyse dieser Stubs durchgeführt, um zu bestimmen, welche Art von Call ersetzt werden muss und welche Bytes überschrieben werden müssen.

Sobald alle Calls abgerufen wurden, erstellt VMPDump eine neue Import-Tabelle und fügt Thunks zur bestehenden IAT hinzu. Die Aufrufe der VMP-Import-Stubs werden durch direkte Aufrufe dieser Thunks ersetzt.

Beachten Sie, dass es in mutierten Routinen Situationen gibt, in denen nicht genügend Bytes vorhanden sind, um den VMP-Import-Stub-Aufruf durch einen direkten Thunk-Aufruf zu ersetzen, da letzterer 1 Byte größer ist. In diesen Fällen wird der Abschnitt erweitert und ein Stub injiziert, der zum Import-Thunk springt. Der VMP-Import-Stub-Aufruf wird dann durch einen 5-Byte-relativen Call oder Jmp zu diesem injizierten Stub ersetzt.

Erstellung (CMake)

root@kitploit:~
mkdir build && cd build
cmake -G "Visual Studio 16 2019" ..
cmake --build . --config Release

Erstellung (Visual Studio)

Das Erstellen in VS ist so einfach wie das Ersetzen der Include-/Library-Verzeichnisse durch VTIL-NativeLifers/VTIL-Core/Keystone/Capstone in der vcxproj.

Das Projekt erfordert C++20.

Probleme und Einschränkungen

Aufgrund der Tatsache, dass Codeabschnitte linear gescannt werden, insbesondere in stark mutiertem und verschleiertem Code, können einige Import-Stub-Aufrufe übersprungen und daher nicht aufgelöst werden. VMPDump enthält jedoch Workarounds für die meisten Inkonsistenzen der VMProtect-Mutation, sodass es auch bei stark mutiertem Code gute Ergebnisse liefern sollte.

Wenn Sie darauf stoßen, erstellen Sie bitte ein Issue mit den relevanten Informationen, und ich werde es mir ansehen.

Lizenz

Lizenziert unter der GPL-3.0-Lizenz. Es wird keinerlei Garantie gewährt.

Tool herunterladen