八.Windows内核保护机制--页保护3--PDE PTE属性

转载:https://blog.csdn.net/weixin_42052102/article/details/83043117

物理页的属性= PDE属性& PTE属性 (后12位)

 

4d404063

属性含义

P:有效位。0 表示当前表项无效。
R/W: 0 表示只读。1表示可读可写。
U/S::0 表示3特权级程序可访问,1表示只能0、1、2特权级可访问。
PWT、PCD、请看后面的填坑篇
A::0 表示该页未被访问,1表示已被访问。
D::脏位。0表示该页未写过,1表示该页被写过。
PS::只存在于页目录。0表示这是4KB页,指向一个页表。1表示这是4MB大页,直接指向物理页。
PAT:这个不管
G:如果G位为1刷新TLB时将不会刷新PDE/PTE的G位为1的页,G=1切换进程该PTE扔然有效(这里学完TLB才能明白)
有效:由软件控制的位,此位仅使用于多处理器系统,指明了可读写或只读
线性地址0为什么不能访问呢?
没有指定物理页,指定物理页就一定能访问吗?
先看PDE与PTE的P位都为1才是有效的物理页
-----------------------------------------------------------------------------

这段代码试图修改常量区的值,直接运行肯定会异常


但我们修改pde与pte的RW位为1后就可以将他成功修改

(红色那我打错了不用管)

 


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

修改U/S位读高两G内存

pde与pte的u/s位都改成0,执行

猜你喜欢

转载自www.cnblogs.com/jszyx/p/12446602.html