我正在尝试使用ObRegisterCallbacks
来阻止我的应用被终止。
但在Windows 7 x86系统中,存在一些问题。
我必须使用/INTEGRITYCHECK
链接器选项链接我的驱动程序,否则我无法使用ObRegisterCallbacks函数。它返回了ACCESS_DENIED
。
但如果我用/INTEGRITYCHECK
链接器选项构建它,我无法加载我的驱动程序。
当我致电StartService()
时,它返回了ERROR_INVALID_IMAGE_HASH
。
当然,我在构建后签署了我的驱动程序。所以我的驱动文件有二进制数字签名。
然而它仍然返回ERROR_INVALID_IMAGE_HASH
。
如果我使用x64平台的相同来源构建,它可以正常工作。
此外,如果我使用测试启动模式启动我的PC(x86),它也可以正常工作。
我想知道可以在x86系统上使用ObRegisterCallbacks
(而不是测试启动模式)。
任何回复都将不胜感激。
答案 0 :(得分:1)
适用于x86系统,您需要使用证书签署您的驱动程序,Testsigning不起作用,因此请确保您使用makecert工具获得证书。 使用signtool使用您创建的证书为您的驱动程序签名