C语言无参空函数,反汇编代码

C语言代码

#include <stdio.h>

void Function()
{


}

int main()
{
	Function();

	return 0;
}

汇编代码:

								//没有参数
003517C8  call        00351023   //调用函数

00351023  jmp         00351740

00351740  push        ebp        //保存进函数前的栈底到堆栈
00351741  mov         ebp,esp    //把进函数前的栈顶改为栈底
00351743  sub         esp,0C0h   //提升堆栈栈顶,为当前函数提供缓冲区
00351749  push        ebx  		 //保存ebx当前的值到堆栈
0035174A  push        esi  		 //保存esi当前的值到堆栈
0035174B  push        edi  		 //保存edi当前的值到堆栈(保护现场)
0035174C  lea         edi,[ebp+FFFFFF40h]  //
00351752  mov         ecx,30h  			   //
00351757  mov         eax,0CCCCCCCCh       //
0035175C  rep stos    dword ptr es:[edi]   //为缓冲区填充数据CC
0035175E  mov         ecx,35C003h          
00351763  call        0035130C  
00351768  pop         edi  					//
00351769  pop         esi  					//
0035176A  pop         ebx  					//恢复现场
0035176B  add         esp,0C0h  			
00351771  cmp         ebp,esp  
00351773  call        00351235  
00351778  mov         esp,ebp  				//恢复栈顶
0035177A  pop         ebp  					//恢复栈底
0035177B  ret    							//函数返回

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值