首页
社区
课程
招聘
[求助]MS除了常用的stdcall cdecl 以外是否有了新的call type?
发表于: 2014-2-17 10:53 4800

[求助]MS除了常用的stdcall cdecl 以外是否有了新的call type?

2014-2-17 10:53
4800
最近分析几个checed 版NT6.X 的bootmgr,发现除了vista beta2以外,几乎之后的每个版本都发现了用edi esi eax 和 栈 一起传参数的情况,照理应该是stdcall的函数他非得用个edi或esi传参数,结果就变成了 IDA 里面的 __userpurge 类型call,这个微软也没定义啊,难道是某种编译器优化技术?但是微软的CHECKED版本系统不是关闭优化嘛。

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 84
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
__fastcall

__thiscall
2014-2-17 11:05
0
雪    币: 1392
活跃值: (5177)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
3
楼上正解
主要是fastcall和类对象调用成员函数
2014-2-17 11:18
0
雪    币: 158
活跃值: (384)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
程序是C写的,不是__thiscall,但也不符合__fastcall规范,毕竟esi edi 没出现在ms的fastcall规范里。
2014-2-18 10:58
0
雪    币: 257
活跃值: (67)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
楼上正解
2014-5-15 20:39
0
雪    币: 7
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
naked
这不算一种吗?
2014-5-15 21:35
0
游客
登录 | 注册 方可回帖
返回
//