首页
社区
课程
招聘
[原创]某游戏加速的分析
发表于: 2018-7-31 11:22 8684

[原创]某游戏加速的分析

2018-7-31 11:22
8684
游戏没有任何保护,唯一一点是64位的,比较初级,主要是抛砖引玉。。

我首先使用CE 自带的一个Speedhack 去尝试发现游戏会退出。



抱着试一试的心态,看看是不是对于Speedhack hook 的API有一些检测之类的东西。

再来看一下CE中speedhack的代码



speedhack-x86_64.dll 中的代码还是比较简单,就是hook了 GetTickCount GetTickCount64 QueryPerformanceCounter

因为游戏是64位的,所以优先想到的是GetTickCount64.

于是使用x64dbg 进行调试,尝试寻找检测



附加后我们来到GetTickCount64 对其下硬件访问断点



F9运行之后断在如下位置。。



可以清楚的看到这个很明显的检测代码了

cmp byte ptr ds:[rax], 0xE9
jne 0x00007FF6454BD4FB //
xor ecx, ecx
call qword ptr ds:[0x00007FF649F28530]

然后修改0x00007FF6454BD4F0 这个跳转就可以过掉这个检测。

然后再使用CE 开启Speedhack 就可以了

另外自己用minhook 写了一份,不知道是不是我编译minhook的原因还是为什么。

Hook会失败。



调试我自己的程序发现minhook的中继函数有问题,出现乱码。

然后想着调用下CE的 speedhack.

发现 CE 中的 speedhack 中的DLL似乎并没有hook 之类的代码。

CE是这样调用的。。





由于时间关系就没有继续研究了

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

最后于 2018-7-31 11:45 被Rookietp编辑 ,原因:
收藏
免费 1
支持
分享
最新回复 (6)
雪    币: 12848
活跃值: (9147)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
2
64位 检测E9?写这个检测代码的人是不是对64位的hook有什么误会
2018-7-31 12:22
0
雪    币: 2265
活跃值: (2381)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
hzqst 64位 检测E9?写这个检测代码的人是不是对64位的hook有什么误会
哈哈哈,说的好。
2018-7-31 13:12
0
雪    币: 1036
活跃值: (1311)
能力值: ( LV3,RANK:35 )
在线值:
发帖
回帖
粉丝
4
hzqst 64位 检测E9?写这个检测代码的人是不是对64位的hook有什么误会
说的好。 64位一般都是 FF 15 00 00 00 00 ,或者 mov rax,xxxxxxxxxx  jmp rax
2018-7-31 13:53
0
雪    币: 1042
活跃值: (500)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
就是针对CE 
2018-7-31 14:23
0
雪    币: 9934
活跃值: (2554)
能力值: ( LV6,RANK:87 )
在线值:
发帖
回帖
粉丝
6
你好rookietp,你知道一个微端页游检测游戏变速可以用哪些api么?
2018-8-2 13:14
0
雪    币: 573
活跃值: (222)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
StriveXjun 说的好。 64位一般都是 FF 15 00 00 00 00 ,或者 mov rax,xxxxxxxxxx jmp rax
额,小白弱弱问一句 那。。。为什么。这个游戏能检测出来呢。。。。
2020-1-29 14:03
0
游客
登录 | 注册 方可回帖
返回
//