【第4篇】PatchGuard
本帖最后由 lx_Zz 于 2016-8-11 15:18 编辑我直接把百度百科的摸下来、
PatchGuard就是Windows Vista的内核保护系统,防止任何非授权软件试图“修改”Windows内核,也就是说,Vista内核的新型金钟罩。
PatchGuard能够有效防止内核模式驱动改动或替换Windows内核的任何内容,第三方软件将无法再给Windows Vista内核添加任何“补丁”。
简而言之、就是在win64下、你写的驱动程序是不能随便修改内核API函数了、除非是把PatchGuard干掉、网上方法很多、
先声明、接下来要写的文章基本都是NT式驱动相关的、围绕驱动保护和过驱动保护来讲、算是边学边总结吧、
上面说了、在win64下、由于PG(PatchGuard)的存在、所以不能随意修改内核的内容、虽然网上有各种姿势过PG、但是对于企业来说、商业软件过PG是违反规定的、而且过PG之后系统不稳定、所以这样是行不通的、但是又不能不对程序进行驱动级的保护吧、于是使用微软官方提供的方法、用ObRegisterCallbacks注册一个回调、监控系统中所有的进线程句柄的动态、一旦发现对自己有害的句柄、马上就把句柄关闭并返回一个错误值、
好了、这一篇讲的少、就是简单介绍有这个东西、
接下来总结点理论性的内容、都是书上的原理、正好检查一下自己的理解是否有问题、希望大家指出错误好改正、 企业级的都是靠购买微软签名来顺利加载驱动对底层做修改的,现在也能百度好多黑科技出来。
谢谢lz 求 过PG 和 obRegisterCallbacks 注册回调的方法代码{:5_92:}
页:
[1]