Um pequeno apanhado de algumas coisas que achei legais e úteis no GEF ? Não conhecem o GEF ? O GEF é um projeto que adciona uma série de comandos e melhorias adicionais ao GDB e facilita demais a vida de quem está debugando binários no linux.
Sem mais delongas.
context → mostra várias informações (stack, registradores, commandos, etc.) no momento atual
entry-break → executa até o entry point do processo
gef config → mostra ou altera várias configurações do GEF
gef config context.redirect <terminal> → envia as informações mostradas no centexto para outro terminal
gef> context
Exibe uma série de informações do que está conetcendo no momento, como estado da pilha, valores dos registradores, código que vai ser executado, etc.
É possível ainda ver de forma organizada apenas o conteúdo dos registradores, da stack, etc.
gef> context regs
gef> context stack
gef> entry-break
Procura o entry point de um processo e executa-o até este ponto.
gef> gef config
Mostra ou altera as configurações do GEF como por exemplo, o que ele exibe no contexto. Vale a pena dar uma personalizada.
Enviando a saída do comando Context para outro Terminal!
Uma das coisas que achei interessante é poder enviar a saída do contexto para um outro terminal. Para quem tem dois monitores ou mesmo um monitor grande acho que fica legal para ajudar no debug. Dá uma olhada:
gef> gef config context.redirect <terminal>