您的位置:首页 > 其它

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

2017-05-06 20:08 531 查看


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

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






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

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






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






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

我们一直F8走,直到retn。






我们可以看到它返回的地址,该地址就被称为add函数的返回地址
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