Ghidra: Binärdateien navigieren und annotieren
Importieren Sie eine Binärdatei, navigieren Sie durch Disassembly und dekompilierten Code, benennen Sie Variablen um und fügen Sie Kommentare hinzu.
Ghidra: Binärdateien navigieren und annotieren ist eine kostenlose Cyber Security Academy-Lektion auf CoddyKit. Dies ist Lektion 1 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 Cyber Security Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cyber Security Academy-Kurs umfasst insgesamt 4 Lektionen.
Was ist Ghidra?
Ghidra ist ein kostenloses Open-Source-Tool für Reverse Engineering, das von der NSA entwickelt und 2019 öffentlich veröffentlicht wurde. Es unterstützt Disassemblierung, Dekompilierung, Skripting und die gemeinsame Analyse unter Linux, macOS und Windows.
Ein Binärprogramm laden
Ein Binärprogramm in Ghidra öffnen:
- Neues Projekt erstellen
- Datei importieren (File → Import File)
- Die automatische Analyse läuft – lassen Sie sie vollständig abschließen (erkennt Funktionen, Strings und Datentypen)
- CodeBrowser wird geöffnet und zeigt Disassembly- und Decompiler-Ansichten
Die Ghidra-Oberfläche
Wichtige Ghidra-Fenster:
- Program Trees — Abschnitte (.text, .data, .plt)
- Symbol Tree — Funktionen, Labels, Importe und Exporte
- Listing — Disassembly-Ansicht
- Decompiler — Pseudo-C-Rekonstruktion
- Functions — Liste aller identifizierten Funktionen
Zum Entry Point navigieren
Beginnen Sie die Analyse am Programmeinstiegspunkt oder bei main():
- Drücken Sie
G, um mit „Go To“ zu einer Adresse oder einem Symbol zu springen - Suchen Sie im Symbol Tree nach „main“
- Doppelklicken Sie auf eine beliebige Funktion, um zu ihr zu navigieren
Die Decompiler-Ausgabe lesen
Der Decompiler von Ghidra erzeugt Pseudo-C-Code, der leichter zu lesen ist als Assembly. Die Ausgabe ist nicht perfekt — Variablennamen sind generisch (param_1, local_10), und der Kontrollfluss kann ungewöhnlich aussehen — aber sie macht die Logik verständlich genug, um zu erkennen, was der Code tut.
Variablen und Funktionen umbenennen
Annotationen verbessern die Lesbarkeit:
- Rechtsklicken Sie auf eine Variable → Rename (oder drücken Sie
L) - Rechtsklicken Sie auf eine Funktion → Rename Function
- Fügen Sie Kommentare mit
;(Zeilenende) oder im Stil/*...*/hinzu
Durch das Umbenennen bauen Sie schrittweise Kontext auf, während Sie mehr über das Binärprogramm verstehen.
Strings identifizieren
Strings sind für das Verständnis des Zwecks äußerst wertvoll:
- Window → Defined Strings zeigt alle String-Konstanten an
- Klicken Sie auf einen String, um zu seiner Verwendung im Code zu springen
- Fehlermeldungen, Dateipfade, URLs und Registry-Schlüssel geben Aufschluss über die Funktionalität
Querverweise (XREFs)
XREFs zeigen, wo eine Funktion oder Variable aufgerufen bzw. verwendet wird. Drücken Sie bei einem beliebigen Symbol X, um alle Verweise anzuzeigen. Das ist entscheidend, um herauszufinden, wo Benutzereingaben in eine Funktion gelangen oder Sicherheitsprüfungen stattfinden.
Skripting mit Ghidra
Ghidra verfügt über eine Python-/Java-Scripting-API:
# Python script to find all calls to strcpy:
from ghidra.program.model.symbol import RefType
for ref in currentProgram.getReferenceManager().getReferencesTo(toAddr(0x401234)):
print(ref.getFromAddress())Malware mit Ghidra analysieren
Für die Malware-Analyse:
- Identifizieren Sie Anti-Analyse-Tricks (Anti-Debugging, Code-Obfuskation)
- Finden Sie Funktionen für die Netzwerkkommunikation (socket, connect, WinInet)
- Lokalisieren Sie Kryptofunktionen (achten Sie auf AES-S-Box-Konstanten: 0x63, 0x7c...)
- Extrahieren Sie C2-URLs aus entschlüsselten Strings
Ghidra im Vergleich zu IDA Pro
Ghidra im Vergleich zu IDA Pro:
- Ghidra: kostenlos, Open Source, skriptfähig, guter Decompiler
- IDA Pro: Branchenstandard, schnellere Analyse, besseres Plugin-Ökosystem, teuer ($$$)
- Für die meisten Aufgaben ist Ghidra vollständig ausreichend; IDA eignet sich für professionelle Malware-Analyse-Labs
Schnelltest: Ghidra
Welche Ghidra-Funktion zeigt alle Stellen im Binärprogramm, an denen eine bestimmte Funktion oder Variable aufgerufen bzw. referenziert wird?
Zusammenfassung der Lektion
Ghidra ist ein von der NSA entwickeltes, kostenloses RE-Tool mit Disassembly, Decompilierung und Skripting. Wichtige Arbeitsabläufe: Binärprogramm laden, automatische Analyse ausführen, zu main() navigieren, den Decompiler für die Logik verwenden, Variablen umbenennen, mit XREFs den Datenfluss nachverfolgen und Strings als Kontext durchsuchen. Annotationen bauen das Verständnis schrittweise auf. Skripting automatisiert sich wiederholende Analyseaufgaben.
Häufig gestellte Fragen
Ist die Lektion „Ghidra: Binärdateien navigieren und annotieren“ kostenlos?
Ja — der vollständige Text von „Ghidra: Binärdateien navigieren und annotieren“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cyber Security Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cyber Security Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Ghidra: Binärdateien navigieren und annotieren“?
Importieren Sie eine Binärdatei, navigieren Sie durch Disassembly und dekompilierten Code, benennen Sie Variablen um und fügen Sie Kommentare hinzu. Du übst Cyber Security 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 Cyber Security Academy zu starten?
Keine Vorkenntnisse erforderlich. Cyber Security 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 1 von 4.
Wie lange dauert die Lektion „Ghidra: Binärdateien navigieren und annotieren“?
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 Cyber Security Academy-Lektion Code schreiben und ausführen?
Ja. Jede Cyber Security 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.
Alle Lektionen in diesem Kurs
- Ghidra: Binärdateien navigieren und annotieren
- Grundlagen der x86/x64-Assembly für Reverse Engineers
- Dynamische Analyse mit GDB und pwndbg
- Deobfuscation und Anti-Analyse-Tricks