社区
汇编语言
帖子详情
段重叠与保护是怎样实现的?
cyberkit
2007-10-17 06:58:27
在windows里,每个进程有4G内存,用户有2G,内核占2G,而且所有的段的基址都是0x00000000,段内偏移可达0xFFFFFFFF,也就是所有的段都是重合在一起的,而段内的jmp和call是不检查权限的,既然是这样,为什么我们依然不能jmp到内核空间啊?
...全文
108
10
打赏
收藏
段重叠与保护是怎样实现的?
在windows里,每个进程有4G内存,用户有2G,内核占2G,而且所有的段的基址都是0x00000000,段内偏移可达0xFFFFFFFF,也就是所有的段都是重合在一起的,而段内的jmp和call是不检查权限的,既然是这样,为什么我们依然不能jmp到内核空间啊?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cyberkit
2007-10-18
打赏
举报
回复
其实你说了这么多都没有告诉我CPU通过什么机制阻止那个Jmp的跳转.
昨天我自己找到了答案——在PTE的Bit2(U/S flag),这个东东控制了不同特权对内存空间的访问
大熊猫侯佩
2007-10-18
打赏
举报
回复
偶说的 读 是指可访问。在 ring3中对于高2GB 的空间相当于是 NO_ACCESS
更别说什么 Execute_Only 了。
cyberkit
2007-10-17
打赏
举报
回复
自己再顶
mydo 去了哪里啊 ?????
dongyi940333
2007-10-17
打赏
举报
回复
顶^_^
cyberkit
2007-10-17
打赏
举报
回复
我刚刚查了Intel的手册,请你翻到 Vol.3A 3-15 看看 Table 3-1
代码段可以是“Execute_Only”的,也就是说,我们无需“Read”的权限
大熊猫侯佩
2007-10-17
打赏
举报
回复
什么叫段内?什么叫段外?
想要执行一段代码,至少要有读它的权限,那你在ring3里有没有读高 2GB 的权限?
cyberkit
2007-10-17
打赏
举报
回复
同一个段就是同一个权限啊
难道同一个段还有特权检查?
大熊猫侯佩
2007-10-17
打赏
举报
回复
1 //而段内的jmp和call是不检查权限的
jmp不能在不同特权级中跳转,另外你在哪里看到段内call是不检查权限的?
cyberkit
2007-10-17
打赏
举报
回复
纠正之后请帮我解决问题,谢谢楼上的兄弟
大熊猫侯佩
2007-10-17
打赏
举报
回复
0 //而且所有的段的基址都是0x00000000,段内偏移可达0xFFFFFFFF
首先纠正一下,不是所有段的基址都为0,FS的基址是 0x7ffdf000
windows 气泡屏保 Js
实现
多个小球碰撞不
重叠
!
只有一个 html 文件, 可以自己替换 背景图片 和小球图片。(显示为白色 不是代码有问题,只是没有背景图片,和小球图片)
windows网络编程之tcp/ip
适用人群 windows网络编程的初学者 课程概述 课程...
重叠
i/o模型的讲解以及代码
实现
第六章 完成端口模型的讲解以及代码
实现
第七章 tcp/ip基础知识的讲解,包括网络分层,三次握手,四次挥手,协议头等等。
基于MATLAB的OFDM系统仿真程序
传统的频分复用将频带分为若干个不
重叠
的子频带来传输并行数据流,子信道之间要保留
保护
频带。而OFDM技术中各个子载波之间相互正交,允许子信道的频谱相互
重叠
,因此OFDM系统可以最大限度地利 用频谱资源。OFDM实际...
LPWizard_mib_10_3_1.part2
对
重叠
焊盘进行DRC
保护
焊盘图形自动命名 IPC-7351 LP 计算器允许改变生产误差来决定焊盘尺寸、布局外框误差、焊盘宽度分辨率、 器件误差、焊盘图形名称以及焊接分析。也可以直接使用IPC 缺省设置来保存库文档。 ...
汇编语言
21,459
社区成员
41,602
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章