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

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

2007-12-14 00:13
51709
收藏
免费 7
支持
分享
最新回复 (134)
雪    币: 465
活跃值: (667)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
26
还好,我找的树较高,继续听
2007-12-14 20:03
0
雪    币: 615
活跃值: (1212)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
27
惟妙惟肖
在后排挺直腰杆继续旁听.
2007-12-14 20:41
0
雪    币: 350
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
28
晕啊,都排到第4排了. 秉烛夜读.
2007-12-15 00:46
0
雪    币: 190
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
29
作者风趣幽默的写作风格让我十分仰慕 :) 当然,文章更浅显易懂,感谢作者带来如此好的文章
2007-12-15 01:20
0
雪    币: 1919
活跃值: (901)
能力值: ( LV9,RANK:490 )
在线值:
发帖
回帖
粉丝
30
继续学习~~~
2007-12-15 11:52
0
雪    币: 479
活跃值: (25)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
31
“对于__stdcall调用约定,函数调用时用到的指令序列大致如下:

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

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

....

arg1
arg2
arg3

......

不能发图,只能用文字表示了
2007-12-16 13:42
0
雪    币: 350
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
32
楼上的朋友没理解栈的生长规则吧. 栈底位置大,栈顶位置小,  你发的没有指明栈顶和栈底的方向,没法说你对错.
2007-12-16 14:39
0
雪    币: 479
活跃值: (25)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
33
我是针对这个图来说的
2007-12-16 17:25
0
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
34
顶啊~~~~~~~
2007-12-16 18:02
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
35
很好!支持!
2007-12-16 19:31
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
36
感觉讲的不错~~
2007-12-17 22:52
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
37
呵呵 非常通俗易懂 建议再推荐一些进阶读物比较好
2007-12-18 00:28
0
雪    币: 293
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
38
[QUOTE=failwest;391651]
还是以C语言和WIN32平台为例,函数返回时的相关的指令序列如下:  

  
add xxx, esp  ;降低栈顶,回收当前的栈帧
pop ebp    ;将上一个栈帧底部位置恢复到ebp,
retn      ;这条指令有两个功能:a)弹出当前栈顶元素,即弹出栈帧中的返回地址。至此        ;栈帧恢复工作完成。b)让处理器跳转到弹出的返回地址,恢复调用前的代码区

[/QUOTE]

请问这里是不是应该为 add esp, xxx ?
2007-12-18 15:15
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
39
我很喜欢哥哥的讲课风格,有大师的风范,很受学生欢迎
2007-12-18 15:45
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
40
学习中。
2007-12-18 18:25
0
雪    币: 350
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
41
报告老师,图中的参数入栈示意图,31楼同学发现的,俺也觉得是不是方向画错了. 刚才又精读一遍.
2007-12-18 19:41
0
雪    币: 2041
活跃值: (261)
能力值: (RANK:330 )
在线值:
发帖
回帖
粉丝
42
谢谢指出的问题,是我不小心搞错了,示意图和前边的讲解没有完全匹配。幸好还没有最终定稿,可以在出版之前改过来,要不就对不住读者了。
2007-12-18 21:47
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
43
来晚了,学到第三课了,最近在看<深入理解计算机系统> 这本书,讲的实在是枯燥乏味啊,还是楼猪帅哥讲的生动啊些``,洗洗睡了,明天接着学!
2007-12-19 00:05
0
雪    币: 424
活跃值: (10)
能力值: ( LV9,RANK:850 )
在线值:
发帖
回帖
粉丝
44
不顶对不起毛主席
2007-12-19 05:20
0
雪    币: 2041
活跃值: (261)
能力值: (RANK:330 )
在线值:
发帖
回帖
粉丝
45
是我的疏忽,谢谢指出。

再发现什么错误欢迎提出啊,现在发现还有得改,可以尽量把错误消灭在书出版之前:)
2007-12-19 10:19
0
雪    币: 224
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
46
楼主 佩服!!
还制作了图片

谢谢了!
2007-12-19 10:33
0
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
47
向楼主致敬!
2007-12-20 11:53
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
48
楼主太伟大了!
2007-12-20 18:59
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
49
支持,多发表一些这样的文章,以利于大家的提高.
2007-12-21 11:26
0
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
50
楼主的文章写的真好,喜欢看这样的东西
  
   TOP:标识栈顶位置,并且是动态变化的。每做一次PUSH操作,它都会自增1;相反每做一次POP操作,它会自减1。栈顶元素相当于扑克牌最上面一张,只有这张牌的花色是当前可以看的。

  这里是不是有点小问题,每做一次PUSH操作,栈顶应该是减小的吧
2007-12-21 17:50
0
游客
登录 | 注册 方可回帖
返回
//