Unpacking
Obfuscation überwinden
Unpacking ist eine kostenlose Ethical Hacking Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Ethical Hacking Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Ethical Hacking Academy-Kurs umfasst insgesamt 4 Lektionen.
Was ist Packing?
Packing komprimiert oder verschlüsselt den eigentlichen Code eines Programms und verpackt ihn in einen kleinen Stub. Zur Laufzeit entpackt der Stub den ursprünglichen Code in den Speicher und führt ihn aus.
Malware-Autoren verwenden Packing, um Signaturen zu umgehen und die statische Analyse zu erschweren.
Warum entpacken?
Eine gepackte Binärdatei enthält wenige Zeichenketten, wenige Imports und eine hohe Entropie. Der aussagekräftige Code bleibt verborgen, bis der Stub ausgeführt wird.
Entpacken stellt den ursprünglichen Code wieder her, sodass Sie ihn statisch analysieren und echte IOCs extrahieren können.
Packprogramm erkennen
Werkzeuge wie Detect It Easy (DIE) und PEiD erkennen bekannte Packprogramme anhand ihrer Signatur. Eine hohe Entropie und eine sehr kleine Importtabelle sind ebenfalls deutliche Hinweise.
Zu den verbreiteten Packprogrammen gehören UPX, ASPack und Themida.
die sample.exe
# Packer: UPX(3.96)UPX entpacken
UPX ist ein verbreitetes, nicht bösartiges Packprogramm, das sich mit seinem eigenen Werkzeug zurückentwickeln lässt. Das Flag -d dekomprimiert die Binärdatei wieder in ihre ursprüngliche Form.
Viele Samples aus der Praxis verwenden UPX oder eine leicht modifizierte UPX-Version, daher ist dies häufig ein erster Versuch.
upx -d sample.exeManuelles Entpacken: Die Idee
Benutzerdefinierte Packprogramme können nicht mit einem Werkzeug rückgängig gemacht werden. Stattdessen lassen Sie den Stub den Code selbst im Speicher entpacken und sichern anschließend das Ergebnis.
Der Plan: Führen Sie das Sample unter einem Debugger aus, halten Sie die Ausführung unmittelbar nach dem Abschluss des Entpackens an und dumpen Sie den nun sichtbaren Code.
OEP finden
Der Original Entry Point (OEP) ist die Stelle, an die die Ausführung springt, sobald das Entpacken abgeschlossen ist. Wenn der OEP erreicht ist, befindet sich der echte Code im Speicher.
Zu den Techniken, ihn zu finden, gehören das Beobachten eines weiten Sprungs aus dem Stub heraus oder das Setzen eines Haltepunkts auf Speicher, in den der Stub schreibt und den er anschließend ausführt.
Haltepunkte zum Entpacken
Ein gängiger Trick ist ein Hardware-Haltepunkt auf dem Stack (der Stub stellt Register oft unmittelbar vor dem Sprung zum OEP wieder her) oder ein Haltepunkt auf häufig verwendeten API-Aufrufen des entpackten Codes.
Wenn der Haltepunkt am OEP ausgelöst wird, ist der ursprüngliche Code vollständig dekodiert.
Prozess dumpen
Dumpen Sie am OEP den Prozessspeicher in eine neue Datei. Werkzeuge wie Scylla (in x64dbg integriert) oder PE-sieve sichern das entpackte Image.
Der Dump enthält nun die tatsächlichen Anweisungen, läuft aber möglicherweise noch nicht eigenständig.
Imports wiederherstellen
Nach dem Dump ist die Import Address Table häufig beschädigt, weil das Packprogramm die Imports zur Laufzeit aufgelöst hat. Scylla kann die IAT wiederherstellen, sodass die gedumpte Datei analysiert werden kann.
Sobald die Imports korrigiert sind, können Sie den bereinigten Dump in Ghidra oder IDA laden.
Weitere Verschleierung
Neben Packing verwendet Malware weitere Verschleierungstechniken: zur Laufzeit entschlüsselte Zeichenketten, nutzlose Anweisungen, Abflachung des Kontrollflusses und Anti-Debugging-Prüfungen.
Diese Maßnahmen werden je nach Fall außer Kraft gesetzt, häufig durch die Kombination dynamischer Ablaufverfolgung mit geduldiger statischer Analyse.
Entpacktes Sample überprüfen
Bestätigen Sie nach dem Dumpen und Wiederherstellen der Imports den Erfolg, indem Sie die statische Analyse erneut ausführen: Nun sollten deutlich mehr Zeichenketten und eine gefüllte Importtabelle sichtbar sein.
Wenn die Entropie wieder normal ist und APIs sichtbar sind, war das Entpacken erfolgreich und der echte Code kann analysiert werden.
Kurze Überprüfung
Rufen Sie sich ins Gedächtnis, wofür der OEP beim manuellen Entpacken steht.
Zusammenfassung
Sie verstehen nun das Entpacken:
- Packing verbirgt den echten Code. Erkennbar ist es an DIE/PEiD, hoher Entropie und wenigen Imports.
- Bekannte Packprogramme wie UPX werden mit einem Werkzeug entpackt (
upx -d). - Bei benutzerdefinierten Packprogrammen führen Sie das Sample unter einem Debugger aus, finden den OEP, erstellen mit Scylla einen Dump und stellen die Imports wieder her.
- Weitere Verschleierung (verschlüsselte Zeichenketten, Anti-Debugging) wird je nach Fall behandelt.
Sie haben den Kurs zur Malware-Reverse-Engineering-Analyse abgeschlossen.
Häufig gestellte Fragen
Ist die Lektion „Unpacking“ kostenlos?
Ja — der vollständige Text von „Unpacking“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Ethical Hacking Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Ethical Hacking Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Unpacking“?
Obfuscation überwinden Du übst Ethical Hacking Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Ethical Hacking Academy zu starten?
Keine Vorkenntnisse erforderlich. Ethical Hacking Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Unpacking“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Ethical Hacking Academy-Lektion Code schreiben und ausführen?
Ja. Jede Ethical Hacking Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.