Win32子系统(csrss.exe,win32k.sys相关知识总结)
Win32子系統(tǒng)
Win32子系統(tǒng)是Windows操作系統(tǒng)必須的一部分,伴隨這Windows啟動(dòng)時(shí)運(yùn)行,它包含:
Windows的啟動(dòng)過(guò)程
windows操作系統(tǒng)在啟動(dòng)時(shí)會(huì)進(jìn)行一系列的初始化操作:
smss.exe運(yùn)行后,會(huì)加載和初始化win32k.sys,然后緊接著調(diào)用win32k.sys的DriverEntry,然后啟動(dòng)Win32子系統(tǒng)進(jìn)程csrss.exe和登錄進(jìn)程WinLogon.exe。
csrss.exe
csrss.exe(Client/Server Runtime Server Subsystem,即客戶(hù)端/服務(wù)器運(yùn)行時(shí)子系統(tǒng)),負(fù)責(zé)維護(hù)Windows子系統(tǒng)的日常事務(wù),為子系統(tǒng)的各個(gè)進(jìn)程提供服務(wù)。例如維護(hù)進(jìn)程和線(xiàn)程、管理控制臺(tái)窗口、管理DOS程序虛擬機(jī)(VDM)進(jìn)程等。
win32k.sys
win32k.sys是內(nèi)核模塊但是不用于處理I/O請(qǐng)求,主要是為應(yīng)用層提供服務(wù)。實(shí)現(xiàn)窗口管理(收集、分發(fā)消息,控制窗口顯示)和圖形設(shè)備接口(各種圖形繪制、文本輸出)。
win32k.sys主要是user32.dll和gdi32.dll的內(nèi)核實(shí)現(xiàn)。
ntoskrnl.exe主要是kernel32.dll的內(nèi)核實(shí)現(xiàn)。
user32.dll、gdi32.dll和kernel32.dll中的API通過(guò)ntdll.dll實(shí)現(xiàn)過(guò)渡,最終調(diào)用的都是win32k.sys(Shadow SSDT)和ntoskrnl.exe(SSDT)中的系統(tǒng)服務(wù)。
SSDT(System Service Descriptor Table,系統(tǒng)服務(wù)描述表),由ntoskrnl.exe導(dǎo)出(x64下不導(dǎo)出),在內(nèi)核中的名稱(chēng)是KeServiceDescriptorTable。在代碼中聲明一下即可使用。
extern PSYSTEM_SERVICE_DESCRIPTOR_TABLE KeServiceDescriptorTable; typedef struct _SYSTEM_SERVICE_DESCRIPTOR_TABLE {PVOID ServiceTableBase; //SSDT表的基地址PVOID ServiceCounterTableBase;ULONG_PTR NumberOfServices; //SSDT表中服務(wù)函數(shù)的個(gè)數(shù)PVOID ParameterTableBase; }SYSTEM_SERVICE_DESCRIPTOR_TABLE, *PSYSTEM_SERVICE_DESCRIPTOR_TABLE;Shadow SSDT,在內(nèi)核中的名稱(chēng)是KeServiceDescriptorTableShadow,不過(guò)它是未導(dǎo)出的,不能在自己的模塊中導(dǎo)入和引用。
kernel32.dll
kernel32.dll包含如下的API:
- 進(jìn)程/線(xiàn)程管理
- 文件操作(創(chuàng)建、打開(kāi)、讀寫(xiě)、搜索等)
- 內(nèi)存管理(Local開(kāi)頭、Global開(kāi)頭、Heap開(kāi)頭)
- 調(diào)試(Debug開(kāi)頭)等
user32.dll
user32.dll是用戶(hù)界面相關(guān)的,包含窗口管理、消息處理、用戶(hù)輸入的API,如EndDialog()、BeginPaint()、SetWindowPos()、MessageBox()、EnumWindows()等。
gdi32.dll
gdi32.dll是GDI圖形用戶(hù)界面相關(guān)的,包含各種圖形文字繪制的API,如BltBlt()、CreateDC()、CreateCompatibleDC()、SetBitmapBits()、SetTextColor()、TextOut()等。
advapi32.dll
advapi32.dll包含如下的API:
- 數(shù)據(jù)加密(Crypt開(kāi)頭)
- 用戶(hù)和賬號(hào)管理(Lsa開(kāi)頭)
- 注冊(cè)表操作(Reg開(kāi)頭)
- WMI(Wmi開(kāi)頭)
- 終端服務(wù)(Wts開(kāi)頭)等
其他用戶(hù)進(jìn)程
其他環(huán)境子系統(tǒng)
Windows操作系統(tǒng)的環(huán)境子系統(tǒng)有三個(gè):
總結(jié)
以上是生活随笔為你收集整理的Win32子系统(csrss.exe,win32k.sys相关知识总结)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Finance_finacial_eng
- 下一篇: 64位win7系统下安装USB下载器驱动