首页 文章

驱动程序代理,以避免在Windows上重复代码签名

提问于
浏览
1

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

是否可以构建某种代理或填充驱动程序,以便我只需要签名并提交一次,然后将我的代码放在一个单独的模块中?

当然,我不能只在DLL中移动工作代码,因为必须对动态加载的模块进行签名才能在64位内核模式下执行 . 如果我将代码放在原始文件中,将其加载到内存中(分配启用执行标志)然后执行它会怎么样?其他想法?

1 回答

  • 0

    您不必向Microsoft提交驱动程序 . 您必须使用交叉签名证书为您的驱动程序签名 . 你会以这种方式得到一个唠叨的屏幕,但这不是禁止的!

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

    这个过程非常简单:

    • 加载已签名的驱动程序 .

    • 提供IoControl,用户模式程序可以在其中向内核发送内存 .

    • 更改此内存的执行位,只需调用此内存中的地址即可 .

相关问题