有谁能给讲讲WIN32下Selctor(选择器)的原理和用法?
在Flat Model下,Selctor到底有什么用? 问题点数:50、回复次数:1Top
1 楼wowocock(机器猫)回复于 2002-03-02 22:28:52 得分 50
win32采用保护模式,通过分段和分页实现2级保护。SELECTOR用于分段
PM下的内存寻址是通过SELECTOR的间接寻址,SELECTOR的16位分为3个部分
0,1位,在CS中为CPL,其他的段寄存器中为RPL,,主要是在访问其他段时进行特权检查用的
2位为0时表示其所指的DESCRIPTOR在GDT中,位1时在LDT中
3~15共13位表示所指的段在GDT或LDT中的偏移
所以通过SELECTOR我们就可以找到其所指的段,然后存入描述符缓冲寄存器
这样系统就可以直接访问段,而无须访问内存中的描述符表
在WIN9X下用TRW2000的GDT,LDT,可以直接查看系统或应用程序的段内容
当然我们也可以修改相应的段属性,象CIH那样直接进入RING0层。
Top




