char program[3] = { 0x6a, 0x0a, 0xC3 }; //push 10; ret;
char (*p)(void) = program;
printf("char = %c \n", p());
Run Code Online (Sandbox Code Playgroud)
这段代码崩溃了.为什么?
以下代码可以正常工作:
char program[3] = { 0x90, 0x90, 0xC3 }; //nop; nop; ret
void (*p)(void) = program;
p();
Run Code Online (Sandbox Code Playgroud)