DKOM

dows核心中有一個活動進程鍊表PsAcvtivePeorecssList。 它是一個雙向鍊表,保存著系統中所有進程的EPROCESS結構。 dows的執行緒管理器使用另外的數據結構,這些“隱藏”進程仍可運行。

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

相關詞條

相關搜尋

熱門詞條

聯絡我們