驱动程序代理以避免在Windows上重复代码签名
-
01-10-2019 - |
题
Windows上的驱动程序应签名并提交给Microsoft进行代码签名,这是64位系统的要求。问题是,当您必须更新驱动程序时,必须再次提交一次,每次发行版。
是否可以构建某种代理或垫子驱动程序,以便我必须仅签名并提交一次,然后将我的代码放在单独的模块中?
当然,我不能仅仅在DLL中移动工作代码,还必须签署动态加载的模块才能在64位内核模式下执行。如果我将代码放在原始文件中,将其加载到内存中(启用了执行标志)然后执行该怎么办?其他想法?
解决方案
您不必向微软提交驱动程序。您必须使用交叉认证的驾驶员签名。您将通过这种方式获得nag屏幕,但这并非禁止!
有几次尝试做您想做的事情的尝试。这些被“勉强”地容忍,但是这些驱动程序可能随时禁止。 (通过撤销您的签名)
该过程非常容易:
- 加载签名的驱动程序。
- 提供一个iocontrol,用户模式程序可以将内存发送到内核。
- 更改此内存的执行点,只需在此内存中调用一个地址即可。
不隶属于 StackOverflow