首页
社区
课程
招聘
为什么retf可以实现ring0向ring3的转移?
发表于: 2009-11-9 21:04 3618

为什么retf可以实现ring0向ring3的转移?

2009-11-9 21:04
3618
retf的本质也是长跳转jump吧,但是jump不是不能实现高特权级向低特权级的转移吗?还是说CPU对jump要求很严,却对retf网开一面?那么,是不是ring0向ring3的转移只有手工压栈然后手工retf一个方法?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 156
活跃值: (26)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
自己顶一顶,难道这个问题很愚蠢吗?
2009-11-11 12:00
0
雪    币: 723
活跃值: (81)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
3
注意语义,这很重要

低权限 ---> 高权限 : 这叫做 “进入内核级” 或者 “调用服务例程”,所以只能由低向高(或平级)

高权限 ---> 低权限 :这叫做 “退回用户级“ 或者 “返回用户程序”,所以只能由高到低(或平级)

-----------------------------------------------------------------

所以,当你深刻理解到这个含义时,就不会对这个设计产生任何疑问了。

因为:如果 retf 可以往高权限转移的话,难道你的用户程序权限还要高于内核权限

因此, 低 call   高,  高 ret 低
2009-11-12 00:16
0
游客
登录 | 注册 方可回帖
返回
//