O que o Ghidra Script Manager faz
O Script Manager é o espaço integrado do Ghidra para encontrar e executar scripts. Ele é útil quando a mesma inspeção ou tarefa de limpeza aparece em vários projetos: listar funções, renomear símbolos, exportar dados selecionados, adicionar comentários ou reunir evidências para um relatório. O resultado continua sendo uma ação normal de análise e deve ser conferido no CodeBrowser, Listing ou Decompiler.
Um script não substitui o entendimento do binário. Trate-o como um experimento pequeno e verificável: defina o projeto, faça a menor alteração útil, guarde uma cópia se houver escrita e registre o que mudou. O tutorial do Ghidra para iniciantes cobre o fluxo de análise estática; esta página se concentra na automação dentro dele.
Analise apenas arquivos e sistemas que você tem autorização para examinar. O Script Manager pode modificar um projeto rapidamente; teste primeiro em uma cópia.
- Encontrar scripts incluídos no Ghidra ou salvos nos diretórios de scripts.
- Abrir um script, conferir linguagem e imports e executá-lo no programa ativo.
- Usar o modelo do programa e o console para uma alteração pequena e repetível.
- Separar a automação do Script Manager da automação CPython nativa com PyGhidra.
Abrir o Script Manager e encontrar um script
Abra um projeto e inicie o Script Manager pelos menus de ferramentas do Ghidra. A posição exata pode variar conforme a ferramenta e a versão, mas o espaço inclui uma lista de scripts, filtros ou busca, um editor e ações para executar ou atualizar a lista. Se um script recém-copiado não aparecer, atualize a lista antes de investigar o código.
Comece com um script somente leitura ou de relatório. Leia os comentários do cabeçalho e os imports antes de pressionar Run. O cabeçalho deve dizer se o script precisa de um programa aberto, uma seleção, a função atual ou um processador específico.
- 1
Abrir um projeto de prática
Crie um projeto não compartilhado e importe um binário que você possa analisar. Mantenha o arquivo original e a cópia do projeto sem alterações.
File > New Project > Non-Shared Project - 2
Iniciar o Script Manager
Abra o espaço de scripting pelos menus de ferramentas e reduza a lista com filtro ou busca.
Window > Script Manager - 3
Verificar antes de executar
Confira linguagem, contexto necessário, imports, destino da saída e possíveis alterações em símbolos, comentários, tipos ou memória.
Ler cabeçalho e imports primeiro - 4
Executar e revisar
Execute uma vez em um alvo pequeno, leia o console e confira o estado no Listing ou no Decompiler.
Run > Run Script

