【发布时间】:2014-03-03 23:06:54
【问题描述】:
如何将函数的地址存储在 char* 中,以便它溢出 strcpy() 返回地址以返回到不同的函数。
如果你有一个函数:
void f()
{
printf("We made it");
exit(0);
}
void main()
{
char *add;
//Do something like: add = &f;
char str[4] = "123";
strcpy(str, add);
return 0;
}
据我了解,您需要做的就是通过使 add 变大并在其中包含 f 的地址来覆盖存储在 strcpy() 调用中的返回地址。它是否正确?如何做到这一点?
【问题讨论】: