Cuando cargo unos bytes en el stack, y luego los llamo con un call tengo el siguiente problema.
Código
pushq $0x050f01b0 callq *%rsp
Sería una llamada a exit, crea un segmentation fault, cuando cargo los bytes en memoria igual.
Código:
PSIG SIGSEGV SIG_DFL code SEGV_MAPERR<1> addr=0x6001d0 trapno=6
En C más de lo mismo.
Cuando miro el disassembler llama a esp, no entiendo porque no llamada a rsp, seguro que esta hay el problema.
Pero en 32 bits funciona bien.
También mirare los manuales.
Un saludo.
P.D:
Código
(*(void(*)()) code)();
Código
mov $0x600980,%edx mov $0x0,%eax callq *%edx