64-Bit Stack CheatSheet

Dies ist eine alte Version des Dokuments!


64-Bit Stack CheatSheet

x64 Register

Das x64-Register ist wie folgt aufgebaut1) 2)

64-Bit-Registrierung Untere 32 Bits Bezeichnung Anwendung
RAX EAX Temporäres Register erstes Rückgaberegister
RBX EBX Callee-gesichertes Register
RCX ECX Argumentregister viertes Ganzzahlargument
RDX EDX Argumentregister drittes Ganzzahlargument, zweites Rückgaberegister
RSI ESI Argumentregister zweites Ganzzahlargument
RDI EDI Argumentregister erstes Argument
RBP EBP Callee-gesichertes Register Frame Pointer
RSP ESP Stack Pointer
RIP EIP Instruction Pointer Adresse des nächsten auszuführenden Maschinenbefehls, Read-Only
R8 R8D Argumentregister fünftes Argument
R9 R9D Argumentregister sechstes Argument
R10 R10D Temporäres Register
R11 R11D Temporäres Register
R12 R12D Callee-gesichertes Register
R15 R15D Callee-gesichertes Register

Aufrufkonventionen

Eine Funktion (Caller) ruft eine Unterfunktion (Callee) auf. Die Register RBP, RBX, R12 bis R15 gehören dem Caller. Will der Callee diese Verändern, so muss er sie mit

push

auf dem Stack sichern. Vor der Rückkehr zur Funktion, müssen diese Register dann mittels

pop

wiederhergestellt werden.

Mehr hierzu gibt es im Cheat-Sheet3)

it-security/64_bit_stack_cheatsheet.1722591833.txt.gz · Zuletzt geändert: 2024/08/02 11:43
CC Attribution-Noncommercial-Share Alike 4.0 International