
Ein automatisiertes Tool zum Entpacken und Reparieren von Dumps für Themida / Code Virtualizer / WinLicense (v3.0-v4)
Ein universeller Unpacker für Themida-geschützte Binärdateien und ein Werkzeug zur Entfernung von Laufzeitschutz. Unthemidator führt die Binärdatei NICHT aus und ruft auch keine APIs auf oder führt Syscalls aus, die von Zielbinärdateien auf dem Host-Rechner verwendet werden.
Unthemidator funktioniert mit allen Arten von Windows-Binärdateien (dll, exe, sys und andere) sowohl in x86- (32-Bit-) als auch in x86_64-/amd64-Varianten (64-Bit).
Nach dem Entpacken wird ein vollständiger PE-Neuaufbau durchgeführt, wodurch die entpackte Binärdatei ausführbar und debugbar wird.
Zusätzlich zum Entpacken und PE-Neuaufbau kann Unthemidator die Version der in Binärdateien verwendeten Themida-/Code-Virtualizer-Virtualmaschinen identifizieren.
Ziehen Sie einfach eine gepackte Binärdatei per Drag-and-Drop auf unthemidator oder verwenden Sie unter Windows den folgenden CLI-Befehl:
unthemidator.exe [options] {path_to_bin.exe|.dll|.sys|.bin}
und den folgenden CLI-Befehl auf einem Unix-basierten System:
./unthemidator [options] {path_to_bin.exe|.dll|.sys|.bin}
Eine PE wird nur dann als Kernel-Treiber betrachtet, wenn ihre Dateiendung .sys ist. Dies geschieht, um eine korrekte Analyse von Dateien mit beliebigen Endungen standardmäßig als Usermode-Anwendungen zu gewährleisten. Ganz zu schweigen davon, dass gepackte Kernel-Treiber äußerst selten sind und nur auf unsicheren Systemen laufen können.
Nachfolgend finden Sie eine vollständige Übersicht aller unthemidator-Optionen.
--out-file - Name / Pfad der Ausgabedatei. Standardwert ist {program_name}.unpacked.{program_extension}--license-file - Name / Pfad der Lizenzdatei. Erforderlich für das erfolgreiche Entpacken von mit WinLicense geschützten Binärdateien.--imports-file - Name (oder Pfad) der Datei, in der Informationen zu Imports gespeichert werden sollen. Sollte JSON sein. Standardwert ist {program_name}.imports.json--vms-file - Name (oder Pfad) der Datei, in der Informationen zu VM-Einstiegspunkten gespeichert werden sollen. Sollte JSON sein. Standardwert ist {program_name}.vms.json--vm-depth - für die Virtual-Machine-Forschung und das Tracing virtueller Instruktionen: wie viele Virtualisierungsebenen im Single-Step-Verfahren durchlaufen werden sollen. Standardwert ist 0 - keine VM-Erkundung.--no-imp - Import-Lookup überspringen--no-startup - Runtime-Startup-Verarbeitung überspringen. Dies verhindert JEDES Entpacken außer der initialen Boot-Phase.--no-vm-lookup - Virtual-Machine-Lookup überspringen--no-loader - Generierung des Anti-Dump-Fixer-Loaders überspringen. Dies kann die Binärdatei nicht ausführbar machen, wenn die OEP virtualisiert ist oder pro-Makro-Sicherheitsprüfungen vorhanden sindEinige Binärdateien sind auf benutzerdefinierte Module angewiesen, die mit dem Programm ausgeliefert werden. Sie können einfach alle benutzerdefinierten Module
im Verzeichnis modules ablegen, bevor Sie solche Binärdateien entpacken. Dasselbe kann für fehlende System-
module durchgeführt werden, was nützlich ist, wenn Sie unthemidator auf einem Unix-System ausführen.
Wenn Sie ein Problem haben oder etwas nicht wie beabsichtigt funktioniert (oder überhaupt nicht funktioniert), erstellen Sie ein Issue in diesem Repository.
Besuchen Sie die Seite Releases, um vorkompiliertes unthemidator zu finden. Derzeit sind die folgenden Varianten verfügbar:
Erfahren Sie mehr über die Interna der Themida-Obfuskation, einschließlich ihrer virtuellen Maschinen, in den folgenden Artikeln:
Möchten Sie über Deobfuskation oder Reverse Engineering sprechen?