首页 > 其他 > 详细

[反汇编]函数开始部分利用mov ebx,esp找到返回地址(_KTRAP_FRAME结构)

时间:2019-11-04 00:18:15      阅读:307      评论:0      收藏:0      [点我收藏+]

我们理解call原理,首先将返回地址压入栈中,之后执行调用。

因此,在一个函数开始部分,esp依旧是上一个栈帧的esp,此时esp指向返回地址。

这就意味着使用 mov ebx,esp,之后 [ebx]就是当前函数的返回地址。

 

我们应该意识到,SystemCall 就是通过这个 进入零环的,进入零环前将 mov ebx,esp。

因此,当进入零环时, _KTRAP_FRAME.ebx 就是保存着 esp 的地址,因此 [ _KTRAP_FRAME.ebx]为R3环的返回值。

这种概念你应该明确。

 

[反汇编]函数开始部分利用mov ebx,esp找到返回地址(_KTRAP_FRAME结构)

原文:https://www.cnblogs.com/onetrainee/p/11789465.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!