首页
社区
课程
招聘
[旧帖] [讨论][求助]建立seh的疑问 0.00雪花
发表于: 2007-7-16 12:07 3747

[旧帖] [讨论][求助]建立seh的疑问 0.00雪花

2007-7-16 12:07
3747
建立seh 的代码,见过大都是如下形式:

push offset fun_excep
push large dword ptr fs:0
mov lage fs:0,esp

今天见到一个如下形式的代码,看不懂,希望高手指点一二:
            sub_B5D5C8      proc near               
.text:00B5D5C8
.text:00B5D5C8 arg_4           = dword ptr  8
.text:00B5D5C8
.text:00B5D5C8                 push    offset sub_B55BB8
.text:00B5D5CD                 mov     eax, large fs:0
.text:00B5D5D3                 push    eax
.text:00B5D5D4                 mov     eax, [esp+8+arg_4]
.text:00B5D5D8                 mov     [esp+8+arg_4], ebp
.text:00B5D5DC                 lea     ebp, [esp+8+arg_4]
.text:00B5D5E0                 sub     esp, eax
.text:00B5D5E2                 push    ebx
.text:00B5D5E3                 push    esi
.text:00B5D5E4                 push    edi
.text:00B5D5E5                 mov     eax, [ebp-8]
.text:00B5D5E8                 mov     [ebp-18h], esp
.text:00B5D5EB                 push    eax
.text:00B5D5EC                 mov     eax, [ebp-4]
.text:00B5D5EF                 mov     dword ptr [ebp-4], 0FFFFFFFFh
.text:00B5D5F6                 mov     [ebp-8], eax
.text:00B5D5F9                 lea     eax, [ebp-10h]
.text:00B5D5FC                 mov     large fs:0, eax
.text:00B5D602                 retn
.text:00B5D602 sub_B5D5C8      endp ; sp = -18h

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

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 2559
活跃值: (176)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
2
把fs:[0]看成一个链表的头指针,这样不管它怎样建立或加入一个异常处理函数,就都很好理解了
2007-7-17 10:35
0
雪    币: 398
活跃值: (343)
能力值: (RANK:650 )
在线值:
发帖
回帖
粉丝
3
这是vc7用来装载通用的结构化异常处理的__SEH_prolog函数
push    offset sub_B55BB8 中的B55BB8是这个PE模块的异常处理入口
2007-7-17 10:47
0
游客
登录 | 注册 方可回帖
返回
//