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