/*
C语言写的一段溢出代码,懂的朋友就不用看了,不懂的朋友就看看效果好了,呵呵。。。
想知道说法,那么就去看看函数调用的本质和栈段相关的知识点。内容比较繁杂,因为这
需要相关的汇编知识。我就不多说了,有不明白的地方也可以在本文回复提出,本人尽量
抽时间回答。
*/
#include <stdio.h>
#include <stdlib.h>
/*0001*/void func1(void){
/*0002*/ printf("func1");
/*0003*/ system("PAUSE");
/*0004*/}
/*0005*/void func2(void){
/*0006*/ printf("func2");
/*0007*/ system("PAUSE");
/*0008*/}
/*0009*/void func3(void){
/*0010*/ int ss[1];
/*0011*/ ss[2]=(int*)func1;
/*0012*/}
/*0013*/int main(void)
/*0014*/{
/*0015*/ func3();
/*0016*/ func2();
/*0017*/ system("PAUSE");
/*0018*/ return 0;
/*0019*/}
转载于:https://www.cnblogs.com/JiangHuakey/archive/2010/11/04/1869434.html