123456789101112131415161718192021222324252627282930 |
- %% Funktion exploitableFunction
- 0x0000000000400586 <+0>: push %rbp
- 0x0000000000400587 <+1>: mov %rsp,%rbp
- 0x000000000040058a <+4>: sub $0x20,%rsp
- 0x000000000040058e <+8>: lea -0x20(%rbp),%rax
- 0x0000000000400592 <+12>: mov %rax,%rdi
- 0x0000000000400595 <+15>: callq 0x400480 <gets@plt>
- 0x000000000040059a <+20>: lea -0x20(%rbp),%rax
- 0x000000000040059e <+24>: mov %rax,%rdi
- 0x00000000004005a1 <+27>: callq 0x400450 <puts@plt>
- 0x00000000004005a6 <+32>: leaveq
- 0x00000000004005a7 <+33>: retq
- %% Funktion main
- % Funktionsprolog: Sichern des alten Base Pointers im Stack. Der alte Stack
- % Pointer wird zum neuen Base Pointer
- 0x00000000004005a8 <+0>: push %rbp
- 0x00000000004005a9 <+1>: mov %rsp,%rbp
- % Aufrufen der Funktion "exploitableFunction"
- 0x00000000004005ac <+4>: callq 0x400586 <exploitableFunction>
- % Kopieren der Konstante "0" in das EAX-Register
- 0x00000000004005b1 <+9>: mov $0x0,%eax
- % Kopieren des Wertes von [%rsp] in das Base Pointer Register
- 0x00000000004005b6 <+14>: pop %rbp
- % Laden des Wertes von [%rsp], hinzufügen von 8 zu dem Wert in [%rsp], und
- % Sprung zur geladenen Adresse
- 0x00000000004005b7 <+15>: retq
|