O que é PyGhidra
PyGhidra é a biblioteca oficial para usar a API do Ghidra no CPython 3 nativo. Projetos, programas, símbolos e análises podem fazer parte de fluxos Python reproduzíveis.
PyGhidra é a biblioteca oficial para usar a API do Ghidra no CPython 3 nativo. Projetos, programas, símbolos e análises podem fazer parte de fluxos Python reproduzíveis.
Requisitos e versões
A versão atual é PyGhidra 3.1.0, publicada em 14 de maio de 2026. Ela requer Python 3.9 ou superior, Ghidra 12.0 ou superior e JDK 21.
A versão atual é PyGhidra 3.1.0, publicada em 14 de maio de 2026. Ela requer Python 3.9 ou superior, Ghidra 12.0 ou superior e JDK 21.
Como instalar
Crie um ambiente virtual dedicado. Instale pelo PyPI ou use o pacote offline da distribuição oficial. Não use instaladores EXE de terceiros.
Crie um ambiente virtual dedicado. Instale pelo PyPI ou use o pacote offline da distribuição oficial. Não use instaladores EXE de terceiros.
- 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 ao Ghidra
Defina GHIDRA_INSTALL_DIR para a raiz extraída do Ghidra ou passe install_dir para pyghidra.start().
Defina GHIDRA_INSTALL_DIR para a raiz extraída do Ghidra ou passe install_dir para pyghidra.start().
GHIDRA_INSTALL_DIR=<path-to-ghidra-root>
Primeira automação
Inicie o Ghidra uma vez por processo, abra uma amostra autorizada em um contexto e salve resultados fora da instalação.
Inicie o Ghidra uma vez por processo, abra uma amostra autorizada em um contexto e salve resultados fora da instalação.
from pathlib import Path
import pyghidra
with pyghidra.open_program(Path('sample.exe')) as api:
print(api.getCurrentProgram().getName())
Problemas comuns
Verifique Python, java -version, raiz do Ghidra e versões. Trate binários e scripts externos como não confiáveis.
Verifique Python, java -version, raiz do Ghidra e versões. Trate binários e scripts externos como não confiáveis.
| 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 é a biblioteca oficial para usar a API do Ghidra no CPython 3 nativo. Projetos, programas, símbolos e análises podem fazer parte de fluxos Python reproduzíveis.
Which Python version is required?
Python 3.9 or later.
Why can it not find Ghidra?
Defina GHIDRA_INSTALL_DIR para a raiz extraída do Ghidra ou passe install_dir para pyghidra.start().
Does it replace analyzeHeadless?
No. Choose the workflow that fits the pipeline.
Is PyGhidra MCP the same project?
No. MCP tools are separate projects.