首页
社区
课程
招聘
[技术专题]软件漏洞分析入门_3_初级栈溢出B_系统栈原理
发表于: 2007-12-14 00:13 51708

[技术专题]软件漏洞分析入门_3_初级栈溢出B_系统栈原理

2007-12-14 00:13
51708
收藏
免费 7
支持
分享
最新回复 (134)
雪    币: 475
活跃值: (1130)
能力值: ( LV9,RANK:1410 )
在线值:
发帖
回帖
粉丝
76
50楼跟75楼的老兄说的都对,进栈时,栈顶地址减小,出栈时栈顶地址增加。这个规律可以看TD调试器调试一个程序即可明白。
栈底位于高地址端,栈顶位于低地址端的。

希望大家讨论。另外《深入理解计算机系统》这本书哪里有?俺想研究研究。多谢啦。
2008-1-27 13:36
0
雪    币: 2041
活跃值: (261)
能力值: (RANK:330 )
在线值:
发帖
回帖
粉丝
77
这里并没有涉及实际的内存,是对栈的一个初级描述

涉及实际内存后,由于内存有地向高走,你们的理解是对的

我将问题喜欢先从最最简单的讲起,所以用了这个比喻。所谓push的增一,这里指的是栈中的元素增一(扑克牌多放进去一张)

所以如果你们学完后面的章节,这里实际上是没有概念混淆的

你们读的很细致,理解的也很仔细,欢迎这样的质疑。发现问题会我会作为勘误在书中修改的
2008-1-28 00:29
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
78
虚心听课!不怕拖堂。
2008-1-28 13:07
0
雪    币: 227
活跃值: (55)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
79
大哥,你真强!!!
2008-1-29 15:15
0
雪    币: 107
活跃值: (404)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
80
我只是想弱弱的问一句。。。。。。。。。

add xxx, esp  ;降低栈顶,回收当前的栈帧

这句话里的汇编,我能否理解为:
xxx加上esp的值,并把相加后的结果保存到xxx里???
2008-2-4 16:05
0
雪    币: 62
活跃值: (72)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
81
这么好的帖子,学习了再顶,哈哈
2008-2-5 00:43
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
82
呵呵很精采!
2008-2-17 23:06
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
83
顶起来慢慢看
2008-2-18 23:07
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
84
  好贴好文,做个记号。

谢谢楼主的课程,很精彩!
2008-2-19 09:18
0
雪    币: 308
活跃值: (25)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
85
顶!!!
教程通俗易懂!!1
2008-2-23 00:14
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
86
大哥,你真强!!!
2008-2-23 10:07
0
雪    币: 230
活跃值: (106)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
87
精彩,禁不住顶!
2008-3-1 12:40
0
雪    币: 268
活跃值: (40)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
88
听完第二节了,一个字 爽,接着去听第三节,呵呵
2008-3-3 16:21
0
雪    币: 268
活跃值: (40)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
89
80楼理解错误,应该是ESP加XXX,改变的是ESP,XXX是当前栈帧
的大小,它的作用是释放当前的栈帧
2008-3-3 16:28
0
雪    币: 413
活跃值: (351)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
90
我也发现了31楼兄弟所提出的问题,是图画错了,还是我没理解透?

“对于__stdcall调用约定,函数调用时用到的指令序列大致如下:

  ;调用前
push 参数3    ; 假设该函数有3个参数,将从右向左依次入栈
push 参数2   
push 参数1   
call 函数地址  ; call指令将同时完成两项工作:a)向栈中压入当前指令在内存中的位置,          ; 即保存返回地址;b)跳转到所调用函数的入口地址
........

上面这段用于函数调用的指令在栈中引起的变化如下图所示:”
图中的参数入栈是不是应该这样:

....

arg1
arg2
arg3

......
2008-3-5 16:07
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
91
图7、图8中的参数顺序是不是弄错了阿,我感觉应该是反的才对啊
2008-3-7 09:44
0
雪    币: 193
活跃值: (1447)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
92
看了以后,还是不由得感叹,要是教科书都能写成这样那就好了.
2008-4-11 21:43
0
雪    币: 397
活跃值: (387)
能力值: ( LV9,RANK:410 )
在线值:
发帖
回帖
粉丝
93
图文并茂,这是好。谢谢LZ
2008-4-13 16:13
0
雪    币: 438
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
94
真的非常感谢,不顶不行
2008-4-14 17:11
0
雪    币: 16
活跃值: (430)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
95
听君一席话,胜读十年书
2008-5-23 03:11
0
雪    币: 16
活跃值: (430)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
96
感谢老师们无私的奉献
2008-5-23 03:12
0
雪    币: 738
活跃值: (476)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
97
计算机组成原理中也有这方面的讲解,但是很晕!
2008-5-23 09:09
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
98
讲得很好很明白
可惜来迟了,坐最后一排听课了~~
2008-5-30 16:00
0
雪    币: 224
活跃值: (16)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
99
先顶再看,太好了,真是太好了。
2008-6-2 10:43
0
雪    币: 208
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
100
很不错的教学文章
2008-6-2 22:39
0
游客
登录 | 注册 方可回帖
返回
//