Windows内核基础

Windows基础

0x00-权限级别

先来看一下特权级环,从里往外权限逐渐降低

特权级环

系统内核层,又叫零环(Ring 0,简称“R0”;与此对应的应用层叫3环,即Ring 3,简称“R3”),实际上是CPU的4个运行级别中的一个

CPU设计者将CPU的运行级别从内往外分为4个,依次为R0、R1、R2、R3,运行权限从R0到R3依次降低。CPU设计制造商在设计之初是让R0运行内核,让R1、R2运行驱动设备,让R3运行应用程序的。

操作系统设计者与开发商在设计操作系统(例如微软Windows和开源社区的Linus编写的Linux)的时候,为了让工作变得简单,并没有使用R1和R2两个级别,而是将设备驱动运行在与内核一个级别的R0级

在AMD64CPU诞生之后,CPU的设计者干脆也和操作吸引保持一致,只保留了R0和R3两个级别

Windows XP体系结构简图

HAL是一个可加载的核心模块HAL.DLL,它为运行在Windows XP上的硬件平台提供低级接口。Windows XP的执行体是NTOSKRNL.EXE的上层(内核是其下层)。用户层导出并且可以调用的函数接口在NTDLL.DLL中,通过Win32 API或其他环境子系统对它们进行访问

0x01-内存空间布局