Zum Inhalt springen

Ghidra

Veröffentlicht von National Security Agency

Ghidra Reverse Engineering Suite

Open SourceApache-2.0

Highlights

  • Disassembler und Dekompiler zeigt Pseudocode neben dem Assemblercode an
  • Automatische Analyse ermittelt Funktionen, Querverweise, Strings und Sprungtabellen
  • Prozessorspezifikationen decken viele Architekturen jenseits von x86 und ARM ab
  • Skripterstellung in Java und Python sowie ein Plugin-Framework für Erweiterungen
  • Optionale Serverkomponente ermöglicht mehreren Analysten die Arbeit an einem gemeinsamen Projekt

Über diese Anwendung

Ghidra ist eine Reverse-Engineering-Suite, die von der United States National Security Agency veröffentlicht wurde. Sie nimmt eine kompilierte Binärdatei, ermittelt deren Struktur, disassembliert den Maschinencode und führt einen Decompiler aus, der C-ähnlichen Pseudocode neben dem Assemblercode erzeugt. Wird eine Variable in einer Ansicht umbenannt oder eine Struktur neu typisiert, aktualisiert sich die jeweils andere.

Die Arbeit ist als Projekt organisiert, das ein oder mehrere importierte Programme enthält. Automatische Analysedurchläufe finden Funktionen, Querverweise, Zeichenketten und Sprungtabellen; von dort aus erlauben eine Listing-Ansicht, ein Funktionsgraph, ein Symbolbaum, ein Datentyp-Manager und ein Byte-Viewer, die Binärdatei durchzuarbeiten und das Gelernte festzuhalten. Prozessoren werden in einer erweiterbaren Spezifikationssprache beschrieben, weshalb die Abdeckung weit über x86 und ARM hinaus bis zu eingebetteten und älteren Architekturen reicht.

Ghidra ist in Java geschrieben und läuft überall, wo eine geeignete Java-Laufzeitumgebung verfügbar ist. Skripte können in Java oder Python geschrieben werden, größere Erweiterungen docken an das Framework an, und eine separate Serverkomponente erlaubt es mehreren Analysten, ein Projekt gemeinsam zu nutzen. Sie setzt einen Leser voraus, der mit Assembler bereits vertraut ist.

Linux

Wir hosten diese Datei nicht, wir scannen sie nicht und wir sehen ihren Inhalt nicht ein. Lesen Sie, was die Quelle angibt, und entscheiden Sie dann selbst.