HowTo :: Instalar GEF (plug-in do GDB)
Introdução
Instale o GEF para turbinar sua experiência de depuração com GDB, adicionando syntax highlighting, exibição automática de contexto e dezenas de comandos poderosos.
O que é GEF?
GEF (GDB Enhanced Features) é um plugin poderoso que transforma o GDB de um depurador básico de linha de comando em uma ferramenta moderna e amigável de depuração. Ele adiciona:
- Exibição automática de contexto mostrando registradores, pilha, código e threads após cada passo
- Syntax highlighting para assembly e código-fonte
- Ferramentas de inspeção de memória com formatação visual
- Breakpoints aprimorados com melhor visualização
- Auxiliares para desenvolvimento de exploits para pesquisa de segurança
- Extensibilidade baseada em Python para adicionar seus próprios comandos
Se você já usou o GDB e achou difícil acompanhar o que está acontecendo, o GEF resolve esse problema mostrando tudo que você precisa em uma interface organizada e colorida.
O Que Você Vai Precisar
Antes de instalar o GEF, certifique-se de ter:
- GDB instalado com suporte a Python (a maioria das instalações modernas já inclui isso)
- Git para clonar o repositório do GEF
- Python 2.7+ ou Python 3.x
- pip gerenciador de pacotes para instalar dependências Python
- Acesso root ou sudo para instalar em
/opt(ou escolha um diretório de usuário)
Guia de Instalação Passo a Passo
Passo 1: Verificar Suporte a Python no GDB
Antes de instalar o GEF, confirme que seu GDB foi compilado com suporte a Python:
| |
Saída esperada:
3.8.10 (default, Nov 14 2022, 12:59:47)
[GCC 9.4.0]
Se você ver um erro como “Python scripting is not supported in this copy of GDB,” você precisará reinstalar o GDB com suporte a Python. No Debian/Ubuntu:
| |
No Fedora/RHEL:
| |
Passo 2: Clonar o Repositório do GEF
Navegue até /opt e clone o repositório do GEF. Esta localização torna o GEF disponível para todo o sistema:
| |
Se você não tem acesso sudo ou prefere uma instalação de usuário:
| |
Ajuste os caminhos nos passos seguintes de acordo (use ~/gef em vez de /opt/gef).
Passo 3: Executar os Scripts de Instalação
O GEF fornece scripts convenientes de instalação que configuram tudo automaticamente:
| |
O que esses scripts fazem:
gef.shinstala o plugin principal do GEF adicionando uma linha source no seu~/.gdbinitgef-extras.shinstala scripts auxiliares adicionais e comandos para recursos avançados
Passo 4: Instalar Dependências Python
Alguns recursos do GEF requerem pacotes Python adicionais. Inicie o GDB e verifique dependências faltantes:
| |
No prompt do GDB, digite:
gef➤ gef missing
Este comando lista quaisquer pacotes Python faltantes. Instale-os usando pip:
| |
Verificação
Para verificar se o GEF foi instalado corretamente, inicie o GDB:
| |
Você deve ver o banner colorido de inicialização do GEF:
GEF for linux ready, type `gef' to start, `gef config' to configure
Tente executar um programa simples:
| |
Você deve ver a exibição aprimorada de contexto do GEF mostrando registradores, código, pilha e mais.
Solução de Problemas
Problema: GDB não carrega o GEF, mostra “command not found”
Solução: Verifique se ~/.gdbinit contém a linha source. Adicione-a manualmente se estiver faltando:
| |
Problema: Erros de importação Python ao iniciar o GDB Solução: Certifique-se de que as dependências Python estão instaladas para a versão do Python que o GDB usa:
| |
Problema: Comandos do GEF funcionam mas recursos estão faltando
Solução: Execute gef missing dentro do GDB e instale os pacotes listados.
Problema: Permissão negada ao clonar em /opt
Solução: Use sudo para o comando git clone, ou clone em um diretório de usuário como ~/gef.
Mantendo o GEF Atualizado
O GEF é ativamente desenvolvido com novos recursos e correções de bugs. Para atualizar para a versão mais recente:
| |
Ou puxe as últimas mudanças manualmente:
| |
Considere configurar um cron job ou alias para lembrá-lo de atualizar o GEF mensalmente:
| |
Próximos Passos
Agora que você tem o GEF instalado:
- Aprenda o básico: Leia nosso guia Começando com GDB
- Explore comandos do GEF: Digite
gef helpno GDB para ver todos os comandos disponíveis - Configure o GEF: Execute
gef configpara personalizar cores, layout de contexto e recursos - Pratique depuração: Pratique com nosso tutorial Syscalls do Linux em Assembly
- Documentação Oficial do GEF
- Digite
gef helpdentro do GDB para referência de comandos - Digite
help <comando>para ajuda detalhada sobre qualquer comando do GEF
Veja Também
- Começando com GDB - Domine os fundamentos de depuração com GDB
- Instalando pyenv - Gerencie múltiplas versões do Python para dependências do GEF
- Depurando com strace - Complemente o GDB com rastreamento de chamadas de sistema
- Repositório Oficial do GEF - Código-fonte e últimas atualizações