[系统底层] ​windows10静态禁用patchguard全过程

66次阅读

共计 1199 个字符,预计需要花费 3 分钟才能阅读完成。

windows10 静态禁用 patchguard 全过程一 准备在 system32 文件夹下找到 ntoskrnl.exe, winload.exe, winload.efi 三个文件并拷贝到一个空目录,用于临时修改,下面每个文件都要找一个函数的头部进行修改,找函数不难,丢到 ida 里直接就能找到了。二 ntoskrnl.exe 修改找到内核文件中函数 KiFilterFiberContext 的头部改成下面 2 条代码,函数直接返回 b0 01          mov al,1c3                retn 这样改后,patchguard 在引导初始化时就被跳过了三 winload.exe 修改找到函数 OslInitializeCodeIntegrity 头部改成如下 2 条代码,在引导阶段对内核签名校验直接返回 1b0 01           mov al,1c3                 retn 四 winload.efi 修改找到 ImgpValidateImageHash 函数开始位置,同样修改成 2 条指令,返回 0,校验正常。33 C0           xor     eax, eaxC3                 retn 五 修正文件校验和以上 3 个文件修改后,文件校验和还需要修正,下载一个 PPEE1.1.2 工具,把 3 个文件都用这个工具打开 ​ 编辑校验和错误,那么会显示红色,直接双击照着提示更正的结果修改,然后点保存。,文件校验和一定要修改,windows 内核文件加载时都会检查这个校验和,不正确就无法加载了,到这里文件的修改就完成了。六 执行禁用强制签名参数在命令行执行 bcdedit.exe /set nointegritychecks on 禁用强制签名,但经过实际测试,这条命令在 windows10 中并不起作用,设置了照样不能加载无签名驱动,但是要加载修改后的内核,却需要执行这条命令,如果不设置这条命令,引导修改的内核会无法加载。七 文件替换修改完成后,把这 3 个文件替换到 system32 下,另外 winload.exe 和 winload.efi 还要替换到 system32\\boot 下,这里也有 2 个同样的文件,因为对 system32 下的文件权限不够,不设置权限是替换不了的,有 2 种方式可以替换 system32 下的文件,一是对要替换的文件设置所属用户为 administrator,然后修改 administrator 对替换文件的修改权限,二是用启动 pe 系统直接拷贝。为了保险起见,替换之前需要备份好原来的文件,以便失败后,可以通过 pe 把原来的文件恢复回去。本人是在 windows10 1809 和 windows2019 1809 这个版本通过上述操作禁用成功。其他版本,特别是比这更老的版本多半也是可以成功。​ 此纯分享,有想跑联盟的联系我~Telegram username is @shuimitao456   QQ:944431119 deyu 2022-12-12 16:06 2Make

正文完
 0