当调用函数时ip指向函数地址,函数都在堆栈中,这时ip的值等不等于sp,再说函数返回,恢复堆栈是不是回归原来的IP 求各位大神解答
2条回答 默认 最新
- freedom_wings4 2016-07-18 14:39关注
我觉得,调用函数后,会把调用前的指令的下一条指令地址压栈,再用push ebp, mov esb,esp,这样的,我觉得eip是不等于esp,另外函数本身的代码是不在栈中的。
返回时,因为入栈的是下一条指令的地址,所以会返回到call这些调用函数的指令的下一条指令的地址
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 TEC-9的数据通路实验
- ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
- ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
- ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
- ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
- ¥15 如何实现H5在QQ平台上的二次分享卡片效果?
- ¥15 python爬取bilibili校园招聘网站
- ¥30 求解达问题(有红包)
- ¥15 请解包一个pak文件
- ¥15 不同系统编译兼容问题