首页
社区
课程
招聘
[旧帖] [求助]函数开始处编译器添加的汇编代码疑问? 0.00雪花
发表于: 2008-3-4 15:20 2956

[旧帖] [求助]函数开始处编译器添加的汇编代码疑问? 0.00雪花

2008-3-4 15:20
2956
编译环境为vc6.0
系统xp sp2

函数原型:
BOOL MyFunc(HANDLE pHandle)
{
            if(pHandle == NULL)
        return FALSE;

...
....
}

结果调试,跟踪进去,发现该函数最开始添加了以下异常处理指令:
push        ebp
mov         ebp,esp
push        0FFh
push        offset $L59655 (0ff56aeb)//为何会有此指令?
mov         eax,fs:[00000000]//为何会有此指令?
push        eax
mov         dword ptr fs:[0],esp
sub         esp,24h
这些代码不知道为何要添加去,整个函数并无异常处理的相关代码,也不需要处理异常.
而定义在同一个CPP的其它类似函数却无此代码,不知道为何?
我不想让编译器添加这两条
push        offset $L59655 (0ff56aeb)
mov         eax,fs:[00000000]
指令该怎么做?

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 8026
活跃值: (2511)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
在这里多泡几年就明白了
2008-3-4 16:27
0
雪    币: 203
活跃值: (184)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
有人知道吗?
有没有办法,不让编译器加这几条指令?
2008-3-4 16:46
0
雪    币: 485
活跃值: (12)
能力值: ( LV9,RANK:490 )
在线值:
发帖
回帖
粉丝
4
应该是SEH,估计是高级语言自动加这个的,我不会用CPP,无能为力了
2008-3-4 21:32
0
游客
登录 | 注册 方可回帖
返回
//