欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > windows内核研究(保护模式 2)

windows内核研究(保护模式 2)

2025/6/21 23:07:56 来源:https://blog.csdn.net/weixin_43754657/article/details/148791711  浏览:    关键词:windows内核研究(保护模式 2)

保护模式


段描述符属性

在这里插入图片描述

问题:段寄存器中的值是通过段描述符来填充的,但段描述符只有64位,那如何从64位变为80位呢?

段描述符与段寄存器的对应关系

P位和G位

P位 = 1:段描述符有效
P位 = 0:段描述符无效

在这里插入图片描述

S位和TYPE域

TYPE域结构图

在这里插入图片描述

S位 = 1:是一个代码或数据段的描述符
S位 = 0:是一个系统段的描述符

tips:高4字节中DPL要么全为0,要么全为1,那么我们把P,DPL,S位连在一起看时,如果为F或者为9那么就表示这是一个代码段或数据段的描述符,又刚好是4个字节,那么通过段描述符中的高字节第5位就可以确定出来

一但确定了是代码段或者是数据段后,就可以看TYPE域了,从上面的图可以看出,如果TYPE的值小于8,那么它就一定是代码段

在这里插入图片描述

图中的数据段的A,W,E分别代表的意思:

  • A:访问位(没访问过为0,访问过了为1)
  • W:是否可写
  • E:扩展位(向上扩展或向下扩展)

图中的代码段的A,R,C分别代表的意思:

  • A:访问位(没访问过为0,访问过了为1)
  • R:可读位
  • C:一致位
    • C = 0 :一致代码段
    • C = 1 :非一致代码段

Table 3-1. 代码段与数据段类型

数据段(Type[3] = 0)
Type (Hex)Type[2:0]名称描述
0000只读数据段段内容可读,不可写入。
1001读写数据段段内容可读可写。
2010只读,向下扩展栈段专用,界限值为最大偏移,访问时需满足 ESP <= Limit
3011读写,向下扩展同上,但可写入。
4100只读,已访问只读段,CPU访问后自动置位Accessed标志(位8)。
5101读写,已访问读写段,Accessed标志有效。
6110只读,向下扩展+已访问向下扩展栈段,Accessed标志有效。
7111读写,向下扩展+已访问同上,可写入。
代码段(Type[3] = 1)
Type (Hex)Type[2:0]名称描述
8000仅执行代码可执行,不可直接读取(如MOV [CS:...]会触发异常)。
9001可执行可读代码可执行且可读取(如读取常量数据)。
A010仅执行,符合段低特权级程序可直接跳转至此段(DPL不检查)。
B011可执行可读,符合段同上,但允许读取代码。
C100仅执行,已访问仅执行段,Accessed标志有效。
D101可执行可读,已访问可读代码段,Accessed标志有效。
E110仅执行,符合段+已访问符合段,Accessed标志有效。
F111可执行可读,符合段+已访问同上,可读取代码。

系统段描述符

在这里插入图片描述
之前有提到过当S位为0时,该段的描述符为系统描述符

Table 3-2. 系统段与门描述符类型

系统段与门描述符(S=0)
Type (Hex)bit名称描述
00000Reserved保留未使用。
1000116-bit TSS (Available)16位任务状态段(可用),用于硬件任务切换。
20010LDT局部描述符表(LDT)描述符。
3001116-bit TSS (Busy)16位任务状态段(繁忙),表示任务正在执行。
4010016-bit Call Gate16位调用门,用于特权级切换的远调用。
50101Task Gate任务门,用于通过中断/异常触发任务切换。
6011016-bit Interrupt Gate16位中断门,用于处理中断(不清除EFLAGS.IF)。
7011116-bit Trap Gate16位陷阱门,用于处理异常(不清除EFLAGS.IF)。
81000Reserved保留未使用。
9100132-bit TSS (Available)32位任务状态段(可用)。
A1010Reserved保留未使用。
B101132-bit TSS (Busy)32位任务状态段(繁忙)。
C110032-bit Call Gate32位调用门。
D1101Reserved保留未使用。
E111032-bit Interrupt Gate32位中断门(清除EFLAGS.IF)。
F111132-bit Trap Gate32位陷阱门(不清除EFLAGS.IF)。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词