首页
社区
课程
招聘
[已解决]jmp far 001b:82008130 这样的指令能成功执行吗
发表于: 2016-1-3 09:04 3307

[已解决]jmp far 001b:82008130 这样的指令能成功执行吗

2016-1-3 09:04
3307
32位系统的用户代码段描述符:
基址 0x00000000
大小 0xFFFFFFFF
囊括整个4G地址空间。

在用户代码段当中,不进行CS转移的话不管是
jmp far 001b:82008130 还是 jmp 82008130
只要是4G以内偏移地址都算是用户代码段的段内转移吧,那么这样不就可以在CPL==3的情况下 执行到80000000以上的内核代码了吗?

对这个说法是否成立有些疑惑,希望小神大神们可以帮我解个惑。


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 40
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
为防止其它菜鸟像我这样纠结。我将我得到的答案贴在这里:
当某个用户代码想不改变特权级(cs)就跳入内核地址执行时,内核地址对应的页表项中有一个 用户/内核 页面的标志位将会起作用。 MMU会判断页表项中该bit位是内核的还是用户的,来阻止用户特权级代码跳往内核页面执行。

(阻止用户权限执行内核页面)
2016-1-4 11:45
0
游客
登录 | 注册 方可回帖
返回
//