DKOM(Direct Kernel Object Manipulation)就是一種計算機套用,是直接核心對象操作技術。
基本介紹
- 中文名:DKOM
- 外文名:Direct Kernel Object Manipulation
- 性質:核心對象操作技術
- 類型:計算機套用
- 用途:作業系統改變
DKOM(Direct Kernel Object Manipulation)就是直接核心對象操作技術。所有的作業系統都在記憶體中存儲記賬信息,他們通常採用結構或對象的形式,由對象管理器管理。當用戶空間進程請求作業系統信息例如進程、執行緒或設備驅動程式列表時,這些對象被報告給用戶。這些對象或結構位於記憶體中,因此可以直接對其進行修改。隱藏進程主要關注的windows關鍵數據結構是:進程的EPROCESS結構與執行緒的ETHREAD結構、鍊表(如進程、執行緒鍊表與CPU的調度鍊表)等等。DKOM通過操作這些數據結構來達到它們的目的。直接操作核心對象在隱藏進程這方面的套用很多。
在Windows核心中有一個活動進程鍊表PsAcvtivePeorecssList。它是一個雙向鍊表,保存著系統中所有進程的EPROCESS結構。特別地,進程的EPROCESS結構包含一個具有指針成員FLINK和BLINK的LIST_ENTRY結構,這兩個指針分別指向當前進程的前方和後方進程。當某些模組需要獲得系統中運行的所有進程信息時,就會遍歷這個鍊表。若在PsActviePoroessList鍊表上刪除了某個進程對象,該進程將被隱藏起來。但這不影響進程的運行。由於Windows的執行緒管理器使用另外的數據結構,這些“隱藏”進程仍可運行。用這種方法隱藏過的進程,即使調用系統服務ZwQuerysystemnlofmratino也無法找到。
通過編寫驅動程式,在核心層面的進程雙向鍊表中摘除自身信息,這樣一來不管如何枚舉進程都無法發現徹底實現進程隱藏。