(20)PDE_PTE属性(U/S PS A D 有效位)
一、回顾
前面的课程中,我们学习了P位和R/W位,P决定物理页是否有效,RW决定了物理页的读写权限。
本节,将依次介绍U/S、PS、A、D位的含义。
二、U/S
U/S=0 表示特权用户可访问;
U/S=1 表示普通用户可访问。
回想一下之前学习段的时候,我们可以通过调用门,中断门,任务门等方式将CPL提升到0,从而可以读写高2G内存。学习了U/S位后,我们可以不提权也能访问高2G,只需要将想访问的物理页对应的PDE PTE的U/S位改写为1即可。
下面是一个小实验:
// PDE_PTE_US.cpp : Defines the entry point for the console application.
//#include "stdafx.h"
#include <Windows.h>int _tmain(int argc, _TCHAR* argv[])
{PDWORD p = (PDWORD)0x8003f00c;DWORD addr = (DWORD)p;printf("线性地址:0x%08x, 4*0x%x 4*0x%x 0x%x\n", addr, addr>>22,(addr>>12)&0x000002FF,addr&0x00000FFF);getchar();printf("读高2G内存地址:%x\n", *p);return 0;
}
我在程序中已经把线性地址拆分好了,接下来只需要找到PDE PTE,将U/S改成1即可。
修改U/S位:
继续执行程序:
总结:
1、2G以上是内核才能访问的原因是U/S位的设置问题,如果将内核的某个页
设置为1 就可以在R3访问了
2、0 1 2是系统环 可以访问系统页和用户页 0环是特权级环 1、2环虽然不
是特权级环 但是是系统环 3环是用户环 可以访问用户页
三、PS
PS是PDE的第8位,PS是PAGE SIZE 的意思。我们之前遇到的PDE PS位大部分都是0;当PS=1,则PDE直接指向物理页,以 0x8043f00c 为例,分析PS=1的情况。
拆分 8043f00c
10 0000 0001 0x201
00 0011 1111 0x3f
00000000 1100 0xc
随便找一个进程的CR3,notepad.exe CR3=0ddb5000
查得PDE=004001e3
看看 8043f00c 的拆分结果,前10位是PDT的下标,通过它找到了PDE,后22位是物理页偏移。
10 0000 0001 0x201
00 0011 1111 0x3f
0000 0000 1100 0xc
PDE指向大小为4MB的物理页,即物理页地址是 0x00400000,页内偏移22位来自 0x8043f00c 的低22位,即 00 0011 1111 0000 0000 1100 ,十六进制是 0x3f00c
所以 0x8043f00c 物理地址是 0x0043f00c,验证如下:
四、A
是否被访问(读或者写)过 ,访问过置1,即使只访问一个字节也会导致PDE PTE置1。
五、D
脏位 是否被写过 0没有被写过 1被写过
六、关于G位,PWT位,PCD位
学完控制寄存器域TLB才能讲,此处略过。
七、有效位
有效位在发生缺页时(PTE的P=0)使用。关于这部分知识,等以后学习了内存管理的缺页异常就知道了,这里简单介绍一下。
(20)PDE_PTE属性(U/S PS A D 有效位)相关推荐
- 20天学会UI设计(PS+AI)入门教程
PS.AI是UI设计师必不可少的两项技能,对于想要学习UI设计的人来说,首先就是要学会使用PS和AI.如何才能快速学会这两样呢?下面给大家分享20天学会UI设计(PS+AI)入门教程. 课程介绍 本套 ...
- 20种处理照片的PS技术
1 打开图片,执行色像/饱和度(-40)降低饱和度. 2 新建一图层,将图层模式改为柔光,用画笔工具将需要润饰的部分画几下,这里可以利用色板方便的提取颜色 3 图片色彩过渡不够柔和,再执行一下滤镜 ...
- 13. PDE_PTE属性
物理页的属性= PDE属性& PTE属性 (后12位) 4d404063 属性含义 P:有效位.0 表示当前表项无效. R/W: 0 表示只读.1表示可读可写. U/S::0 表示3特权级程序 ...
- 20.python-类属性和类方法
类属性和类方法 目标 类的结构 类属性和实例属性 类方法和静态方法 01. 类的结构 1.1 术语 -- 实例 使用面相对象开发,第 1 步 是设计 类 使用 类名() 创建对象,创建对象 的动作有两 ...
- (29)PDE_PTE属性(PWT/PCD位)
一.CPU缓存(CACHE) CPU缓存是位于CPU与物理内存之间的临时存储器,它的容量比内存小的多 但是交换速度却比内存要快得多. CPU缓存可以做的很大,有几K.几十K.几百K 甚至上M的也有. ...
- Linux进程管理之ps的使用
主题Linux进程管理之ps工具的使用 一ps工具的介绍 ps: process state 进程状态 ps - report a snapshot of the current processes ...
- ps如何修改图片大小尺寸_如何查看图片尺寸,大小及如何修改图片尺寸—淘宝美工入门课03...
上一篇文章给大家分享了一下豆芽常用字体,也提供了下载链接,今天和大家聊聊有关图片尺寸和图片大小相关的问题,主要包含以下这3个方面. 一,如何查看图片的尺寸(像素px) 二,如何改变图片的尺寸 三,了解 ...
- OC反射机制获得该类全部属性并创建数据表
1. 首先我们要知道,这使用的是运行时的反射机制 所以我们需要头文件 runtime.h 1 - (BOOL) createTableByClassAttributes: (id)classModel ...
- (转载)js对象原来也有类、实例属性和原型属性
<html> <head> <meta http-equiv="Content-Type"content="text/htm ...
最新文章
- 物理学走到尽头了吗?
- 乐高ev3搭建图_乐高EV3作品|机械夹子(二)
- LinkedBlockingQueue 解析
- Hough 检测直线
- audio标签不展示_设计标签式PPT:排版简洁明了,强烈信息秩序感,你想试试吗?...
- 【题解】luogu P1757 通天之分组背包
- 【课题总结】OpenCV 抠图项目实战(1)目录摘要
- matlab制作萨克斯音乐,Cmusic Productions SAXBAND Soprano Sax KONTAKT 萨克斯
- 如何使用Eclipse开发安卓手机程序在手机上运行并设置真机启动
- [1]技术浅谈——小刘对渗透攻击的一些见解
- 什么是群发单显和分别发送,有什么区别,发客户邮件忘记群发单显
- 在windows 10上编译bitcoin源码
- 【计蒜客 - 蓝桥训练】蒜厂年会(循环数列的最大子段和)
- Beta周王者荣耀交流协会第五次Scrum会议
- Excel 图表与数据透视表制作
- 三角定位matlab,基于RSSI校正的三角形质心定位算法
- C语言遍历windows目录文件 并对文件进行读写操作
- VSCode改主题背景
- IP-guard V4 服务器迁移方法
- biobakery流程之有参宏基因组分析
热门文章
- oracle供需平衡,OracleR12_MRP_功能介绍_V2.ppt
- AI:2020年6月23日北京智源大会演讲分享之AI交通专题论坛——11:05-11:35杜博文教授《基于广义时空数据挖掘的交通复杂行为认知-从研究到工业》
- 成功解决 cl: 命令行 error D8021 :无效的数值参数“/Wno-cpp” 和 cl: 命令行 error D8021 :无效的数值参数“/Wno-unused-function”
- HighNewTech:2019.08.09程序猿界大事件之【你好,我是鸿蒙OS】~【来了,老弟】—技术才是硬道理,开源方能建立新生态!
- CV:cv2实现检测几何形状并进行识别、输出周长、面积、颜色、形状类型
- Pandas常用I/O(一)------read_csv(),read_table()
- Python基础 --- 使用 dict 和 set
- js中的arguments 参数
- 三、python沉淀之路--列表(list)
- 【提权思路】绕过SecureRDP限制远程连接