2013-04-10 67 views
0

對不清楚的問題!cmd命令'dir'使用什麼設備?

命令提示符命令'dir'列出了目錄中的所有文件和目錄,正如您可能知道的那樣。

我正在閱讀「顛覆Windows內核:Rootkits」此刻。

書中代碼的一個示例隱藏了TCP連接。它使用鉤子。它使用的方法的一部分獲取指向TCPIP.sys的指針,'netstat'用於通過使用與其關聯的設備對象查詢當前TCP連接的驅動程序。

基本上有一個函數IoGetDeviceObjectPointer(),它需要一個設備名稱(對於TCPIP.sys,設備是\\DEVICE\\TCP)並返回一個指向設備驅動程序的指針,在該示例中爲TCPIP.sys。

我想知道是否有人知道'dir'命令是否使用設備驅動程序,如果有,設備的名稱是什麼?

回答

3

不,dir命令不使用設備驅動程序。 Dir commad依賴於FindFirstFile/FindNextFile API函數,它在內部調用Ntdll.dll內核函數。如果我沒有記錯正確hookingNt/ZwQueryInformationFile隱藏文件。

+0

這在技術上是正確的,但netstat也可以這樣說,因爲它不直接與tcp驅動程序通信。在dir的情況下,最終會向文件系統驅動程序發出請求。當然,用戶模式掛鉤比內核模式掛鉤容易得多。 – Luke 2013-04-10 13:59:54

+0

這在技術上是真的,但文件系統驅動程序也與磁盤驅動程序交談,所以我們可能會討論'設備名稱'。 :) – Xearinox 2013-04-10 21:02:54