标签:pre caff 配置 -- ffffff 高级 stdcall log bsp
知识点: ? cdecl 函数调用约定 ? stdcall 函数调用约定 ? CALL堆栈平衡 配置属性--> c/c++ -->高级-->调用约定 一、cdecl调用约定 VC++默认约定__cdecl 1、源代码 int __cdecl add1(int a,int b) { return a+b; } 2、生成汇编代码 00401000 /$ 55 PUSH EBP 00401001 |. 8BEC MOV EBP,ESP 00401003 |. 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8] 00401006 |. 0345 0C ADD EAX,DWORD PTR SS:[EBP+C] 00401009 |. 5D POP EBP 0040100A \. C3 RETN ; POP EIP 3、调用代码 push b push a call add1 add esp,8 00401031 |. 6A 02 PUSH 2 ; 0012FF7C 00401033 |. 6A 01 PUSH 1 00401035 |. E8 C6FFFFFF CALL stdcall_.00401000 ; __cdecl add1 0040103A |. 83C4 08 ADD ESP,8 ; RETN 8 二、stdcall调用约定 API函数约定 __stdcall 1、源代码 int __stdcall add2(int a,int b) { return a+b; } 2、生成汇编代码 00401010 /$ 55 PUSH EBP 00401011 |. 8BEC MOV EBP,ESP 00401013 |. 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8] 00401016 |. 0345 0C ADD EAX,DWORD PTR SS:[EBP+C] 00401019 |. 5D POP EBP 0040101A \. C2 0800 RETN 8 ; RETN 8 //ADD ESP,8 3、调用代码 push b push a call add2 0040103D |. 6A 04 PUSH 4 ; 0012FF7C 0040103F |. 6A 03 PUSH 3 00401041 |. E8 CAFFFFFF CALL stdcall_.00401010 ; __stdcall add2 PUSH 下一个EIP
汇编 ? cdecl 函数调用约定,stdcall 函数调用约定
标签:pre caff 配置 -- ffffff 高级 stdcall log bsp
原文地址:http://www.cnblogs.com/whzym111/p/6366111.html