Qué es PyGhidra
PyGhidra es la biblioteca oficial para usar la API de Ghidra desde CPython 3 nativo. Permite automatizar proyectos, programas, símbolos, análisis y scripts dentro de flujos Python repetibles.
PyGhidra es la biblioteca oficial para usar la API de Ghidra desde CPython 3 nativo. Permite automatizar proyectos, programas, símbolos, análisis y scripts dentro de flujos Python repetibles.
Requisitos y versiones verificadas
La versión actual es PyGhidra 3.1.0, publicada el 14 de mayo de 2026. Requiere Python 3.9 o posterior, Ghidra 12.0 o posterior y un JDK 21 compatible.
La versión actual es PyGhidra 3.1.0, publicada el 14 de mayo de 2026. Requiere Python 3.9 o posterior, Ghidra 12.0 o posterior y un JDK 21 compatible.
Cómo instalar PyGhidra
Crea un entorno virtual dedicado. Instala desde PyPI o usa el paquete offline incluido en la distribución oficial de Ghidra. No uses instaladores EXE de terceros.
Crea un entorno virtual dedicado. Instala desde PyPI o usa el paquete offline incluido en la distribución oficial de Ghidra. No uses instaladores EXE de terceros.
- 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
Conectar PyGhidra con Ghidra
Configura GHIDRA_INSTALL_DIR con la raíz extraída de Ghidra o pasa install_dir a pyghidra.start(). Fija la ruta cuando tengas varias versiones.
Configura GHIDRA_INSTALL_DIR con la raíz extraída de Ghidra o pasa install_dir a pyghidra.start(). Fija la ruta cuando tengas varias versiones.
GHIDRA_INSTALL_DIR=<path-to-ghidra-root>
Primera automatización
Inicia Ghidra una vez por proceso, abre una muestra autorizada dentro de un contexto y guarda los resultados fuera del directorio de instalación.
Inicia Ghidra una vez por proceso, abre una muestra autorizada dentro de un contexto y guarda los resultados fuera del directorio de instalación.
from pathlib import Path
import pyghidra
with pyghidra.open_program(Path('sample.exe')) as api:
print(api.getCurrentProgram().getName())
Problemas frecuentes
Comprueba el intérprete Python, java -version, la ruta raíz y la compatibilidad antes de reinstalar. Trata binarios y scripts externos como contenido no confiable.
Comprueba el intérprete Python, java -version, la ruta raíz y la compatibilidad antes de reinstalar. Trata binarios y scripts externos como contenido no confiable.
| 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 es la biblioteca oficial para usar la API de Ghidra desde CPython 3 nativo. Permite automatizar proyectos, programas, símbolos, análisis y scripts dentro de flujos Python repetibles.
Which Python version is required?
Python 3.9 or later.
Why can it not find Ghidra?
Configura GHIDRA_INSTALL_DIR con la raíz extraída de Ghidra o pasa install_dir a pyghidra.start(). Fija la ruta cuando tengas varias versiones.
Does it replace analyzeHeadless?
No. Choose the workflow that fits the pipeline.
Is PyGhidra MCP the same project?
No. MCP tools are separate projects.