-
-
[旧帖] [原创]win32k.sys文件简介 0.00雪花
-
发表于: 2013-4-16 11:32 1283
-
最近在学习整理win32k.sys的漏洞,收集了一些资料。以后这段时间在这里分享出来,希望对大家有用。文采不好,望路过的朋友谅解。
说到win32k.sys,要先说一下win32子系统。win32k.sys是win32子系统的一部分。
子系统指操作系统的一部分,为操作系统的上层应用程序提供运行环境和接口(API)。windows 2000/xp包含三个子系统:win32、POSIX、OS/2,其中最重要的子系统是win32子系统,其他子系统都要通过win32子系统接收用户的输入和显示输出。所以,win32子系统是windows系统必须的,伴随windows启动时运行,其他子系统则根据需要时加载运行。win32子系统包括两个部分:用户层、内核层。用户层部分主要为csrss.exe以及一组动态链接库。csrss.exe进程主要实现控制台窗口功能、创建/删除进程、线程;动态链接库则直接被连接到应用程序进程、实现文档化的API。win32子系统的内核部分主要为win32k.sys。下面详细讲解win32k.sys。
win32k.sys虽然为驱动文件但不处理I/O请求,主要为应用层提供大量服务。功能上主要实现窗口管理(收集、分发消息,控制窗口显示)和图形设备接口(各种图形绘制、文本输出)。win32.sys向内核注册一组调用函数,介入到内核的线程、进程,每个线程一旦调用win32.sys的服务就成了GUI线程。win32k.sys主要是user32.dll、GDI32.dll的内核实现。ntoskrnl.exe主要是kernel32.dll的内核实现。user32.dll、GDI32.dll、kernel32.dll中的API通过ntdll.dll主要实现功能的过度,最终调用的还是内核层win32k.sys和ntoskrnl.exe提供的服务。ntoskrnl.exe是Windows的大脑,它的上层被称为Executive,下层被称作Kernel。Win32k.sys提供与显示有关的system service。
-----------------------------------------
用户层(ring3)
GDI32.dll user32.dll kernel32.dll
------------------------------------------
ntdll.dll
------------------------------------------
win32k.sys ntoskrnl.exe
------------------------------------------
(图中有些不标准)
先贴出这些,更多的部分在整理中。
说到win32k.sys,要先说一下win32子系统。win32k.sys是win32子系统的一部分。
子系统指操作系统的一部分,为操作系统的上层应用程序提供运行环境和接口(API)。windows 2000/xp包含三个子系统:win32、POSIX、OS/2,其中最重要的子系统是win32子系统,其他子系统都要通过win32子系统接收用户的输入和显示输出。所以,win32子系统是windows系统必须的,伴随windows启动时运行,其他子系统则根据需要时加载运行。win32子系统包括两个部分:用户层、内核层。用户层部分主要为csrss.exe以及一组动态链接库。csrss.exe进程主要实现控制台窗口功能、创建/删除进程、线程;动态链接库则直接被连接到应用程序进程、实现文档化的API。win32子系统的内核部分主要为win32k.sys。下面详细讲解win32k.sys。
win32k.sys虽然为驱动文件但不处理I/O请求,主要为应用层提供大量服务。功能上主要实现窗口管理(收集、分发消息,控制窗口显示)和图形设备接口(各种图形绘制、文本输出)。win32.sys向内核注册一组调用函数,介入到内核的线程、进程,每个线程一旦调用win32.sys的服务就成了GUI线程。win32k.sys主要是user32.dll、GDI32.dll的内核实现。ntoskrnl.exe主要是kernel32.dll的内核实现。user32.dll、GDI32.dll、kernel32.dll中的API通过ntdll.dll主要实现功能的过度,最终调用的还是内核层win32k.sys和ntoskrnl.exe提供的服务。ntoskrnl.exe是Windows的大脑,它的上层被称为Executive,下层被称作Kernel。Win32k.sys提供与显示有关的system service。
-----------------------------------------
用户层(ring3)
GDI32.dll user32.dll kernel32.dll
------------------------------------------
ntdll.dll
------------------------------------------
win32k.sys ntoskrnl.exe
------------------------------------------
(图中有些不标准)
先贴出这些,更多的部分在整理中。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
赞赏
他的文章
- [原创]KiFastCallEntry详解 5835
- [求助]winddows nt4 源码使用方法 3255
- [求助]如何使用windows源码 1804
- [原创]win32k.sys文件简介 1284
看原图
赞赏
雪币:
留言: