逆向工程核心原理学习笔记(十六):栈帧3:add()函数参数传递与调用


从源代码中我们可以看到调用了printf函数,里面调用了add函数,但是add函数有两个参数。



我们转向汇编代码,看一下是如何传参的。






从401034这个地址开始,就开始把参数压入栈中,直到40103B,把所有的参数都压入到了栈中,然后带哦用401000地址的函数,即add函数。



我们F7往下走,直到走到40103B的地址,观察一下栈中的情况,相对于EBP:




我们可以清楚的看到参数已经被压入到栈中了,我们继续F7跟进函数:




在这里,我们可以看到add函数的实现。


我们一直F8走,直到retn。




我们可以看到它返回的地址,该地址就被称为add函数的返回地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值