2011-01-12 72 views
2

我目前瞭解的Windows操作系統(內核模式與用戶模式),設備驅動程序,它們各自的優點和缺點,在一般的電腦安全運行的不同模式。Windows XP:我的程序是否以內核模式運行?

我想創造的東西在內核模式下運行的故障的設備驅動程序可以做系統的一個實際的例子,通過使用操作系統的關鍵流程例如破壞內存。

  • 如何直接在內核模式而不是用戶模式下執行我的代碼?
  • 我必須寫一個虛擬設備驅動程序並安裝它做到這一點?

  • 我在哪裏可以在Windows閱讀更多關於內核模式和用戶模式?

我知道這樣做的危險性,並會做所有的實驗運行Windows XP的虛擬機上只有

回答

3

的「Windows內部」一書是在討論的話題,而淺。

首先我應該注意,任何程序運行在內核模式(KM)。這是由於以下事實 - 與unixoid系統不同 - 系統調用調用線程轉換爲KM,其中內核本身或其中一個驅動程序爲請求提供服務,然後返回到用戶模式(UM)。

開始的第一步是下載最新的Windows Driver Kit(WDK)並開始閱讀文檔。如果你想要一個更消化的書,去其中一個:

  1. Windows NT設備驅動程序開發 - 雖然是一個老的標題,許多基礎仍然適用。
  2. 編程Windows驅動程序模型(由Oney編寫) - 特別是WDM編程也涵蓋了基礎知識,有一些錯誤(如大多數書籍)。
  3. 未公開的Windows 2000祕密(由Schreiber提供) - 包含大量有關各種內部組件的信息,這些信息比以前提到的技術更具有技術性。
  4. 未記錄的Windows NT - 在技術級別上包含有關內部的更通用的部分,後面是一些本機API函數的參考。
  5. Windows NT/2000 Native API - 經典,但它更多的是一個參考。儘管如此,它還是有幾個寶石(和例子)。

由於您想使用Windows XP,因此在rootkit.com(甚至從幾年前)描述的許多技術應該可以正常工作。他們也有大量的樣本。

而且當你通過引用網站的名稱注意到,你實際上是在我所說的那個問題的灰色區域;)

相關問題