我使用下面的代碼來創建一個鉤住Win7-32bit SSDT表的驅動程序。它直接從格雷格&傑米的書。 請注意,我甚至不打電話從主掛機代碼:在Windows 7上安裝SSDT鉤子32位虛擬機返回系統錯誤2
的main.c http://pastebin.com/Ck8FSVbv
SSDT_Hook.h http://pastebin.com/y1ssD1ni
當我嘗試加載它,SC.EXE返回錯誤2.
但我不明白爲什麼。無法找到答案是類似的問題。
我使用下面的代碼來創建一個鉤住Win7-32bit SSDT表的驅動程序。它直接從格雷格&傑米的書。 請注意,我甚至不打電話從主掛機代碼:在Windows 7上安裝SSDT鉤子32位虛擬機返回系統錯誤2
的main.c http://pastebin.com/Ck8FSVbv
SSDT_Hook.h http://pastebin.com/y1ssD1ni
當我嘗試加載它,SC.EXE返回錯誤2.
但我不明白爲什麼。無法找到答案是類似的問題。
看來系統找不到你的驅動文件。安裝服務時可能指定了錯誤的完整路徑。再看向服務註冊表項
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\<your_service_name>
爲ImagePath
值。此值必須包含驅動程序文件的完整路徑,或者相對於系統根目錄(通常爲C:\Windows
),或者「完全」爲絕對值 - 以\??\X:
前綴開頭(X
是驅動器號,\??\
使路徑絕對來自對象管理器點看法)。
我假設你從Rootkit中取得代碼:顛覆Windows Kernel的書。這是一個偉大的書,howerver,請記住以下幾點:
1)它是有點老了許多它的代碼不會在多處理器機器工作,
2)這是一個黑客的書,這意味着它不會告訴你如何很好地完成任務,它只是告訴你如何使代碼工作。如果您缺乏有關Windows驅動程序開發的知識,則基於此的代碼可能會有效,但可能會出現錯誤。
這並不意味着它是一本壞書。它只是不是一個指導您如何編寫Windows驅動程序。
實際上,在文件SSDT_Hook.h中,我將行141,142,148,150標記爲註釋,驅動程序加載正常.. –
您究竟將哪些行標記爲註釋?也許,驅動程序使用Windows 7上內核不導出的例程。 –
141. m_UserTime.QuadPart + = curr-> UserTime.QuadPart; 142. m_KernelTime.QuadPart + = curr-> KernelTime.QuadPart; prev-> NextEntryDelta + = curr-> NextEntryDelta; 151.prev-> NextEntryDelta = 0; –