【Win32汇编】__declspec(naked)裸函数

使用 __declspec(naked) 定义的函数,编译器只会负责参数压栈、执行CALL指令,和释放参数的内存(堆栈平衡),除此之外啥也没有,比如提升堆栈,寄存器的保存和恢复,或者是函数返回,这些都要自己添加。 上图是一个裸函数,因为连参数都没有,编译器做的事情就是一个CALL。由于没有RET,所以程序会出错。 调用处生成的CALL 跳转到函数体,全是INT3,没有RET,函数无法返回到调用处,
相关文章
相关标签/搜索