最简单的代码:
//裸函数 void __declspec(naked) testGyarmy() { __asm{ ret } }
//加法
//裸函数加法 int __declspec(naked) testGyarmyPlus(int x,int y) { __asm{ //提升堆栈 push ebp mov ebp,esp sub esp,0x40 //保存现场 push ebx push esi push edi //填充堆栈 mov eax,0xCCCCCCCC mov ecx,0x10 lea edi,DWORD ptr ds:[ebp-0x40] rep stosd //核心功能 mov eax,DWORD ptr ds:[ebp+8] add eax,DWORD ptr ds:[ebp+0xC] //还原现场 pop edi pop esi pop ebx //恢复堆栈 mov esp,ebp pop ebp ret } }
0则评论给“C语言中的裸函数”