我正在学习Windows内核模式驱动程序开发。我编写了一个小型测试驱动程序,我可以在VirtualBox中的VM下运行的Windows 7 32位Ultima版本下成功注册,取消注册,加载和卸载。
我的主机是Windows 7 64位家庭高级版。
编译为64位的驱动程序不会在Windows 7 Home Edition下加载。我一直拒绝注意到这个版本的Windows不允许未签名的驱动程序。
我尝试了两件事:
我使用F8启动选项允许未签名的驱动程序(不起作用)
我以管理员身份运行CMD并执行以下两个命令
bcdedit.exe -set loadoptions DDISABLE_INTEGRITY_CHECKS
bcdedit.exe -set TESTSIGNING ON
并重新启动。我的桌面在“TestMode”中显示我,但我仍然听到同样的拒绝。
任何人都可以帮助我或解释家庭版是否还有其他步骤?
---- {update} ---- 在倾注了大量MSDN之后,看来我的解决方案就在于自我签署我创建的驱动程序。我下载的DDK似乎没有工具链来进行自我签名。我已经下载了WinDDK-7600.16385.1。但奇怪的是,如果我只是F8 @启动时间并告诉它允许未签名的驱动程序,我的Windows Ultima Edition会愉快地加载我的驱动程序。
答案 0 :(得分:6)
您可以尝试使用Driver Signature Enforcement Overrider。 64位版本的Windows 7支持它,并且我已经看到的报告确认它确实可以在“Home Premium”上运行版。
从以下链接下载该应用程序。右键单击它 选择“以管理员身份运行”。内 在其主菜单中,按“启用” 测试模式“按钮并按照 屏幕上的说明。这将 启用TESTSIGNING模式,允许 未加验证的系统文件。
- 醇>
现在您要做的就是将未经验证的签名添加到 必需的系统文件。这样做按 在“签署系统文件”按钮上 从主菜单中,输入具体的 文件名包括完整路径。对于 例如:如果来自ATITool64.sys C:\ Windows \ System32 \ drivers拒绝 由于驱动程序签名而导致的 执行,你应该输入: “C:\ WINDOWS \ SYSTEM32 \ DRIVERS \ ATITool64.sys” 如果您想签署更多 而不是单个文件,只需重复此操作 程序,直到你完成,并且 终于重启了。
启用测试模式并添加后 签名到所需的系统 文件,他们应该绕过Windows的 驱动程序签名执行和加载 没有任何问题。但是,如果是 你感兴趣的某些原因 还原它,你可以重新启动它 应用程序,选择“禁用测试 模式“从主菜单,然后重新启动。 如果您遇到问题或有 问题,随意发布在我们的 论坛。
注意: DSEO需要管理权限 特权(以管理员身份运行)。
它甚至允许您从桌面上删除水印!
答案 1 :(得分:4)
您不需要使用该工具。只需使用您自己的个人证书在DDK中使用signtool对驱动程序进行签名。