
Extrahiert und entschlüsselt innere Payloads aus Donut-Obfuscator-Samples, indem Loader-Shellcode-Signaturen erkannt, die DONUT_INSTANCE-Struktur geparst und DONUT_MODULE-Daten gedumpt werden.
Ein Konfigurations- und Modul-Extraktor für den donut binary obfuscator
donut-decryptor prüft Datei(en) auf bekannte Signaturen des Loader-Shellcodes des donut-Obfuscators. Wenn diese gefunden werden, wird der Shellcode geparst, um die im Binary eingebettete DONUT_INSTANCE-Struktur zu lokalisieren, zu entschlüsseln und zu extrahieren, und es werden relevante Konfigurationsdaten gemeldet. Wenn ein DONUT_MODULE im Binary vorhanden ist, wird es entschlüsselt und auf die Festplatte geschrieben.
Sie können donut-decryptor installieren, indem Sie zum Stammverzeichnis des Projekts navigieren und pip verwenden:
cd /path/to/donut-decryptor
python -m pip install .
Nach der Installation steht ein Kommandozeilen-Skript zur Verfügung. Für Nutzungshinweise verwenden Sie:
donut-decryptor --help
Dieses Projekt verwendet Hatch für das Projektmanagement, Ruff für Linting und Formatierung sowie mypy für die Typprüfung.
Installieren Sie Hatch:
pip install hatch
hatch run test
hatch run test-cov # with coverage
hatch run lint:style # check style
hatch run lint:fmt # format code and fix issues
hatch run lint:typing # run mypy type checking
hatch run lint:all # run all checks
Die im Verzeichnis samples vorhandenen Dateien sind 7z-Dateien, die mit dem Passwort infected passwortgeschützt sind und alle Donuts enthalten, die mit diesem Skript dekodiert werden können.