首页
社区
课程
招聘
[旧帖] 请教一个简单的结构化异常处理问题 0.00雪花
发表于: 2007-2-7 16:11 3540

[旧帖] 请教一个简单的结构化异常处理问题 0.00雪花

2007-2-7 16:11
3540
一个call,里面的内容如下:

004293D0  /$  6A FF         push    -1
004293D2  |.  50            push    eax
004293D3  |.  64:A1 0000000>mov     eax, fs:[0]
004293D9  |.  50            push    eax
004293DA  |.  8B4424 0C     mov     eax, [esp+C]
004293DE  |.  64:8925 00000>mov     fs:[0], esp
004293E5  |.  896C24 0C     mov     [esp+C], ebp
004293E9  |.  8D6C24 0C     lea     ebp, [esp+C]
004293ED  |.  50            push    eax
004293EE  \.  C3            retn

单步到004293D3  |.  64:A1 0000000>mov     eax, fs:[0]
这里的时候,OD下面显示:
fs:[00000000]=[7FFDE000]=000EBB98
eax=0044A762 (soft.0044A762)
这里的fs:[00000000]=[7FFDE000]=000EBB98是什么意思呢?怎么得来的呢?

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

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 101
活跃值: (12)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
2
是你的栈空间
其中 [000EBB98]是下一个seh的指针,
[000EBB98+4] 是seh处理的函数地址。

000EBB98,怎么得来的。 你在数据区看看7ffde000就会发现里面填的这个值。

7ffde000怎么得来的,  windows切换到你当前那个线程的时候,
给设置fs这个积存器的选择子属性
2007-2-7 17:33
0
雪    币: 117
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢jjnet大侠的解答。
2007-2-7 17:35
0
游客
登录 | 注册 方可回帖
返回
//