image.png

  • 用户进程:这些是基于映像文件的普通进程,在系统上执行 比如notepad.exe

  • 服务进程: 服务进程是可以与服务控制管理器(SCM,在services.exe中实现)通信并允许对其生命周期进行某些控制的普通Windows进程。SCM可以启动、停止、停、恢复和向服务发送其他消息。

  • 系统进程:系统流程是一个总括语,在通常情况下这些进程没有直接沟通的地方执行其工作。尽管如此,它们仍然很重要,事实上,其中一些对系统的健康至关重要。终止其中一些是致命的,会导致系统崩溃。一些系统进程是本机进程,这意味着它们只使用本机API(由NTDLL实现的API)。示例系统进程包括Smss.exe、Lsass.exe、Winlogon.exe、Services.exe和其他。

  • 子系统进程:运行映像Csrss.exe的Windows子系统进程可以被视为内核的助手,用于管理在Windows系统下运行的进程。这是一个关键的过程,意味着如果被杀死,系统将崩溃。每个会话通常有一个Csrss.exe实例,因此在标准系统上会存在两个实例-一个用于会话0,另一个用于登录的用户会话(通常为1)。虽然Csrss.exe是Windows子系统的“管理者”(目前仅存的一个),但它的重要性不仅仅是这个角色。

  • 子系统DLL:子系统DLL是一些动态链接文件,是系统暴露在外的操作接口,比如kernel32.dll user32.dll, gdi32.dll, advapi32.dll, combase.dll 等等

  • NTDLL.DLL:系统的DLL,实现Windows本机API。这是仍处于用户模式的最低代码层。它最重要的作用是为系统调用转换到内核模式。NTDLL还实现了堆管理器、映像加载程序和用户模式线程池的某些部分

  • Executive Executive是NtOskrnl.exe(“内核”)的上层。它承载大多数处于内核模式的代码。它主要包括各种“管理器”:对象管理器、内存管理器、I/O管理器、即插即用管理器、电源管理器、配置管理器等。它远远大于(就是大小 ,多少MB) 低层次的内核层

  • 内核:内核层实现内核模式操作系统代码中最基本和最具时间敏感性的部分。这包括线程调度、中断和异常调度以及各种内核原语(如互斥和信号量)的实现。一些内核代码是用特定于CPU的机器语言编写的,以提高效率并直接访问特定于CPU的详细信息。

  • 驱动:设备驱动程序是可加载的内核模块。他们的代码在内核模式下执行,因此具有内核的全部功能。经典的设备驱动程序提供了硬件设备和操作系统其余部分之间的粘合剂。其他类型的驱动程序提供过滤功能。

  • win32k.sys:Windows子系统的内核模式组件。本质上,这是一个内核模块(驱动程序),用于处理Windows的用户界面部分和经典图形设备界面(GDI)API。这意味着所有窗口操作都由该组件处理。系统的其余部分对UI几乎一无所知

  • 硬件抽象层 (HAL):HAL是硬件上最接近CPU的抽象层。它允许设备驱动程序使用不需要中断控制器或DMA控制器等详细和特定知识的API。当然,这一层主要用于编写用于处理硬件设备的设备驱动程序

  • Hyper-V Hypervisor :如果Windows 10和server 2016(及更高版本)系统支持基于虚拟化的安全性(VBS),则Hyper-V虚拟机监控程序存在于这些系统上。VBS提供了一个额外的安全层,其中实际的机器实际上是由Hyper-V控制的虚拟机。

function call

image.png
image.png