Was Sie in diesem Ghidra Tutorial lernen
Der grundlegende Ablauf lautet: Projekt erstellen, Datei importieren, Architektur bestätigen, Autoanalyse ausführen, eine interessante Funktion finden und Assembly mit dem C-ähnlichen Ergebnis vergleichen.
Dieser Leitfaden konzentriert sich auf statische Analyse: Verwenden Sie eigene Binärdateien, Open-Source-Beispiele, pädagogische Crackmes oder Trainingsprogramme, die Sie untersuchen dürfen. Die Zieldatei muss nicht ausgeführt werden.
- Der grundlegende Ablauf lautet: Projekt erstellen, Datei importieren, Architektur bestätigen, Autoanalyse ausführen, eine interessante Funktion finden und Assembly mit dem C-ähnlichen Ergebnis vergleichen.
- Bleiben Sie bei der statischen Analyse mit autorisierten Dateien und führen Sie das Ziel während der Übung nicht aus.
- CodeBrowser + Listing + Decompiler
- XRefs + Function Graph
Eine sichere Übungsumgebung vorbereiten
Verwenden Sie eigene Programme, Open-Source-Beispiele oder ausdrücklich erlaubte Lernaufgaben. Unbekannte Dateien gehören in eine isolierte virtuelle Maschine und müssen für statische Analyse nicht ausgeführt werden.
Kompilieren Sie für die erste Übung ein kleines C-Programm, das eine Passwortzeichenfolge prüft, oder wählen Sie ein legales Crackme zum Lernen. Berechnen Sie vor der Analyse einen Hash und bewahren Sie das Original auf.
Verwenden Sie eigene Programme, Open-Source-Beispiele oder ausdrücklich erlaubte Lernaufgaben. Unbekannte Dateien gehören in eine isolierte virtuelle Maschine und müssen für statische Analyse nicht ausgeführt werden.
Projekt erstellen, Datei importieren und analysieren
Erstellen Sie ein nicht geteiltes Projekt, importieren Sie die Datei und prüfen Sie Format, Prozessor, Endianness und Compiler-Spezifikation, bevor Sie Auto Analysis starten.
Prüfen Sie erkanntes Format, Prozessor, Sprache, Endianness und Compiler-Spezifikation. Übliche PE- und ELF-Dateien funktionieren oft mit den Standardwerten; rohes Firmware-Material und seltene Architekturen erfordern eine manuelle Bestätigung.
- 1
Projekt
Erstellen Sie ein nicht geteiltes Projekt, importieren Sie die Datei und prüfen Sie Format, Prozessor, Endianness und Compiler-Spezifikation, bevor Sie Auto Analysis starten.
- 2
Import
Prüfen Sie Format, Prozessor, Sprache, Endianness und Compiler; bestätigen Sie rohes Firmware-Material und seltene Architekturen manuell.
- 3
Analyse
Erstellen Sie ein nicht geteiltes Projekt, importieren Sie die Datei und prüfen Sie Format, Prozessor, Endianness und Compiler-Spezifikation, bevor Sie Auto Analysis starten.

CodeBrowser, Listing und Symbole verstehen
Das Listing zeigt Adressen, Bytes und Befehle; der Decompiler liefert eine Interpretation. Symbol Tree, definierte Strings und Suche bieten schnelle Einstiegspunkte.
Beginnen Sie mit einer erkennbaren Zeichenfolge, öffnen Sie ihre Referenzen und gehen Sie zur aufrufenden Funktion. Das ist meist schneller, als vom Einstiegspunkt jede Instruktion durchzugehen.
| Fenster | Zweck | Aktion |
|---|---|---|
| Listing | Befehle | Prüfen |
| Decompiler | Pseudocode | Deuten |
| Symbol Tree | Symbole | Navigieren |
| Defined Strings | Text | Anker finden |
Den Ghidra Decompiler richtig einsetzen
Nutzen Sie Pseudocode zur Orientierung, bestätigen Sie wichtige Aussagen aber im Listing. Verbessern Sie Namen, Typen und Kommentare nur auf Grundlage sichtbarer Belege.
Verbessern Sie das Ergebnis, sobald Belege vorliegen: Benennen Sie Funktionen und Variablen um, wenden Sie Typen an, definieren Sie Strukturen und ergänzen Sie Kommentare. Jede Korrektur liefert mehr Kontext für die nächste Analyse.
- 1
Anker finden
Nutzen Sie Pseudocode zur Orientierung, bestätigen Sie wichtige Aussagen aber im Listing. Verbessern Sie Namen, Typen und Kommentare nur auf Grundlage sichtbarer Belege.
- 2
Referenzen folgen
Benennen und typisieren Sie nach den Belegen und ergänzen Sie Strukturen und Kommentare für mehr Kontext.
- 3
Belege prüfen
Nutzen Sie Pseudocode zur Orientierung, bestätigen Sie wichtige Aussagen aber im Listing. Verbessern Sie Namen, Typen und Kommentare nur auf Grundlage sichtbarer Belege.

Querverweise und Funktionsgraph verfolgen
XRefs zeigen Verwendungen, Aufrufer und Ziele. Der Function Graph macht Verzweigungen, Schleifen und alternative Pfade sichtbar.
Function Graph macht aus Blöcken und Verzweigungen eine visuelle Karte des Kontrollflusses. Nutzen Sie ihn für verschachtelte Bedingungen und Schleifen und wechseln Sie anschließend zum Decompiler zurück, um jeden Pfad zu erklären.

Eine erste 30-Minuten-Übung
Suchen Sie Erfolgs- und Fehlermeldungen, folgen Sie den Referenzen, bestimmen Sie die Entscheidungsfunktion und dokumentieren Sie die entscheidende Bedingung.
Setzen Sie ein Lesezeichen an der wichtigen Verzweigung und speichern Sie das Projekt. Ziel ist nicht die perfekte Rekonstruktion des Quelltexts, sondern eine reproduzierbare Beweiskette von Zeichenfolge über Referenz, Funktion und Bedingung bis zur Schlussfolgerung.
- 0-5
- 5-12
- 12-22
- 22-30
Häufige Anfängerfehler
Vertrauen Sie Pseudocode nicht blind, wählen Sie die richtige Architektur, warten Sie das Analyseende ab und führen Sie unbekannte Dateien nicht aus.
Aktivieren Sie nicht alle Analyzer, führen Sie keine unbekannten Binärdateien aus und behandeln Sie geratene Typen nicht als Fakten. Importieren Sie die Datei mit der richtigen Architektur erneut, wenn Instruktionen und Referenzen unlogisch wirken.
| Problem | Risiko | Bessere Wahl |
|---|---|---|
| Pseudocode | Fehlschluss | Prüfen |
| Architektur | Falsche Dekodierung | Neu importieren |
| Unbekannte Datei | Sicherheitsrisiko | Isoliertes Labor |
Nächste Schritte und offizielle Quellen
Wiederholen Sie den Ablauf mit kleinen legalen Beispielen. Nutzen Sie danach die offizielle Dokumentation und den PyGhidra-Leitfaden für Automatisierung. GhidraDocs.
Die Bilder stammen aus dem offiziellen NSA-Ghidra-Repository. Am 22. August 2026 geprüfte Version: Ghidra 12.1.3 vom 18. August 2026. Vertiefe das Thema mit der Ghidra Decompiler Anleitung oder automatisiere Abläufe mit PyGhidra.
FAQ zum Ghidra Tutorial
Ist Ghidra sicher?
Laden Sie Ghidra aus dem offiziellen GitHub-Release und untersuchen Sie unbekannte Dateien isoliert, ohne sie auszuführen.
Sollten Anfänger sofort debuggen?
Beginnen Sie mit statischer Analyse und nutzen Sie den Debugger erst nach sicherer Navigation durch Funktionen und Referenzen.
Stellt Ghidra Originalquellcode wieder her?
Nein. Der Decompiler erzeugt eine hilfreiche Interpretation, nicht den exakten ursprünglichen Quellcode.
Wie aktualisiert man Ghidra?
Entpacken Sie die neue offizielle Version in einen neuen Ordner und prüfen Sie Erweiterungen vor der Übernahme.
Welche Dateien darf ich analysieren?
Nur eigene, ausdrücklich erlaubte, offene oder für Schulungen bereitgestellte Dateien.