Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Ghidrathon — Die Open-Source-Erweiterung des FLARE-Teams, um Python-3-Skripting zu Ghidra hinzuzufügen. | Kitploit
Tools/GitHubGitHub/mandiant/ghidrathon
Reverse EngineeringScripting & AutomatisierungMalware-AnalyseBinäranalyseArchived
GitHubmandiant/ghidrathon

Ghidrathon

Die Open-Source-Erweiterung des FLARE-Teams, um Python-3-Skripting zu Ghidra hinzuzufügen.

Repository anzeigen
788655vor 2 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Ghidrathon

GitHub Release GitHub Downloads (all assets, latest release) CI License

Ghidrathon ist eine Ghidra-Erweiterung, die Ghidra um Python-3-Skriptfähigkeiten erweitert. Warum? Ghidra unterstützt nativ Skripting in Java und Jython. Leider sind viele Open-Source-Analysetools wie capa, Unicorn Engine, angr usw. in Python 3 geschrieben, was es schwierig und in manchen Fällen unmöglich macht, diese Tools in Ghidra zu verwenden. Darüber hinaus hat die Sicherheitscommunity mehrere großartige Plugins für andere SRE-Frameworks wie IDA Pro und Binary Ninja veröffentlicht, aber auch hier ist es schwierig, sie auf Ghidra zu portieren, da viele dieser Plugins Python 3 verwenden. Ghidrathon hilft Ihnen, vorhandene Python-3-Tools in Ghidra zu verwenden und neue zu entwickeln sowie Ghidra mit modernem Python zu scripten, und zwar in einer Weise, die eng in die Benutzeroberfläche von Ghidra integriert ist. Es ersetzt die vorhandene, über Jython implementierte Python-2.7-Erweiterung. Dies umfasst das interaktive Interpreterfenster, die Integration in den Ghidra Script Manager und die Skriptausführung im Headless-Modus von Ghidra.

example

Einblicke in das Schreiben von Python-3-Skripten für Ghidra erhalten Sie in unserem Ghidra-Python-3-Skriptbeispiel hier.

Siehe auch:

  • Die Übersicht in unserem ersten Ghidrathon-Blogbeitrag

Ghidrathon installieren

Voraussetzungen

Führen Sie die folgenden Schritte aus, um Ghidrathon in Ihrer Ghidra-Umgebung zu installieren:

  1. Laden Sie das neueste Ghidrathon-Release herunter und entpacken Sie es.
  2. Führen Sie die folgenden Befehle mit dem Python-Interpreter aus, den Sie mit Ghidrathon verwenden möchten (requirements.txt und ghidrathon_configure.py sind im Release enthalten):
root@kitploit:~
$ python -m pip install -r requirements.txt
$ python ghidrathon_configure.py <absolute_path_to_ghidra_install_dir>

Hinweis: ghidrathon_configure.py versucht standardmäßig, eine Datei namens ghidrathon.save in <absolute_path_to_ghidra_install_dir> zu schreiben. Sie können den Pfad, an dem diese Datei geschrieben wird, festlegen, indem Sie die Umgebungsvariable GHIDRATHON_SAVE_PATH setzen, bevor Sie ghidrathon_configure.py und Ghidra ausführen:

root@kitploit:~
$ export GHIDRATHON_SAVE_PATH="/path/to/custom/dir" # Linux/MacOS
$ set GHIDRATHON_SAVE_PATH="C:\path\to\custom\dir"  # Windows

Hinweis: Möglicherweise werden Sie aufgefordert, eine Umgebungsvariable namens JAVA_HOME zu setzen. Diese sollte den absoluten Pfad des JDK referenzieren, das Sie für Ihre Ghidra-Installation konfiguriert haben.

  1. Installieren Sie die Ghidrathon-Erweiterung (.zip) in Ghidra:
    • Verwenden der Ghidra-Benutzeroberfläche:
      • Navigieren Sie zu File > Install Extensions...
      • Klicken Sie auf die grüne Schaltfläche +
      • Navigieren Sie zur Ghidrathon-Erweiterung (.zip)
      • Klicken Sie auf Ok
      • Optional
        • Wählen Sie Install Anyway, wenn das Fenster Extension Version Mismatch angezeigt wird
    • Verwenden einer eingeschränkten Umgebung:
      • Entpacken Sie die Ghidrathon-Erweiterung (.zip) nach <absolute_path_to_ghidra_install_dir>\Ghidra\Extensions

Wechseln zwischen Python-Interpretern

Sie können Ghidrathon auf einen anderen Python-Interpreter umstellen, indem Sie Schritt 2 mit dem neuen Python-Interpreter ausführen.

Verwenden von Python-Virtual-Environments

Sie können eine Python-Virtual-Environment mit Ghidrathon verwenden, indem Sie Schritt 2 aus der Virtual-Environment heraus ausführen. Um zu einer anderen Virtual-Environment zu wechseln, führen Sie einfach Schritt 2 aus der neuen Virtual-Environment aus.

Verwenden von Ghidrathon

Python-3-Interpreterfenster

Das Interpreterfenster bietet interaktiven Zugriff auf Ihren Python-3-Interpreter. Klicken Sie auf "Window" und wählen Sie "Ghidrathon", um das Interpreterfenster zu öffnen.

example

Integration in den Ghidra Script Manager

