這一章講述的比較巨集觀,沒太多細節可以分析的.
需要注意的幾個地方.
1.windows子系統
csrss.exe包含對下列的支援:
@ 控制台視窗
@ 建立或刪除程序和執行緒
@ 對16位虛擬dos機程序的一部分支援.
關於csrss.exe以後再詳細剖析了.附上盟主的一篇文章《詳解程序建立中與csrss的通訊流程》
win32k.sys包含:
@ 視窗管理器
@ 圖形裝置介面
關於win32k.sys的剖析也推後之.
2,ntdll.dll
以前一直認為ntdll.dll只包含了一些與系統服務相關的函式,這種錯誤的理解會讓人以為
ssdt表中的函式,與ntdll.dll序號,函式是一一對應(描述不清楚,看圖,盜版的xp sp3,其他版本的必然已經改變了..)
剛才以為,通過解析ntdll.dll的匯出表,就能獲得完整的ssdt函式表名和序號,仔細對比了下,還是不行的..呵呵..
還是通過核心變數來匯出吧~..
其實不然,它包含兩種型別的函式:
@ 一種就是剛才所說的,與系統服務相關的,分發stub.它們會呼叫windows執行體的系統服務.
後面講述ssdt和shadow ssdt的時候再來分析之.
@ 內部支援函式,供子系統,子系統dll,以及其他的原生映像檔案使用.
關於這些函式,可以看一看ntdll.dll的匯出表,也可以參考<>這一文.
3.system程序和系統執行緒.
這個都說無益,還是參考具體的**吧.
pscreatesystemthread().
在預設情況下,系統執行緒是屬於system程序的,但是,乙個裝置驅動程式可以在任何的程序中,建立系統執行緒.
例如,win32k.sys在csrss.exe中建立系統執行緒,因而這些執行緒可以很容易的訪問該程序使用者模式的空間中的資料.
每日一「結」(2)
1.介面和類的相同點和不同點 相同點 都有屬性和方法 不同點 介面中的成員變數都定義為常量,成員方法都是沒有方法體的抽象方法 2.介面和抽象類的相同點和不同點 相同點 成員方法都是沒有方法體的方法 不同點 介面可以被類實現,抽象類不可以被例項化,由抽象方法組成的集合就是介面 個人簡單的理解 今天最重...
架構高併發系統簡結
第一部分 建設 提公升效能三步 1 分離應用與資料庫 2 快取 3 應用集群與資料庫集群 需要負載均衡 4 現實問題 分離資料的讀和寫 需要同步工具,分表 5 大型分布式應用架構 第二部分 應急 當已有的應用不能滿足效能需求時 1 重新架構系統 複雜 2 在既有架構下進行擴充套件 即scale ou...
SQL系統表構結說明
語句 所屬資料庫 功能描述 select from sysaltfiles 主資料庫 儲存資料庫的檔案 select from syscharsets 主資料庫 字符集與排序順序 select from sysconfigures 主資料庫 配置選項 select from syscurconfig...