码迷,mamicode.com
首页 > 其他好文 > 详细

2018/10/03-函数调用约定、cdecl、stdcall、fastcall- 《恶意代码分析实战》

时间:2018-11-03 12:42:43      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:分析   stdcall   代码   tca   从右到左   加载   存在   完成   代码分析   

  cdecl是最常用的约定之一,参数是从右到左按序被压入栈,当函数完成时由调用者清理栈,并且将返回值保存在EAX中。

  stdcall约定是被调用函数负责清理栈,其他和cdecl非常类似。

  fastcall调用约定跨编译器时变化最多,但是它总体上在所有情况下的工作方式都是相似的。在fastcall中,前一些参数(典型的是前两个)被传到寄存器中,备用的寄存器是EDX和ECX(微软fastcall约定)。如果需要的话,剩下的参数再以从右到左的次序被加载到栈上。通常使用fastcall比其他约定更高效,因为代码不需要涉及过多的栈操作。

2018/10/03-函数调用约定、cdecl、stdcall、fastcall- 《恶意代码分析实战》

标签:分析   stdcall   代码   tca   从右到左   加载   存在   完成   代码分析   

原文地址:https://www.cnblogs.com/Fingerprint/p/9900019.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!