首页
社区
课程
招聘
[求助]写程序如何 判断 栈底??
发表于: 2009-11-15 15:36 4597

[求助]写程序如何 判断 栈底??

2009-11-15 15:36
4597
如何判断已经到了栈底呢?比如,我现在用OK看到当前栈是
$ ==>    0012FFC8    7C930228  ntdll.7C930228
$+4      0012FFCC    FFFFFFFF
$+8      0012FFD0    7FFDC000
$+C      0012FFD4    8054C6ED
$+10     0012FFD8    0012FFC8
$+14     0012FFDC    8916BD80
$+18     0012FFE0    FFFFFFFF  SEH 链尾部
$+1C     0012FFE4    7C839AD8  SE处理程序
$+20     0012FFE8    7C817080  kernel32.7C817080
$+24     0012FFEC    00000000
$+28     0012FFF0    00000000
$+2C     0012FFF4    00000000
$+30     0012FFF8    0040FF68  VStart.<模块入口点>
$+34     0012FFFC    00000000

也就是esp+0x34就已经是底了,所以不存在 esp+0x38

我想知道,这个是怎么判断,

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 0
活跃值: (954)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
把ESP取出来,然后进行判断。
2009-11-15 15:45
0
雪    币: 419
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
如果是在OEP判断,可以这样做

lea eax,dword ptr [ebp+c]  eax ==就是底部了
2009-11-15 15:48
0
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
4
TEB里面的NT_TIB结构保存有当前线程的栈底和大小信息
2009-11-15 16:10
0
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
5
http://bbs.pediy.com/showthread.php?t=100190
2009-11-15 16:15
0
雪    币: 33
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
非常感谢,非常爽啊!!
2009-11-15 17:23
0
游客
登录 | 注册 方可回帖
返回
//