Ghidrathon integriert sich direkt in den Ghidra Script Manager und ermöglicht es Ihnen, Python-3-Skripte innerhalb von Ghidra zu erstellen, zu bearbeiten und auszuführen. Klicken Sie auf "Create New Script" und wählen Sie "Python 3", um ein neues Python-3-Skript zu erstellen. Klicken Sie auf "Run Script" oder "Run Editors's Script", um Ihr Python-3-Skript auszuführen, und prüfen Sie das Ghidra-Konsolenfenster auf die Skriptausgabe.

example

Ghidra-Headless-Modus

Ghidrathon hilft Ihnen, Python-3-Skripte im Headless-Modus von Ghidra auszuführen. Führen Sie das Skript analyzeHeadless in Ihrem Ghidra-Installationsordner aus, geben Sie Ihr Python-3-Skript an und prüfen Sie das Konsolenfenster auf die Skriptausgabe.

root@kitploit:~
$ analyzeHeadless C:\Users\wampus example -process example.o -postScript ghidrathon_example.py
[...]
INFO  SCRIPT: C:\Users\wampus\.ghidra\.ghidra_10.0.3_PUBLIC\Extensions\Ghidrathon-master\ghidra_scripts\ghidrathon_example.py (HeadlessAnalyzer)
Function _init @ 0x101000: 3 blocks, 8 instructions
Function FUN_00101020 @ 0x101020: 1 blocks, 2 instructions
Function __cxa_finalize @ 0x101040: 1 blocks, 2 instructions
Function printf @ 0x101050: 1 blocks, 2 instructions
Function _start @ 0x101060: 1 blocks, 13 instructions
Function deregister_tm_clones @ 0x101090: 4 blocks, 9 instructions
Function register_tm_clones @ 0x1010c0: 4 blocks, 14 instructions
Function __do_global_dtors_aux @ 0x101100: 5 blocks, 14 instructions
[...]
INFO  REPORT: Post-analysis succeeded for file: /example.o (HeadlessAnalyzer)
INFO  REPORT: Save succeeded for processed file: /example.o (HeadlessAnalyzer)

Weitere Informationen zum Ausführen von Ghidra im Headless-Modus finden Sie in <absolute_path_to_ghidra_install_dir>/support/analyzeHeadlessREADME.html.

Python-Module von Drittanbietern

Eine unserer größten Motivationen bei der Entwicklung von Ghidrathon war es, die Verwendung von Python-3-Modulen von Drittanbietern in Ghidra zu ermöglichen. Sie können ein Modul installieren und es in Ghidra verwenden, genau wie in einer typischen Python-Umgebung. Dies gilt auch für Module, die Sie bereits installiert haben. Beispielsweise können wir Unicorn installieren und verwenden, um ARM-Code in Ghidra zu emulieren.

example

Schreiben von Ghidra-Python-3-Skripten

Ghidrathon bietet eine Skripterfahrung, die eng an die Java- und Jython-Erweiterungen von Ghidra angelehnt ist, einschließlich der Bereitstellung von GhidraScript-Zustandsvariablen, z. B. currentProgram, und von FlatProgramAPI-Methoden, z. B. findBytes im Python-builtins-Bereich. Das bedeutet, dass alle Python-Module, die von Ihrem Code importiert werden, Zugriff auf diese Variablen und Methoden haben. Ghidrathon weicht leicht von den Java- und Jython-Erweiterungen von Ghidra ab, indem es GhidraScript-Zustandsvariablen als Python-Funktionsaufrufe statt als direkte Zugriffe bereitstellt, z. B. muss Ihr Python-3-Code auf currentProgram über den Funktionsaufruf currentProgram() zugreifen. Diese kleine Änderung stellt sicher, dass Ihrem Python-3-Code während der Ausführung die korrekten GhidraScript-Zustandsvariablen zur Verfügung gestellt werden. Einblicke in das Schreiben von Python-3-Skripten für Ghidra erhalten Sie in unserem Ghidra-Python-3-Skriptbeispiel hier.

Wie funktioniert das?

Ghidrathon verbindet Ihre lokale Python-Installation mithilfe des Open-Source-Projekts Jep mit Ghidra. Im Wesentlichen läuft Ihr lokaler Python-Interpreter in Ghidra und hat Zugriff auf alle Ihre Python-Pakete und die standardmäßige Ghidra-Skripting-API. Ghidrathon funktioniert auch mit Python-Virtual-Environments und hilft Ihnen, Pakete zu erstellen, zu isolieren und zu verwalten, die Sie möglicherweise nur für die Verwendung in Ghidra installiert haben möchten. Da Ghidrathon Ihre lokale Python-Installation verwendet, haben Sie die Kontrolle über die Python-Version und die Umgebung, die in Ghidra läuft.

Weitere Informationen darüber, wie Jep funktioniert, um Python in Java einzubetten, finden Sie in der Dokumentation hier.

Überlegungen

Ghidrathon verwendet die Open-Source-Bibliothek Jep, die das Java Native Interface (JNI) verwendet, um Python in die JVM einzubetten. Die Ghidra-Entwickler raten aus Gründen, die hier erörtert werden, von der Verwendung von JNI in Ghidra ab.

Tool herunterladen
WerkzeugVersionQuelle
Ghidrathon>= 4.0.0https://github.com/mandiant/Ghidrathon/releases
Python>= 3.8.0https://www.python.org/downloads
Jep== 4.2.0https://pypi.org/project/jep
Ghidra>= 10.3.2https://github.com/NationalSecurityAgency/ghidra/releases
Java>= 17.0.0https://adoptium.net/temurin/releases