c++ - 在 system32/drivers 文件夹中验证数字签名

标签 c++ winapi crypt winverifytrust

我整晚都在研究这个问题,但没有找到解决方案。

我正在尝试验证驱动器文件夹 (C:\Windows\System32\drivers*.sys) 中文件的数字签名,选择您想要的任何一个。我知道代码是正确的,因为如果您将文件从该文件夹移动到 C:\,则测试有效。

WinVerifyTrust 给出错误 80092003 http://pastebin.com/nLR7rvZe

CryptQueryObject 给出错误 80092009 http://pastebin.com/45Ra6eL4

这是怎么回事?

最佳答案

0x80092003 = CRYPT_E_FILE_ERROR = 读取或写入文件时发生错误。

0x80092009 = CRYPT_E_NO_MATCH = 尝试查找对象时没有匹配项。

我猜你在 64 位机器上运行,WOW64 文件系统重定向将你重定向到空的 syswow64\drivers。您可以使用 Wow64DisableWow64FsRedirection() 禁用重定向.

关于c++ - 在 system32/drivers 文件夹中验证数字签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9339842/

相关文章:

c++ - OpenGL glMultiDrawElements 在索引偏移 vector 上崩溃

c++ - std::move weak_ptr::lock 的返回值弄乱了 shared_ptr 的引用计数?

c - 如何在 macOS 上检查密码?

c - crypt() 在 C 中做什么?

python,从影子中获取加密的用户密码

c++ - MergeSort 用于 double vector

java - 如何将 Java Access Bridge 与 Java 6 一起使用?

c++ - 检索在 svchost 后面运行的服务的名称

c - Windows 上的进程间同步

C - Windows 异常处理程序无效句柄