2008-10-07 119 views
0

我想知道從哪裏開始,或者它有多可能掛鉤或修補windows內核(XP及更高版本)。我特別感興趣的是像McAfee Entercept這樣的軟件,或者對內核進行修補的某些防病毒掃描程序。我想知道創業公司創建軟件的可行性,這些軟件在內核中增加了功能(我知道KPP,它可能會被繞過),以及這樣做的任何重複。我無法找到一個簡單的描述,只有有限的Win32經驗。任何幫助是非常讚賞,NT內核編程

Ĵ

進一步澄清:我不是一個驅動程序後等,並有興趣,如果它在技術上是可能的端口類似pax來,例如窗戶。這是一個不好的例子,因爲windows已經有了一個實現,但是我感興趣的是如果類似的技術可以移植而不需要訪問NT源代碼。

回答

2

是的,它很有可能掛鉤到內核中。我強烈建議書Windows InternalsRootkits

這些應該會給你所有你需要的信息。

2

Microsoft Detours庫允許您攔截進程中的API調用,並插入或替換自己的代碼。

請注意,成功完成這類事情可能需要的不僅僅是有限的Win32體驗。如你所想,這可能是一個非常複雜的話題。

+0

注意:這不會幫助修補內核,只修補用戶空間。 – 2008-10-07 09:59:10

+0

它不會但不清楚他所要求的內核驅動程序(在Windows內核世界中,修補不是一個正確的術語)並不是他所需要的,這個庫就足夠了。 – Ilya 2008-10-07 10:27:30

2

驅動程序開發並不是一件容易的事情。防病毒軟件需要處理使生活更復雜的文件系統(文件系統過濾器驅動程序)。如果你試圖描述你想要獲得更詳細的內容,這將是有用的。

驅動程序開發最推薦的資源是OSR。有2名相關的郵件列表:

  1. ntdev對於一般駕駛者發展
  2. ntfsd對於文件系統驅動開發

圖書列表可以發現here

除非驅動程序是你的核心繁忙(在這種情況下找到具有內核經驗的人),我強烈建議外包這項工作。在上面的列表中,您可以找到許多顧問。

不幸的是Windows源碼基本上無法訪問:)。要玩虛擬內存管理器,你必須處於內核模式,如果這是可能的話。

嘗試在ntdev上提出這個問題,你會問世界上的大多數內核開發者。你需要提出更具體的問題才能得到合理的答案(我會觀看線索,有趣的話題)。
如果正確理解你想要做什麼,這在Windows上是不可能的。至少不是沒有大的逆向工程工作,但我主要與標準類型的司機一起工作,所以我認爲我不知道足以作出最終結論。

迴應評論:

我不知道究竟是什麼的Entercept做什麼(沒有找到產品說明什麼建議他們打的內存或處理權限)。因此,定義最終目標而非特定技術如何實現這一點可能是更有效的方法。

對評論2的迴應:

1.1。什麼是LIDS?

LIDS是由謝花崗和Philippe Biondi編寫的Linux內核的增強版。它實現了幾個本來不在Linux內核中的安全特性。 其中一些包括:
1.強制訪問控制(MAC) - 不知道什麼是真正的意思。
2.端口掃描檢測器 - 這是絕對可行的看看this網站。
3.樁保護 - 上面解釋的文件系統過濾器驅動程序。
4.過程保護 - 您可以在您的驅動程序hook process creation,在ntdev檔案中看看有很多關於此的discussions

-1

您提到修補內核時未提供明智的解釋,說明您爲什麼要這樣做,以及爲什麼您認爲官方API無法讓您獲得您想要的位置。因此,我們必須假設你正在計劃編寫某種惡意軟件 - 不要指望有人用stackoverflow來幫助你!