日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

Win32子系统(csrss.exe,win32k.sys相关知识总结)

發(fā)布時間:2023/12/14 windows 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Win32子系统(csrss.exe,win32k.sys相关知识总结) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Win32子系統(tǒng)

Win32子系統(tǒng)是Windows操作系統(tǒng)必須的一部分,伴隨這Windows啟動時運(yùn)行,它包含:

  • win32子系統(tǒng)進(jìn)程 csrss.exe
  • win32子系統(tǒng)驅(qū)動 win32k.sys
  • win32子系統(tǒng)DLL kernel32.dll,user32.dll,advapi32.dll,gdi32.dll
  • 設(shè)備相關(guān)的顯示和打印驅(qū)動程序等。
  • Windows的啟動過程

    windows操作系統(tǒng)在啟動時會進(jìn)行一系列的初始化操作:

  • 自檢階段
  • 初始化啟動階段
  • Boot加載階段
  • 檢測和配置硬件階段
  • 內(nèi)核加載階段
  • 啟動會話管理器smss.exe,它是Windows創(chuà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)程

  • WinLogon.exe,登錄進(jìn)程,負(fù)責(zé)用戶登錄和安全有關(guān)的事務(wù)。它啟動后,會創(chuàng)建 lsass.exe 和Services.exe。Windows XP的文件保護(hù)功能(Windows File Protection,簡稱WFP)也是在這個進(jìn)程中實現(xiàn)的。
  • lsass.exe,Local Security Authority Subsystem Service,本地安全和認(rèn)證進(jìn)程,負(fù)責(zé)用戶身份驗證。
  • services.exe,服務(wù)管理進(jìn)程,負(fù)責(zé)啟動和管理系統(tǒng)服務(wù)程序。系統(tǒng)服務(wù)程序是按照NT系統(tǒng)服務(wù)規(guī)范編寫的exe程序,通常沒有用戶界面,只在后臺運(yùn)行。例如:SvcHost.exe是一個通用的服務(wù)宿主程序。
  • Shell,默認(rèn)是explorer.exe,負(fù)責(zé)顯示開始菜單、任務(wù)欄和桌面圖標(biāo)等。
  • 其他環(huán)境子系統(tǒng)

    Windows操作系統(tǒng)的環(huán)境子系統(tǒng)有三個:

  • POSIX子系統(tǒng),Portable Operating System Interface based on UniX,用于運(yùn)行符合POSIX標(biāo)準(zhǔn)的程序。其核心文件是psxss.exe和psxdll.dll。
  • OS/2子系統(tǒng),支持16位的OS/2程序,其核心文件是os2.exe、os2srv.exe和os2ss.exe。
  • Win32子系統(tǒng)(上面介紹的)
  • 總結(jié)

    以上是生活随笔為你收集整理的Win32子系统(csrss.exe,win32k.sys相关知识总结)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。