我正在尝试使用ObRegisterCallbacks
来防止我的应用程序被终止。
在Windows 7的64位系统,它的效果和我的计划一样。
但在Windows 7 x86系统中,存在一些问题。
我必须链接我的驱动程序与/INTEGRITYCHECK
链接器选项,或者我不能使用ObRegisterCallbacksfunction。 它返回ACCESS_DENIED
。
但如果我用/INTEGRITYCHECK
链接器选项构build它,我无法加载我的驱动程序。
当我调用StartService()
,它返回ERROR_INVALID_IMAGE_HASH
。
当然,我在编译后签了我的驱动程序。 所以我的驱动文件有二进制数字签名。
但是它仍然返回ERROR_INVALID_IMAGE_HASH
。
如果我用x64平台的相同来源构build,它工作正常。
此外,如果我用testing引导模式启动我的PC(x86),它也可以。
我想知道是可以在x86系统上使用ObRegisterCallbacks
(而不是testing启动模式)。
任何答复将不胜感激。
它适用于需要使用证书签署驱动程序的x86系统,Testsigning不起作用,因此请确保使用makecert工具获得证书。 使用signtool用您创建的证书签署您的驱动程序