Windows上的驱动程序应签名并提交给Microsoft进行代码签名,这是64位系统的要求。问题是,当您必须更新驱动程序时,必须再次提交一次,每次发行版。

是否可以构建某种代理或垫子驱动程序,以便我必须仅签名并提交一次,然后将我的代码放在单独的模块中?

当然,我不能仅仅在DLL中移动工作代码,还必须签署动态加载的模块才能在64位内核模式下执行。如果我将代码放在原始文件中,将其加载到内存中(启用了执行标志)然后执行该怎么办?其他想法?

有帮助吗?

解决方案

您不必向微软提交驱动程序。您必须使用交叉认证的驾驶员签名。您将通过这种方式获得nag屏幕,但这并非禁止!

有几次尝试做您想做的事情的尝试。这些被“勉强”地容忍,但是这些驱动程序可能随时禁止。 (通过撤销您的签名)

该过程非常容易:

  1. 加载签名的驱动程序。
  2. 提供一个iocontrol,用户模式程序可以将内存发送到内核。
  3. 更改此内存的执行点,只需在此内存中调用一个地址即可。
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top