![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Windows操作系统
tutucoo
这个作者很懒,什么都没留下…
展开
-
Windows内核基础之控制寄存器
1. 概述控制寄存器用于控制和确定CPU的操作模式。主要有:CR0\CR1\CR2\CR3\CR42.CR0寄存器PE:启用保护模式标志,1是保护模式,0是实模式,这个位只是开始或关闭段机制,并没有启用分页机制PG:分页机制开关,在启用之前需要确保PE是开启的,否则会出现异常WP:写保护标志,禁止0环程序向3环只读页面执行写操作,也就是说当CPL<3的时候,如果WP=0,可以读写...原创 2018-12-04 11:37:12 · 771 阅读 · 0 评论 -
Windows内核基础之KPCR
1.概述KPCR是CPU的一个结构体,它就像EPROCESS对于进程,ETHREAD对于线程,KPCR对于CPU是非常重要的,它的全称是Processor Control Region。fs:[0]在3环时指向TEB,在0环时指向KPCR,每一个CPU核心都对应着一个KPCR,KPCR存储了CPU需要使用的一些重要信息,比如GDT\IDT以及线程相关的信息2.KPCR结构体nt!_KPCR...原创 2018-12-07 00:12:25 · 1102 阅读 · 0 评论 -
Windows内核基础之线程
1. 线程结构体在0环,每个线程都有一个结构体ETHREAD。nt!_ETHREAD +0x000 Tcb : _KTHREAD +0x200 CreateTime : _LARGE_INTEGER +0x208 ExitTime : _LARGE_INTEGER +0x208 KeyedWaitChain : ...原创 2018-12-07 00:09:54 · 926 阅读 · 0 评论 -
Windows内核基础之进程
1. 进程结构体EPROCESS每个运行中的进程在Windows内核中都有一个EPROCESS的结构体,这个结构体包含了进程所有重要的信息。在WinDbg中使用指令dt _EPROCESS可以查看进程结构体的所有成员。nt!_EPROCESS +0x000 Pcb : _KPROCESS +0x098 ProcessLock : _EX_PUS...原创 2018-12-07 00:08:11 · 864 阅读 · 0 评论 -
Windows保护模式下的分页机制(PART2:PAE模式)
1. 概述10-10-12分页方式最多可达4GB的物理地址,但是随着硬件的发展,4GB的物理地址无法满足要求,因此出现了2-9-9-12分页,这种分布方式又被称为PAE分页。为什么会出现2-9-9-12分页?我们知道10-10-12最后的12是物理页偏移,页的大小是4KB是不能变的,所以12是定下来了。那么要想表示更多的物理内存就必须增大物理页范围,而物理页是由PTE保存的,原来的PTE是...原创 2018-12-03 15:26:01 · 499 阅读 · 0 评论 -
Windows内核基础之权限级别
权限级别是CPU中的一个概念,CPU中包含4个权限级别,分别是0环,1环,2环,3环,CPU设计制造商最初希望0环用于运行内核,1环和2环运行设备驱动,3环运行应用程序,但是系统设计者为了简单将驱动和内核都放在0环,应用程序放在3环,没有使用1环和2环。后来CPU设计制造商干脆也和操作系统保持一致,只保留了0环和3环两个权限级别。...原创 2018-11-26 16:00:15 · 2792 阅读 · 0 评论 -
Windows内核基础之虚拟内存空间布局
32位Windows操作系统支持32位寻址,因此2的32次方就等于4GB,每个程序在运行时都会被映射进4GB空间的内存空间,这4GB空间不全是用户可以使用的,其中0x7fffffff-0xffffffff是2GB的内核空间,这部分用来保存内核的数据,用户程序是无法直接访问的。进程空间的地址是一个逻辑地址,它首先通过分段机制的段选择子和偏移地址计算出一个线性地址,再由分页机制分解线性地址,最...原创 2018-11-26 17:18:17 · 1218 阅读 · 1 评论 -
Windows保护模式下的段机制(PART1:段机制介绍)
文章目录1. 前置知识1.1 CPU对存储器的读写1.2 段地址1.3 段寄存器2. 保护模式3. 段机制3.1 保护模式下的段机制3.2 32位系统的段寄存器3.3 段寄存器的读写3.4 段选择子3.5 GDT和LDT3.6 段描述符3.7 段权限检查3.8 长跳转3.9 长调用与短调用1. 前置知识在了解保护模式以及分段和分页机制之前,需要知道一些必要的知识。1.1 CPU对存储器的读写...原创 2018-11-29 15:33:11 · 738 阅读 · 0 评论 -
Windows保护模式下的段机制(PART2:系统段介绍)
1. 概述PART1那篇文章基本上已经把段机制交待清楚了,这一部分主要是介绍在PART1里没有介绍的系统段。我们知道段描述符里的S位为1就是代码段或数据段,如果为0就是系统段。2. 调用门2.1 调用门介绍之前介绍过长调用,想通过长调用提升CPL只能通过调用门,调用门是门描述符的一种,保存在GDT中,Windows系统虽然没有使用调用门,但是为了演示提升CPL,我们可以手动构造一个调用门...原创 2018-11-30 23:15:00 · 354 阅读 · 0 评论 -
Windows保护模式下的分页机制(PART1:10-10-12模式)
1.概述一个进程的虚拟地址空间是4GB,它的物理大小并不是真的4GB,如果真的是4GB,那运行中的所有进程都加起来占用的空间是一个天文数字,事实上系统会对这4GB的地址空间进行转换,然后映射到物理内存中。换句话说虚拟地址本身并不是真实存在的。将虚拟地址转换为物理地址依赖的规则就是分页机制。物理地址也并不是内存条地址,物理地址需要再进行一层转换才能找到真正的内存条地址。我们只要会转换到物理地...原创 2018-12-03 00:14:23 · 1253 阅读 · 0 评论