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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

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

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

Win32子系統

Win32子系統是Windows操作系統必須的一部分,伴隨這Windows啟動時運行,它包含:

  • win32子系統進程 csrss.exe
  • win32子系統驅動 win32k.sys
  • win32子系統DLL kernel32.dll,user32.dll,advapi32.dll,gdi32.dll
  • 設備相關的顯示和打印驅動程序等。
  • Windows的啟動過程

    windows操作系統在啟動時會進行一系列的初始化操作:

  • 自檢階段
  • 初始化啟動階段
  • Boot加載階段
  • 檢測和配置硬件階段
  • 內核加載階段
  • 啟動會話管理器smss.exe,它是Windows創建的第一個用戶進程。
  • smss.exe運行后,會加載和初始化win32k.sys,然后緊接著調用win32k.sys的DriverEntry,然后啟動Win32子系統進程csrss.exe和登錄進程WinLogon.exe。

    csrss.exe

    csrss.exe(Client/Server Runtime Server Subsystem,即客戶端/服務器運行時子系統),負責維護Windows子系統的日常事務,為子系統的各個進程提供服務。例如維護進程和線程、管理控制臺窗口、管理DOS程序虛擬機(VDM)進程等。

    win32k.sys

    win32k.sys是內核模塊但是不用于處理I/O請求,主要是為應用層提供服務。實現窗口管理(收集、分發消息,控制窗口顯示)和圖形設備接口(各種圖形繪制、文本輸出)。

    win32k.sys主要是user32.dll和gdi32.dll的內核實現。
    ntoskrnl.exe主要是kernel32.dll的內核實現。
    user32.dll、gdi32.dll和kernel32.dll中的API通過ntdll.dll實現過渡,最終調用的都是win32k.sys(Shadow SSDT)和ntoskrnl.exe(SSDT)中的系統服務。

    SSDT(System Service Descriptor Table,系統服務描述表),由ntoskrnl.exe導出(x64下不導出),在內核中的名稱是KeServiceDescriptorTable。在代碼中聲明一下即可使用。

    extern PSYSTEM_SERVICE_DESCRIPTOR_TABLE KeServiceDescriptorTable; typedef struct _SYSTEM_SERVICE_DESCRIPTOR_TABLE {PVOID ServiceTableBase; //SSDT表的基地址PVOID ServiceCounterTableBase;ULONG_PTR NumberOfServices; //SSDT表中服務函數的個數PVOID ParameterTableBase; }SYSTEM_SERVICE_DESCRIPTOR_TABLE, *PSYSTEM_SERVICE_DESCRIPTOR_TABLE;

    Shadow SSDT,在內核中的名稱是KeServiceDescriptorTableShadow,不過它是未導出的,不能在自己的模塊中導入和引用。

    kernel32.dll

    kernel32.dll包含如下的API:

    • 進程/線程管理
    • 文件操作(創建、打開、讀寫、搜索等)
    • 內存管理(Local開頭、Global開頭、Heap開頭)
    • 調試(Debug開頭)等

    user32.dll

    user32.dll是用戶界面相關的,包含窗口管理、消息處理、用戶輸入的API,如EndDialog()、BeginPaint()、SetWindowPos()、MessageBox()、EnumWindows()等。

    gdi32.dll

    gdi32.dll是GDI圖形用戶界面相關的,包含各種圖形文字繪制的API,如BltBlt()、CreateDC()、CreateCompatibleDC()、SetBitmapBits()、SetTextColor()、TextOut()等。

    advapi32.dll

    advapi32.dll包含如下的API:

    • 數據加密(Crypt開頭)
    • 用戶和賬號管理(Lsa開頭)
    • 注冊表操作(Reg開頭)
    • WMI(Wmi開頭)
    • 終端服務(Wts開頭)等

    其他用戶進程

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

    Windows操作系統的環境子系統有三個:

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

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

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。