GDB
Um manual de referência para o gdb
Gdb é o acrônimo para Gnu Project Debugger. Ele é, como o nome diz, um debugger (depurador), que pode ser utilizado em engenharia reversa para obter o assembly e analisar arquivos binários.
Rodando e obtendo o Assembly (Disassembling)
Para abrir o programa, execute:
Por padrão, o gdb utiliza a sintaxe AT&T. Como nós vamos utilizar principalmente a sintaxe da Intel, podemos alterar usando:
Para obter o assembly de uma função (por exemplo, a 'main'), devemos usar:
É importante notar que o programa será mostrado do jeito que está em memória, porém podemos utilizar outros softwares para visualizar melhor o fluxo do programa.
GDB - Principais Comandos
Apertar somente 'Enter' é equivalente a digitar e rodar o último comando novamente. (é bem útil quando precisamos repetir o mesmo comando diversas vezes).
Controle de Fluxo
run arg1, arg2...
break *address
del
si
ni
set $eax=x
define hook-stop
Registradores
info registers
x/wx $reg
x/s $reg
x/24wx $esp
x/2i $eip
x NomeDaFunção
p NomeDaFunção
info proc mappings
Last updated