本人的魔改驱动在安装过程中,安装程序有一个界面允许你选择驱动的“签名模式”,如图。

很多朋友并不理解这里的签名是什么,所以我觉得有必要谈一谈其中的含义与作用。
---
驱动程序作为连接软件与硬件的桥梁,在系统中是以很高的权限运行的。而这种权限可以做到很多普通应用程序做不到的事情。因此,现在的 64 位版本的 Windows 系统都会强制要求驱动程序具有有效的数字签名,才能被系统接受并加载。
而怎么对驱动进行数字签名呢?方法有两种,一种是向证书的颁发机构购买具有微软交叉签名的数字证书,另一种是使用没有交叉签名的数字证书先签一下名,再用数字证书向微软注册,把驱动送到微软的 Windows 硬件质量实验室进行认证,让微软再亲自为驱动添加上签名。

如上图所示,英伟达的官方显卡驱动,文件都是有英伟达与微软的双重签名的。然而魔改驱动对这些驱动文件进行了修改,我们必须给这些文件进行重新签名。但无论哪种签名办法,我们都需要购买数字签名;而数字签名其实价格不菲,例如某证书厂商的报价为一年将近 4000 元。并且第一个办法根据微软官方的公告,因为“大多数交叉证书在 2021 年 7 月过期”,已经不再可用......了吗?
其实互联网中,曾经陆陆续续泄露了很多的数字签名证书,实质上我们是可以利用它们进行驱动签名的。虽然它们已经过期或吊销,但是通过伪造签名时间戳的办法,我们可以欺骗操作系统,使其认为文件是在证书过期吊销前签名的。这里的时间戳签名,使用的是我们自己创建的根证书,默认并不会被操作系统信任。所以在安装驱动前,我们必须将证书安装进系统的受信任根证书库中。
在本人的驱动中,这一操作是安装程序自动进行的,不需要用户额外操作。而无悔老师的驱动,就需要通过导入注册表,将根证书导入到系统证书库中。

---
现在,我们已经做到让操作系统信任并加载驱动程序了。
但我们还有一个问题。在前面我们提到,驱动程序拥有很高的权限。因此,很多的游戏外挂也是以驱动程序的形式编写的。因为驱动程序强制要求签名的特性,许多反作弊机制就会利用这一点,检测系统中已加载的驱动程序,是否使用了已经被外挂滥用的数字证书进行签名。如果检测到,就会拒绝启动游戏,或阻挠显卡驱动的运行并出现报错弹窗,甚至也有游戏账户被封禁的案例。如下图就是魔改驱动在运行 EA 旗下游戏时,可能会出现的报错提示。

这里就是我们最开始提到的,安装程序“签名选择”选项的作用了。不同的人,会玩不同的游戏;不同游戏,所使用的反作弊系统是不同的;而不同的反作弊系统,收集到的滥用证书列表也不同。我的魔改驱动附带了两份使用不同证书签名的驱动程序文件,这样当默认签名模式安装驱动,出现游戏无法启动时,就可以在清理已经的安装驱动版本之后,以另一个签名模式安装驱动,说不定就可以解决问题,包括上图出现的 EA 旗下游戏无法启动的问题,也都有切换模式后成功解决的案例。
当然,对于网络游戏的玩家而言,无论哪种签名模式都无法保证能完全避免反作弊系统的误杀。要完全保险的话,最稳妥的选择则是直接安装官方的 417.22 驱动,并使用选择首选显卡的批处理进行设置(CMP ??HX 系列不适用)。
---
希望本文能够帮助到各位垃圾佬。祝折腾愉快~

很多朋友并不理解这里的签名是什么,所以我觉得有必要谈一谈其中的含义与作用。
---
驱动程序作为连接软件与硬件的桥梁,在系统中是以很高的权限运行的。而这种权限可以做到很多普通应用程序做不到的事情。因此,现在的 64 位版本的 Windows 系统都会强制要求驱动程序具有有效的数字签名,才能被系统接受并加载。
而怎么对驱动进行数字签名呢?方法有两种,一种是向证书的颁发机构购买具有微软交叉签名的数字证书,另一种是使用没有交叉签名的数字证书先签一下名,再用数字证书向微软注册,把驱动送到微软的 Windows 硬件质量实验室进行认证,让微软再亲自为驱动添加上签名。

如上图所示,英伟达的官方显卡驱动,文件都是有英伟达与微软的双重签名的。然而魔改驱动对这些驱动文件进行了修改,我们必须给这些文件进行重新签名。但无论哪种签名办法,我们都需要购买数字签名;而数字签名其实价格不菲,例如某证书厂商的报价为一年将近 4000 元。并且第一个办法根据微软官方的公告,因为“大多数交叉证书在 2021 年 7 月过期”,已经不再可用......了吗?
其实互联网中,曾经陆陆续续泄露了很多的数字签名证书,实质上我们是可以利用它们进行驱动签名的。虽然它们已经过期或吊销,但是通过伪造签名时间戳的办法,我们可以欺骗操作系统,使其认为文件是在证书过期吊销前签名的。这里的时间戳签名,使用的是我们自己创建的根证书,默认并不会被操作系统信任。所以在安装驱动前,我们必须将证书安装进系统的受信任根证书库中。
在本人的驱动中,这一操作是安装程序自动进行的,不需要用户额外操作。而无悔老师的驱动,就需要通过导入注册表,将根证书导入到系统证书库中。

---
现在,我们已经做到让操作系统信任并加载驱动程序了。
但我们还有一个问题。在前面我们提到,驱动程序拥有很高的权限。因此,很多的游戏外挂也是以驱动程序的形式编写的。因为驱动程序强制要求签名的特性,许多反作弊机制就会利用这一点,检测系统中已加载的驱动程序,是否使用了已经被外挂滥用的数字证书进行签名。如果检测到,就会拒绝启动游戏,或阻挠显卡驱动的运行并出现报错弹窗,甚至也有游戏账户被封禁的案例。如下图就是魔改驱动在运行 EA 旗下游戏时,可能会出现的报错提示。

这里就是我们最开始提到的,安装程序“签名选择”选项的作用了。不同的人,会玩不同的游戏;不同游戏,所使用的反作弊系统是不同的;而不同的反作弊系统,收集到的滥用证书列表也不同。我的魔改驱动附带了两份使用不同证书签名的驱动程序文件,这样当默认签名模式安装驱动,出现游戏无法启动时,就可以在清理已经的安装驱动版本之后,以另一个签名模式安装驱动,说不定就可以解决问题,包括上图出现的 EA 旗下游戏无法启动的问题,也都有切换模式后成功解决的案例。
当然,对于网络游戏的玩家而言,无论哪种签名模式都无法保证能完全避免反作弊系统的误杀。要完全保险的话,最稳妥的选择则是直接安装官方的 417.22 驱动,并使用选择首选显卡的批处理进行设置(CMP ??HX 系列不适用)。
---
希望本文能够帮助到各位垃圾佬。祝折腾愉快~