我使用以下代码创建了一个挂钩 Win7-32bit SSDT 表的驱动程序。它直接取自 Greg & Jamie 的书。请注意,我什至不从 main 调用挂钩代码:
main.c http://pastebin.com/Ck8FSVbv
SSDT_Hook.h http://pastebin.com/y1ssD1ni
当我尝试加载它时,sc.exe 返回错误 2。
但我不知道为什么。找不到答案是类似的问题。
我使用以下代码创建了一个挂钩 Win7-32bit SSDT 表的驱动程序。它直接取自 Greg & Jamie 的书。请注意,我什至不从 main 调用挂钩代码:
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
是驱动器号,\??\
从对象管理器的角度来看,路径是绝对路径)。
我假设您从 Rootkits: Subverting the Windows Kernel 一书中获取了代码。这是一本很棒的书,但是,请记住以下几点:
1)它有点旧,它的许多代码在多处理器机器上不起作用,
2)这是一本黑客书籍,这意味着它没有告诉你如何把事情做得很好,它只是告诉你如何让代码在某种程度上工作。基于它的代码可能有效,但如果您缺乏有关 Windows 驱动程序开发的知识,则可能会充满错误。
这并不意味着它是一本坏书。它不是如何编写 Windows 驱动程序的指南。