在C语言中破坏函数调用堆栈

时间:2014-05-28 15:25:28   收藏:0   阅读:320
bubuko.com,布布扣
 1 // 这段代码显示,在C语言修改函数的返回地址
 2 int test1()
 3 {
 4   return 0;      
 5 }
 6 
 7 int test2(int a)
 8 {
 9   *(&a-1) = (int)test1;   // 将返回地址修改为test1  
10   return a;
11 }
12 
13 int main()
14 {
15   test2(10);
16   return 0;
17 }
bubuko.com,布布扣

 

在C语言中破坏函数调用堆栈,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!