Ghidra: Navegação e Anotação de Binários
Importe um binário, navegue pelo código desmontado e descompilado, renomeie variáveis e adicione comentários.
Ghidra: Navegação e Anotação de Binários é uma aula grátis de Cyber Security Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cyber Security Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cyber Security Academy inclui 4 aulas no total.
O que é Ghidra?
Ghidra é uma ferramenta gratuita e de código aberto de engenharia reversa desenvolvida pela NSA e disponibilizada publicamente em 2019. Ela oferece desmontagem, descompilação, criação de rotinas e análise colaborativa no Linux, macOS e Windows.
Carregar um binário
Abrindo um binário no Ghidra:
- Criar um projeto novo
- Importar arquivo (Arquivo → Importar arquivo)
- A análise automática é executada — aguarde a conclusão (reconhece funções, cadeias de caracteres e tipos de dados)
- O CodeBrowser é aberto, exibindo as visualizações da desmontagem e do descompilador
A interface do Ghidra
Janelas principais do Ghidra:
- Árvores de programas — seções (.text, .data, .plt)
- Árvore de símbolos — funções, rótulos, importações e exportações
- Listagem — visualização da desmontagem
- Descompilador — reconstrução em pseudocódigo C
- Funções — lista de todas as funções identificadas
Navegar até o ponto de entrada
Inicie a análise no ponto de entrada do programa ou em main():
- Pressione
Gpara "Ir para" um endereço ou símbolo - Procure por "main" na árvore de símbolos
- Clique duas vezes em qualquer função para navegar até ela
Ler a saída do descompilador
O descompilador do Ghidra produz pseudocódigo C, que é mais fácil de ler do que a linguagem de montagem. O resultado não será perfeito — os nomes das variáveis são genéricos (param_1, local_10), e o fluxo de controle pode parecer estranho —, mas ele revela a lógica com clareza suficiente para entender o que o código faz.
Renomear variáveis e funções
A anotação melhora a legibilidade:
- Clique com o botão direito em uma variável → Renomear (ou pressione
L) - Clique com o botão direito em uma função → Renomear função
- Adicione comentários com
;(fim da linha) ou no estilo/*...*/
Renomear elementos cria contexto à medida que você entende melhor o binário.
Identificar cadeias de caracteres
As cadeias de caracteres são inestimáveis para entender a finalidade:
- Janela → Cadeias de caracteres definidas exibe todas as constantes de cadeia
- Clique em uma cadeia para ir até seu uso no código
- Mensagens de erro, caminhos de arquivos, URLs e chaves do registro revelam a funcionalidade
Referências cruzadas (XREFs)
XREFs mostram onde uma função ou variável é chamada ou usada. Pressione X em qualquer símbolo para ver todas as referências. Isso é fundamental para descobrir onde a entrada do usuário entra em uma função ou onde ocorrem verificações de segurança.
Criação de scripts com Ghidra
O Ghidra tem uma interface de scripts para Python/Java:
# Python script to find all calls to strcpy:
from ghidra.program.model.symbol import RefType
for ref in currentProgram.getReferenceManager().getReferencesTo(toAddr(0x401234)):
print(ref.getFromAddress())Analisar software malicioso com Ghidra
Para a análise de software malicioso:
- Identifique técnicas de antianálise (antidepuração e ofuscação de código)
- Encontre funções de comunicação de rede (socket, connect, WinInet)
- Localize funções criptográficas (procure constantes da caixa S do AES: 0x63, 0x7c...)
- Extraia endereços C2 de cadeias descriptografadas
Ghidra versus IDA Pro
Ghidra versus IDA Pro:
- Ghidra: gratuito, de código aberto, permite scripts e tem um bom descompilador
- IDA Pro: padrão do setor, análise mais rápida, ecossistema de extensões melhor e caro ($$$)
- Para a maioria das tarefas, o Ghidra é totalmente capaz; use o IDA em laboratórios profissionais de análise de software malicioso
Verificação rápida: Ghidra
Qual recurso do Ghidra mostra todos os locais do binário que chamam ou referenciam uma função ou variável específica?
Recapitulação da lição
O Ghidra é uma ferramenta gratuita de engenharia reversa desenvolvida pela NSA, com desmontagem, descompilação e criação de scripts. Fluxos de trabalho principais: carregar o binário, executar a análise automática, navegar até main(), usar o descompilador para entender a lógica, renomear variáveis, usar XREFs para rastrear o fluxo de dados e pesquisar cadeias de caracteres para obter contexto. A anotação amplia a compreensão de forma iterativa. A criação de scripts automatiza tarefas repetitivas de análise.
Perguntas Frequentes
A aula “Ghidra: Navegação e Anotação de Binários” é grátis?
Sim — o texto completo de “Ghidra: Navegação e Anotação de Binários” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cyber Security Academy, atualize para CoddyKit PRO. O curso de Cyber Security Academy inclui 4 aulas no total.
O que vou aprender em “Ghidra: Navegação e Anotação de Binários”?
Importe um binário, navegue pelo código desmontado e descompilado, renomeie variáveis e adicione comentários. Você pratica Cyber Security Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Cyber Security Academy?
Nenhuma experiência prévia é necessária. Cyber Security Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Ghidra: Navegação e Anotação de Binários”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Cyber Security Academy?
Sim. Cada aula de Cyber Security Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Ghidra: Navegação e Anotação de Binários
- Fundamentos de Assembly x86/x64 para Engenharia Reversa
- Análise Dinâmica com GDB e pwndbg
- Desofuscação e Técnicas Antianálise