找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 4913|回复: 2

关于过保护里调试对象权限清零的一个不成熟的想法

[复制链接]

2

主题

11

回帖

0

精华

铜牌会员

积分
45
发表于 2018-1-26 22:43:05 | 显示全部楼层 |阅读模式
今天刚学了通过新建一个调试对象,然后替换内核中调用到DbgkDebugObjectType的地方,来达到绕过驱动保护对ValidAccessMask清零的目的,但是替换的地方用IDA看了下,有9处,这个代码量就有点大了,就想着有没有更简洁一点的方法,然后就想到了一个不成熟的想法,不知道可不可行,各位帮忙看一下。


首先假设我们知道驱动保护是在哪里定位DbgkDebugObjectType的,假设就在NtCreateDebugObject(我就是在这里定位的。)

然后我们在游戏驱动加载之前,新建一个_Object_Type 来替换掉在NtCreateDebugObject里的DbgkDebugObjectType,让游戏驱动在启动之后获取到的是我们自己新建的调试对象,让它对我们的调试对象权限清零。


之后我们将原来的的DbgkDebugObjectType还原回去,这样就可以做到只修改一处的代码就可以实现绕过的目的。

还没试验,不知道可不可行。

857

主题

2632

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36130
发表于 2018-1-26 23:58:42 | 显示全部楼层
楼主可以在无PG环境尝试一下。

不过有了用EPT实现内存欺骗的技术(GITHUB上很多这类源码),你的想法其实就没多大意义了。

2

主题

11

回帖

0

精华

铜牌会员

积分
45
 楼主| 发表于 2018-1-27 09:35:13 | 显示全部楼层
Tesla.Angela 发表于 2018-1-26 23:58
楼主可以在无PG环境尝试一下。

不过有了用EPT实现内存欺骗的技术(GITHUB上很多这类源码),你的想法其实 ...

感谢
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表