什么是PG
支持正版理由:
1:售后服务,疑问解答,仙人指路
2:看翻录十年,不如经人一点
**********************************************************************
大家好,欢迎大家回来AGP编程技术论坛的X64精英班课程
官方网站:www.AntiGameProtect.com
**********************************************************************
我们继续接着上一节课,64位下引入PG,即PatchGuard:
PatchGuard就是Windows Vista(以上)的内核保护系统,防止任何非授权软件试图“修改”Windows内核。它会循环检查几个敏感驱动(比如ntoskrnl(不一定是这个名字),win32K)是否被修改,如果发现,则引发0x109蓝屏,参看:
http://msdn.microsoft.com/en-us/library/windows/hardware/ff557228
PG管的很宽,涉及到如下方面,它都管:
我们关注:
0x0:SSDT,ShadowSSDT,导入导处表
0x1:一个函数的完整性效验(具有代表性的操作就是InlineHook)
EPROCESS(进程链表):
在64位下,利用断链的方法隐藏进程,也会触发0x109蓝屏。
在win64位上不能进行Hook的主要原因和理解误区:
1:在win64位下不能Hook,是因为驱动没有签名
2:在win64位下不能Hook,是因为系统本身不支持
3:没有数字签名就不能在win64下学习驱动编程(具体看第一节课1.1)
4:win64下完全不能进行Hook
写一个简单的断链表隐藏进程的代码,去验证PG的存在。
如何快速绕过PG方便学习64位驱动和Hook:
这里就提供一个简单的方法来让大家可以学习64位驱动编程