This is a draft cheat sheet. It is a work in progress and is not finished yet.
GDB basics
|
open |
set disassembly-flavor (intel)
|
Intel view (AT&T = default) |
|
r |
run |
|
breakpoint a addr |
step |
step in debug |
c |
continue |
i r |
see registers |
|
see 100 char hexdump from esp |
r 111 |
r with 111 as arg |
r `$(python -c ‘print “A” * 100’) |
|
|
Registres
eip ìnstruction pointer` : pointeur vers la prohaine instruction à exécuter
ebp base pointer
: pointeur de base. Il permet d'acéder facilement aux arguments et aux variables
esp stack pointer
: pointe vers le prochain emplacement libre de la pile |
Organisation de l'espace utilisateur
stack est la pile du programme
.bss contient les données globales non initialisées
.data contient les données globales initialisées
.text contient le code du programme |
|
|
Prologue
`
push ebp
mov ebp,esp
sub esp,0x18
push eax
`
|
ASCII
30 : 0 || 31 : 1 || 32 : 2.. |
41 : A || 42 : B || 43 : C |
61 : a || 62 : b || 63 : c |
|