逆向工程核心原理学习笔记(二十二):栈帧9:调用printf()函数

来源:互联网 发布:如何更改mysql的密码 编辑:程序博客网 时间:2024/05/21 03:26



我们可以清楚的看到printf函数的调用。




然后我们转向汇编代码:





首先PUSH EAX,将add()函数的返回值放进EAX寄存器中,


然后将打印的内容压入410DC4地址


紧接着调用40107C地址的函数,这个地址的函数是C的标准函数——printf,我们不必跟进去。


最后,ADD ESP,8


为啥呢,因为printf的参数为%d\n,占用了8个字节,ESP加上8个字节就将参数从栈中删除了。


32位寄存器 + 32位常量 = 64位 = 8字节



0 0
原创粉丝点击