一个在外面滚动的球rainballdh.blog.chinaunix.net
rainballdh
全部博文(58)
2011年(11)
2010年(12)
2009年(20)
2008年(15)
山定子
pk-feiya
GFree_Wi
为什么删
babayou
jackyhue
physics9
大鬼不动
xiaobing
KWA2
格伯纳
浪花小雨
queque11
34952388
唐胜
ghq99683
jackywgw
分类: C/C++
2008-07-05 14:45:37
//出栈意思是STACK指针回覆, 而不是将那里的内存内容清除成为0
//出栈后内存中内容为59是没有清零的,所以找到59就可以修改其指针值
#include <stdio.h> void func(int i) { int a=0; while(1){ if(*(&i+a)==59){ *(&i+a++)=43; break; } } printf("i1 = %d\n",i); } void main() { int i = 59; printf("i0 = %7d %7p\n",i,&i); func(i); printf("i2 = %d at %p\n",i,&i); }
上一篇:Malloc Allocation[PDF]
下一篇:Nagios Error:check_ping检测主机状态
rainballdh2008-07-05 15:04:40
补充一下:GCC FUNC调用时候的STACK是有空闲的(不紧密). 如果有数值留在那里, 就会被查到.
登录 注册