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

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

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

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

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

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

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

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

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

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

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

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

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

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

....

arg1
arg2
arg3

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