北风网逆向工程培训第九讲:函数讲师:Glorevo(北风网版权所有)C++反汇编基础:Win32平台参数传递函数的栈空间ebpesp0x004120040x004120080x0041200C0x004120100x004120140x004120180x0041201C0x004120200x004120240x00412028实参1实参2返回地址备份的ebp局部变量1局部变量2局部变量3ebp-4ebp-8ebp-0Chebp+4ebp+8ebp+0Ch调用约定__cdecl:◦C规范,参数从右到左入栈,调用方平衡堆栈__stdcall:◦从右到左传参,被调用方平衡堆栈__fastcall:◦寄存器传参,被调用方平衡堆栈__pascal:◦从左到右传参,被调用方平衡堆栈__thiscall:◦C++类方法调用方式返回值通常把返回值保存在EAX寄存器返回长整型时用EDX传递高32位返回浮点数时使用ST(0)来传递ebp寻址与esp寻址Debug版本采用ebp来寻址Release版本采用esp来寻址IDA对函数参数和局部变量的标记方法◦正偏移标记法◦负偏移标记法本课程学习地址:C++反汇编基础:Win32平台(逆向实例、动态调试实例)欢迎访问我们的官方网站