Mattiwatti/EfiGuard: Disable PatchGuard and DSE at boot time https://github.com/Mattiwatti/EfiGuard
概述
EfiGuard 是一个便携式 x64 UEFI bootkit,它在启动时修补 Windows 启动管理器、启动加载程序和内核,以禁用 PatchGuard 和驱动程序签名强制 (DSE)。
特征
目前支持从 Vista SP1 到 Windows 11 的所有 EFI 兼容版本的 Windows x64。
易于使用:可以通过自动查找和启动 Windows 的加载程序从 U 盘或 Windows EFI 分区启动。也可以使用 UEFI shell 或加载程序手动加载和配置驱动程序。
被动工作:驱动程序不加载或启动 Windows 启动管理器。bootmgfw.efi相反,它由固件引导管理器通过引导选择菜单或 EFI 应用程序(如加载程序)加载。如果启动非 Windows 操作系统,驱动程序将自动卸载。
bootmgfw.efi支持何时开始bootmgr.efi而不是 .的四阶段修补winload.efi。当加载 WIM 文件以启动 WinPE、Windows 安装程序或 Windows 恢复模式时就是这种情况。
Graceful recovery:补丁失败时,驱动会显示错误信息并提示继续开机或按ESC键重启。即使在最后的内核补丁阶段也是如此,因为最后一个补丁阶段发生在ExitBootServices调用之前。许多 UEFI Windows bootkits 挂钩OslArchTransferToKernel,虽然很容易通过模式匹配找到,但它是一个在 . 之后以保护模式执行的函数ExitBootServices。这意味着没有可用的启动服务来告诉用户出了什么问题。 蓝屏
带有错误信息的模拟补丁失败
可调试:可以在内核修补阶段将消息输出到内核调试器和屏幕(尽管已缓冲),并在引导管理器和引导加载程序修补阶段输出到串行端口或未缓冲到屏幕。如果驱动程序是使用 PDB 调试信息编译的,则可以在 HAL 初始化后的任何时候加载调试符号,方法是指定虚拟 DXE 驱动程序基并像调试常规 NT 驱动程序一样对其进行调试。