最简单的代码:
//裸函数
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
}
}