通过栈溢出破坏函数的返回地址,修改成其他函数的入口地址,可以暗调其他的函数,还蛮有趣的。 上代码看看,这是最初级了。黑客所使用的缓冲区溢出攻击的雏形大概就类似这个原理。 #include <iostream> #include <vector> #include<string> #include<map> using namespace std; void f2() { cout << "magic jump" <<endl; _exit(0); } void f() { int a[1]; a[2]=(int)f2; return; } int main() { f(); }