你可以做如下实验:
int main()
{
char buffer[255];
scanf("%s",buffer);
printf(buffer);
return 1;
}
你输入buffer的时候输入%d。你会看到有乱码输出。这是因为堆栈破坏了。结合以前坛子里的相关文章,你可以构造一个堆栈使函数返回到你想执行的任意地址……很危险啊
你可以做如下实验:
int main()
{
char buffer[255];
scanf("%s",buffer);
printf(buffer);
return 1;
}
你输入buffer的时候输入%d。你会看到有乱码输出。这是因为堆栈破坏了。结合以前坛子里的相关文章,你可以构造一个堆栈使函数返回到你想执行的任意地址……很危险啊