Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

it-security:64_bit_stack_cheatsheet [2024/08/02 11:43] – angelegt psycoreit-security:64_bit_stack_cheatsheet [2024/08/26 23:07] (aktuell) psycore
Zeile 9: Zeile 9:
 Das x64-Register ist wie folgt aufgebaut((https://learn.microsoft.com/de-de/windows-hardware/drivers/debugger/x64-architecture)) ((https://www.complang.tuwien.ac.at/ubvl/amd64/amd64h.html)) Das x64-Register ist wie folgt aufgebaut((https://learn.microsoft.com/de-de/windows-hardware/drivers/debugger/x64-architecture)) ((https://www.complang.tuwien.ac.at/ubvl/amd64/amd64h.html))
  
-^ 64-Bit-Registrierung Untere 32 Bits ^ Bezeichnung ^ Anwendung ^ +8-Bytes (64 Bit4 Bytes (32 Bit) ^ 2 Bytes (16 Bit) ^ 1 Byte (8 Bit) ^ Bezeichnung ^ Anwendung ^ 
-| @lightgreen:**RAX** | @orange:EAX | Temporäres Register | erstes Rückgaberegister | +| @lightgreen:**RAX** | @orange:EAX | @lightgrey:AX | @lightblue:AL | Temporäres Register | erstes Rückgaberegister | 
-| @lightgreen:**RBX** | @orange:EBX | Callee-gesichertes Register |  | +| @lightgreen:**RBX** | @orange:EBX | @lightgrey:BX | @lightblue:BL | Callee-gesichertes Register |  | 
-| @lightgreen:**RCX** | @orange:ECX | Argumentregister | viertes Ganzzahlargument | +| @lightgreen:**RCX** | @orange:ECX | @lightgrey:CX | @lightblue:CL | Argumentregister | viertes Ganzzahlargument | 
-| @lightgreen:**RDX** | @orange:EDX | Argumentregister | drittes Ganzzahlargument, zweites Rückgaberegister | +| @lightgreen:**RDX** | @orange:EDX | @lightgrey:DX | @lightblue:DL | Argumentregister | drittes Ganzzahlargument, zweites Rückgaberegister | 
-| @lightgreen:**RSI** | @orange:ESI | Argumentregister | zweites Ganzzahlargument +| @lightgreen:**RSI** | @orange:ESI | @lightgrey:SI | @lightblue:SIL | Argumentregister | zweites Ganzzahlargument 
-| @lightgreen:**RDI** | @orange:EDI | Argumentregister | erstes Argument | +| @lightgreen:**RDI** | @orange:EDI | @lightgrey:DI | @lightblue:DIL | Argumentregister | erstes Argument | 
-| @lightgreen:**RBP** | @orange:EBP | @red:Callee-gesichertes Register | @red:**Frame Pointer** | +| @lightgreen:**RBP** | @orange:EBP | @lightgrey:BP | @lightblue:BPL | @red:Callee-gesichertes Register | @red:**Frame Pointer** | 
-| @lightgreen:**RSP** | @orange:ESP | @red: | @red:**Stack Pointer** | +| @lightgreen:**RSP** | @orange:ESP | @lightgrey:SP | @lightblue:SPL | @red: | @red:**Stack Pointer** | 
-| @lightgreen:**RIP** | @orange:EIP | @red:Instruction Pointer | @red:**Adresse des nächsten auszuführenden Maschinenbefehls, Read-Only** | +| @lightgreen:**RIP** | @orange:EIP | @lightgrey:- | @lightblue:| @red:Instruction Pointer | @red:**Adresse des nächsten auszuführenden Maschinenbefehls, Read-Only** | 
-| @lightgreen:**R8** | @orange:R8D | Argumentregister | fünftes Argument +| @lightgreen:**R8** | @orange:R8D | @lightgrey:R8W | @lightblue:R8B | Argumentregister | fünftes Argument 
-| @lightgreen:**R9** | @orange:R9D | Argumentregister | sechstes Argument | +| @lightgreen:**R9** | @orange:R9D | @lightgrey:R9W | @lightblue:R9B | Argumentregister | sechstes Argument | 
-| @lightgreen:**R10** | @orange:R10D | Temporäres Register  |  | +| @lightgreen:**R10** | @orange:R10D | @lightgrey:R10W | @lightblue:R10B | Temporäres Register  |  | 
-| @lightgreen:**R11** | @orange:R11D | Temporäres Register  |  | +| @lightgreen:**R11** | @orange:R11D | @lightgrey:R11W | @lightblue:R11B | Temporäres Register  |  | 
-| @lightgreen:**R12** | @orange:R12D | Callee-gesichertes Register |  | +| @lightgreen:**R12** | @orange:R12D | @lightgrey:R12W | @lightblue:R12B | Callee-gesichertes Register |  | 
-| ... | ... | ... | ... | +| ... | ... | ... |  |  | ... | 
-| @lightgreen:**R15** | @orange:R15D | Callee-gesichertes Register |  |+| @lightgreen:**R15** | @orange:R15D | @lightgrey:R15W | @lightblue:R12B | Callee-gesichertes Register |  |
  
 === Aufrufkonventionen === === Aufrufkonventionen ===