Was PyGhidra ist
PyGhidra ist die offizielle Bibliothek für die Ghidra-API in nativem CPython 3. Projekte, Programme, Symbole und Analysefunktionen lassen sich in reproduzierbare Python-Abläufe integrieren.
PyGhidra ist die offizielle Bibliothek für die Ghidra-API in nativem CPython 3. Projekte, Programme, Symbole und Analysefunktionen lassen sich in reproduzierbare Python-Abläufe integrieren.
Anforderungen und Versionen
Aktuell ist PyGhidra 3.1.0 vom 14. Mai 2026. Benötigt werden Python 3.9 oder neuer, Ghidra 12.0 oder neuer und ein passendes JDK 21.
Aktuell ist PyGhidra 3.1.0 vom 14. Mai 2026. Benötigt werden Python 3.9 oder neuer, Ghidra 12.0 oder neuer und ein passendes JDK 21.
PyGhidra installieren
Nutze eine eigene virtuelle Umgebung. Installiere online über PyPI oder offline aus der offiziellen Ghidra-Distribution. Unbekannte EXE-Installer sind nicht erforderlich.
Nutze eine eigene virtuelle Umgebung. Installiere online über PyPI oder offline aus der offiziellen Ghidra-Distribution. Unbekannte EXE-Installer sind nicht erforderlich.
- 1
Virtual environment
Isolate dependencies.
python -m venv .venv - 2
Install
Use the active interpreter.
python -m pip install --upgrade pyghidra==3.1.0 - 3
Offline option
Use the official bundled package.
python -m pip install --no-index -f <GhidraInstallDir>/Ghidra/Features/PyGhidra/pypkg/dist pyghidra
Mit Ghidra verbinden
GHIDRA_INSTALL_DIR muss auf das entpackte Ghidra-Stammverzeichnis zeigen. Alternativ wird install_dir an pyghidra.start() übergeben.
GHIDRA_INSTALL_DIR muss auf das entpackte Ghidra-Stammverzeichnis zeigen. Alternativ wird install_dir an pyghidra.start() übergeben.
GHIDRA_INSTALL_DIR=<path-to-ghidra-root>
Erste Automatisierung
Starte Ghidra einmal pro Python-Prozess, öffne nur autorisierte Testdateien und speichere Ergebnisse außerhalb des Installationsordners.
Starte Ghidra einmal pro Python-Prozess, öffne nur autorisierte Testdateien und speichere Ergebnisse außerhalb des Installationsordners.
from pathlib import Path
import pyghidra
with pyghidra.open_program(Path('sample.exe')) as api:
print(api.getCurrentProgram().getName())
Häufige Probleme
Prüfe Python-Interpreter, java -version, Stammverzeichnis und Versionsgrenzen. Behandle fremde Binärdateien und Skripte als nicht vertrauenswürdig.
Prüfe Python-Interpreter, java -version, Stammverzeichnis und Versionsgrenzen. Behandle fremde Binärdateien und Skripte als nicht vertrauenswürdig.
| Symptom | Cause | Check |
|---|---|---|
| Import error | Wrong environment | python -m pip show pyghidra |
| Java error | Wrong JDK | java -version |
| Path error | Wrong root | GHIDRA_INSTALL_DIR |
| API mismatch | Version boundary | PyGhidra 3.x + Ghidra 12.0+ |
PyGhidra FAQ
Is PyGhidra included with Ghidra?
PyGhidra ist die offizielle Bibliothek für die Ghidra-API in nativem CPython 3. Projekte, Programme, Symbole und Analysefunktionen lassen sich in reproduzierbare Python-Abläufe integrieren.
Which Python version is required?
Python 3.9 or later.
Why can it not find Ghidra?
GHIDRA_INSTALL_DIR muss auf das entpackte Ghidra-Stammverzeichnis zeigen. Alternativ wird install_dir an pyghidra.start() übergeben.
Does it replace analyzeHeadless?
No. Choose the workflow that fits the pipeline.
Is PyGhidra MCP the same project?
No. MCP tools are separate projects.