asm Shellcode im C Buffer - Prolog

Ich versuche, eine Funktion in einem Puffer in C zu erstellen. Mit GDB kann ich übersetzen

push   rbp
mov    rbp,rsp
(...)
leave
ret

zu

0x55
0x48 0x89 0xe5
(...)
0xc9
0xc3

Also habe ich einen C-Code geschrieben:

int main()
{
   char buffer[]={0x55,0x48,0x89,0xe5,0xc9,0xc3};
   void (*j)(void)=buffer;
   j();
}

aber mein programm scheint bei der anweisung "push rbp" (0x55 im puffer) zum absturz zu kommen weisst du warum?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage