我是靠谱客的博主 会撒娇蜜蜂,最近开发中收集的这篇文章主要介绍windows10静态禁用patchguard全过程,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一  准备

在system32文件夹下找到ntoskrnl.exe, winload.exe, winload.efi三个文件并拷贝到一个空目录,用于临时修改,下面每个文件都要找一个函数的头部进行修改,找函数不难,丢到ida里直接就能找到了.

  ntoskrnl.exe修改

找到内核文件中函数KiFilterFiberContext的头部改成下面2条代码,函数直接返回

b0 01          mov al,1

c3                retn

这样改后,patchguard在引导初始化时就被跳过了

三 winload.exe修改

找到函数OslInitializeCodeIntegrity头部改成如下2条代码,在引导阶段对内核签名校验直接返回1

b0 01           mov al,1

c3                 retn

四 winload.efi修改

找到ImgpValidateImageHash函数开始位置,同样修改成2条指令,返回0,校验正常.

33 C0           xor     eax, eax

C3                 retn

五 修正文件校验和

以上3个文件修改后,文件校验和还需要修正,下载一个PPEE1.1.2工具,把3个文件都用这个工具打开

校验和错误,那么会显示红色,直接双击照着提示更正的结果修改,然后点保存.,文件校验和一定要修改,windows内核文件加载时都会检查这个校验和,不正确就无法加载了, 到这里文件的修改就完成了.

六 执行禁用强制签名参数

在命令行执行

bcdedit.exe /set nointegritychecks on 

禁用强制签名,但经过实际测试,这条命令在windows10中并不起作用,设置了照样不能加载无签名驱动,但是要加载修改后的内核,却需要执行这条命令,如果不设置这条命令,引导修改的内核会无法加载.

七 文件替换

修改完成后,把这3个文件替换到system32下,另外winload.exe和winload.efi还要替换到system32boot下,这里也有2个同样的文件,因为对system32下的文件权限不够,不设置权限是替换不了的,有2种方式可以替换system32下的文件,一是对要替换的文件设置所属用户为administrator,然后修改administrator对替换文件的修改权限,二是用启动pe系统直接拷贝.

为了保险起见,替换之前需要备份好原来的文件,以便失败后,可以通过pe把原来的文件恢复回去.

 本人是在windows10 1809和windows2019 1809这个版本通过上述操作禁用成功.其他版本,特别是比这更老的版本多半也是可以成功.

最后

以上就是会撒娇蜜蜂为你收集整理的windows10静态禁用patchguard全过程的全部内容,希望文章能够帮你解决windows10静态禁用patchguard全过程所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部