-
-
[旧帖]
[求助]关于call指令与C语言中函数调用的问题
0.00雪花
-
发表于:
2012-9-13 22:09
1405
-
[旧帖] [求助]关于call指令与C语言中函数调用的问题
0.00雪花
之前看讲溢出的书,说c程序调用的时候是先从右向左将参数入栈,然后是返回地址,最后将EBP入栈。
可是刚才在论坛里看帖子,讲retn指令,说是返回的时候直接就pop eip了,也就是说调用之前没有将EBP入栈吗? 是不是因为 retn 与retf 不同的原因?
之前学OD的时候就是一个地方执行了retn指令后马上出错,不知道该怎么调了……然后从网上查也没找到讲retn比较详细的文章。
P.S.1.现在push/pop eip,ebp的时候都是入栈四个字节吧?也就是esp要-/+ 4 对不对?
P.S.2.呃,这个问题好像是个很基础的问题,不过就因为太基础了所以反而找不到合适的答案,所以大牛们体谅下则个~
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法