Escrever um primeiro script pequeno e com limite claro
O primeiro script deve responder a uma única pergunta: contar funções, imprimir nomes com um prefixo, listar strings definidas ou mostrar a seleção atual. Evite combinar análise, renomeação, exportação e limpeza na primeira tentativa. Um script limitado é mais fácil de revisar e executar novamente.
Use o modelo de programa que o Ghidra oferece aos scripts em vez de extrair dados da interface visível. Consulte funções, símbolos, referências, instruções ou blocos de memória e envie um resultado curto ao console. Consulte a referência da API GhidraScript para confirmar métodos atuais; exemplos antigos de fóruns podem não funcionar na sua versão.
Quando o script altera o programa, deixe a alteração clara na saída. Mostre contagens antes e depois, o endereço ou nome do símbolo e pare diante de um estado inesperado. Assim uma execução repetida continua auditável.
ler contexto -> inspecionar um objeto -> imprimir resultado -> não alterar -> repetiralvo: practice.bin | escopo: programa atual | escritas: nenhuma | resultado: 12 funções
Java, Python e o limite do Ghidra 12.1.3
Os dados de busca misturam scripting do Ghidra, scripts do Ghidra e Python para Ghidra, mas essas expressões nem sempre descrevem o mesmo runtime. O Script Manager é a entrada dentro do aplicativo. Scripts Java são a escolha mais clara para automação reutilizável com as APIs Java do Ghidra. A disponibilidade do Python depende de como o processo foi iniciado e de qual integração está instalada.
Para automação com CPython nativo fora da janela integrada, consulte o guia de instalação do PyGhidra. O PyGhidra conecta um processo CPython externo à API do Ghidra, enquanto um script do Script Manager roda no contexto do aplicativo.
Identifique primeiro onde o script roda: Script Manager integrado, processo Ghidra iniciado com PyGhidra ou processo CPython externo. Depois escolha a documentação e o diagnóstico corretos.
| Necessidade | Use primeiro | Motivo |
|---|---|---|
| Uma ação pequena em um projeto aberto | Script Manager | Feedback rápido e contexto visível |
| Automação Java reutilizável | Script Java | Combina com o modelo de API nativo |
| Fluxo CPython nativo | PyGhidra | Foi criado para um processo Python externo |
| Lote grande e repetível | Script com registro | Entradas, saídas e falhas ficam revisáveis |
Padrões úteis do Script Manager em projetos reais
Um script útil costuma ter quatro partes: estabelecer o contexto, selecionar um conjunto pequeno de objetos, realizar uma operação e relatar o que aconteceu. O contexto pode ser o programa, o local, a seleção ou a função atual. A seleção deve ser explícita: filtro de nome, intervalo de endereços, bloco de memória, propriedade de função ou conjunto de referências.
Estruture a saída para comparar duas execuções. Um resumo de uma linha ajuda, mas uma linha por item com endereço ou nome do símbolo facilita a depuração. Para scripts lentos, teste primeiro uma função ou bloco de memória e mostre um marcador de progresso.
- Leia o programa e o local atuais antes de solicitar estado global.
- Prefira um iterador ou seleção limitada a uma varredura sem limite.
- Confira endereços, símbolos e tipos de dados no Listing como evidências.
- Separe descoberta somente leitura das operações de escrita.
- Salve uma cópia antes de renomear, alterar tipos ou gerar comentários em massa.
contexto -> seleção -> operação -> evidência -> plano de reversãoCorrigir problemas comuns de scripting no Ghidra
Quando um script falhar, capture primeiro a mensagem exata e o contexto do runtime. Registre versão do Ghidra, sistema operacional, linguagem, programa aberto, seleção e como o processo foi iniciado. Esse registro evita aplicar uma solução do PyGhidra a um problema do Script Manager.
Verifique também o menor caso que reproduz o erro. Um script que falha apenas em um processador, função danificada ou seleção vazia geralmente precisa de uma verificação de limite, não de uma reescrita ampla.
Salve o texto completo, o arquivo ou cópia mínima que reproduz o erro e a versão do script. Não publique binários desconhecidos nem dados sensíveis de análise em uma issue pública.
| Sintoma | Verificar primeiro | Próxima ação segura |
|---|---|---|
| O script não aparece | Atualização, caminho, extensão e diretórios | Recarregar a lista e abrir o arquivo diretamente se possível |
| Python não está disponível | Como o Ghidra foi iniciado e a configuração do PyGhidra | Usar Java ou seguir o fluxo do PyGhidra |
| Não há programa ou seleção | Ferramenta ativa, projeto, programa e seleção | Abrir o programa e testar uma função |
| A saída parece errada | Arquitetura, endereços, Listing e tipos | Verificar a hipótese no CodeBrowser antes de editar o script |
Uma rotina de scripting segura e repetível
Para uma tarefa única, a rotina pode ser curta. Para uma equipe ou investigação repetida, registre entrada, resultado esperado, revisão do script, versão do Ghidra e se o script altera o projeto. O guia do Decompiler ajuda a conferir o resultado; o guia de instalação explica como separar aplicativo, JDK, projetos e backups.
Comece com saída somente leitura, compare-a ao Listing e só depois habilite alterações. Mantenha uma contagem antes/depois e um plano de reversão ou cópia do projeto. Se o script se tornar um sistema com entradas externas, testes e dependência de CPython, avalie PyGhidra ou um harness próprio.
- 1
Preparar
Fixe a versão do Ghidra, abra uma cópia do projeto e registre o escopo pretendido.
versão + entrada + escopo - 2
Observar
Execute um script somente leitura e guarde uma pequena amostra com endereços.
somente leitura primeiro - 3
Alterar
Faça uma mudança controlada, mostre a contagem e confira o resultado nas visões de análise.
uma operação + evidência - 4
Preservar
Salve script, notas, saída e cópia do projeto para comparar ou desfazer a execução.
script + log + cópia
Dúvidas sobre o Ghidra Script Manager
O que é o Ghidra Script Manager?
É o espaço integrado do Ghidra para descobrir, editar e executar scripts no projeto ou programa ativo. Ele serve para automações pequenas e revisáveis e não é um processo CPython externo.
Posso usar Python no Script Manager?
A disponibilidade do Python depende do runtime e da forma como o Ghidra foi iniciado. Se o aplicativo indicar que Python não está disponível, use Java para automação integrada ou siga o guia do PyGhidra para CPython.
Scripting no Ghidra é a mesma coisa que PyGhidra?
Não. O Script Manager roda dentro do Ghidra, enquanto o PyGhidra conecta um processo CPython nativo à API do Ghidra. A instalação e a solução de problemas são diferentes.
Por que meu script não aparece na lista?
Atualize a lista e verifique extensão, diretório de scripts e filtros de linguagem. Confira também se o cabeçalho e os imports correspondem à versão atual do Ghidra.
O primeiro script deve modificar um projeto?
É melhor começar com um relatório somente leitura. Depois de conferir a saída no Listing ou Decompiler, teste uma alteração controlada em uma cópia, com contagem e plano de reversão.