首页
社区
课程
招聘
聊聊游戏辅助那些事上部第一篇——过掉那些讨厌的游戏保护。
发表于: 2017-2-20 14:12 31617

聊聊游戏辅助那些事上部第一篇——过掉那些讨厌的游戏保护。

2017-2-20 14:12
31617

这个系列计划分为上下两部,上部是内置型辅助,下部是按键型辅助。我不保证会写完。

聊聊游戏辅助那些事上部第一篇——过掉那些讨厌的游戏保护。

相对以前那些裸奔游戏,现在的新游戏多少都会有些保护,这是绕不过去的坎。

下面针对我发现的几个保护方法,逐个的聊一聊。

1、R3应用层下,DebugActiveProcess 加载调试器时,会设置一个远程断点,而这个远程断点其实多此一举,反而有时会触发反调试检测。唯一要做的就是绕过它。

这是NtDebugActiveProcess的上层函数,DbgUiDebugActiveProcess的反汇编代码:
_NtDebugActiveProcess@8 (775909A4h) 
7760FC64  mov         esi,eax        // 原始返回地址
7760FC66  test        esi,esi 
7760FC68  jl          _DbgUiIssueRemoteBreakin@4 (7760FC03h) 
7760FC72  mov         esi,eax 
7760FC74  test        esi,esi 
7760FC76  jge         _DbgUiStopDebugging@4 (7760FB88h) 
7760FC80  mov         eax,esi 
7760FC82  pop         esi        // +0x1E后的返回地址
7760FC83  pop         ebp 
7760FC84  ret         4 

下面是64位 WINDOW7 下面的 NtDebugActiveProcess 的钩子函数的具体代码,绕过远程断点的方法是在返回地址上加偏移0x1E

2、如果保护程序有驱动,那么在R0核心层下调试端口清零会是绝大多数游戏保护的选择。进程的调试端口保存了一个调试器对像,当有异常发生时,操作系统的异常处理程序会查询这个端口,如果存在调试器,就会将异常发送给调试器,调试器会优先获得异常处理的权利。

网上有不少方法,这儿采用自建调试端口管理的方法绕过它,呵呵,你想清零就清零,反正我又不用它。直接上获取设置调试端口的相关代码。

这是真正的核心代码,注意看注释。后面的 DeviceIoControlDispatch 会调用这个函数。

但是用 OnNtDebugActiveProcess 加载那是完全不调试,因为这个函数不用你清零调试端口了,我自己就直接清零了。然后就要对DbgkForwardException下钩子,让我们自己保存的调试端口发挥作用。具体代码。


上面的两个函数用到了几个没有导出的核心函数,这就需要自己定位相关的函数了,这里就不再展开定位的方法了。

调试器在应用层需要添加钩子函数:DbgNtDebugActiveProcess64,与前面的 DbgNtDebugActiveProcess64 的差别在不再调用 TrueNtDebugActiveProcess,而是通过 DeviceIoControl 调用我们自己的NtDebugActiveProcess

3、调试器对像降权。当系统的调试器对像的访问权限被设置为零时,表现为附加不上所有程序,游戏保护让我们创建的调试对像成为没有调试权限的调试对像。处理方法:重建一个调试对像类型,然后替换掉系统的调试对像类型。

DbgkDebugObjectType 为系统内核调试器对像地址,可以通过符号搜索获取地址。TP在启动后会让所用的附加或启动调试失败,然后我们来这么一下,整个世界就安静了。


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 7
支持
分享
最新回复 (75)
雪    币: 3574
活跃值: (4719)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
收藏下~
2017-2-20 14:43
0
雪    币: 172
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
make
2017-2-20 16:48
0
雪    币: 216
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
好期待这一系列的文章
2017-2-21 08:39
0
雪    币: 157
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
mark,顺便问一下,收藏贴子功能在那里?
2017-2-21 09:19
0
雪    币: 208
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
mark
,简单明了
2017-2-21 09:35
0
雪    币: 205
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
╮(╯▽╰)╭,过调试真是个体力活
2017-2-21 13:57
0
雪    币: 284
活跃值: (250)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
8
膜拜大表哥
2017-2-21 20:45
0
雪    币: 1140
活跃值: (102)
能力值: ( LV4,RANK:48 )
在线值:
发帖
回帖
粉丝
9
莫一个,说不定我用得着
2017-2-21 21:42
0
雪    币: 1140
活跃值: (102)
能力值: ( LV4,RANK:48 )
在线值:
发帖
回帖
粉丝
10
..怎么不支持旧论坛的表情了
2017-2-21 21:42
0
雪    币: 1140
活跃值: (102)
能力值: ( LV4,RANK:48 )
在线值:
发帖
回帖
粉丝
11
请问下能过南极动物的驱动不
2017-2-21 21:45
0
雪    币: 273
活跃值: (472)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
可以  可以
2017-2-21 23:35
2
雪    币: 562
活跃值: (4347)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
13
mark一下,还是旧版的论坛看着舒服。
2017-2-22 10:29
0
雪    币: 8
活跃值: (107)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
mark...
2017-2-22 15:39
0
雪    币: 461
活跃值: (319)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
15
Mark,已收藏
2017-2-22 15:58
0
雪    币: 36
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
膜拜大神~
2017-2-23 14:52
0
雪    币: 2155
活跃值: (2592)
能力值: ( LV12,RANK:667 )
在线值:
发帖
回帖
粉丝
17

好文章,mark一下

2017-2-23 22:06
0
雪    币: 12702
活跃值: (4304)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
18
mark
2017-2-24 01:56
0
雪    币: 4751
活跃值: (1783)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
跟帖  收藏
2017-2-24 03:08
0
雪    币: 144
活跃值: (38)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
win4  64位上的游戏保护知识终于放出来了,O(∩_∩)O哈哈~
2017-2-24 08:13
0
雪    币: 48
活跃值: (167)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
可以、很强势,mark先~
2017-2-24 20:10
0
雪    币: 2325
活跃值: (4908)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
新版的收藏在哪里···
2017-2-24 21:46
0
雪    币: 3738
活跃值: (3872)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
23
回帖收藏!!!
2017-2-25 17:20
0
雪    币: 25
活跃值: (506)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
mark一下!
2017-2-25 23:56
0
雪    币: 236
活跃值: (21)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
回帖收藏
2017-2-26 10:25
0
游客
登录 | 注册 方可回帖
返回
//