首页
社区
课程
招聘
[旧帖] [原创]某类data游戏找全图,硬干CRC 0.00雪花
发表于: 2015-11-8 18:15 3910

[旧帖] [原创]某类data游戏找全图,硬干CRC 0.00雪花

2015-11-8 18:15
3910
一款类似data的游戏。全图视野分析。  (图片挂了Word 文档)
上次
这个游戏存在驱动保护,HOOK了OBJ钩子 。OD无法找到进程。CE无法附加进程。
菜鸟对过保护无力于是想到一个取巧办法。
由于驱动与R3的游戏进程并没有通信。
而且每次启动游戏都会执行-->判断驱动是否存在不存在则释放驱动到游戏主进程目录下-->加载驱动删除驱动文件。
驱动存在则不进行任何操作。
于是我把游戏主进程目录磁盘转换为NTFS格式,把游戏主进程目录权限设置为禁止写入。OK 驱动无法释放。  也就无法加载驱动了。。
不过我刚刚在虚拟机中登陆游戏发现现在没驱动了。(不知道为什么,本机有驱动加载。)
虚拟机XP  本机WIN7 64位
游戏有观战模式,可以实现全图显英雄 显野怪。  于是从这里入手。

在观战模式下搜索
视野基质  全选搜1  队伍1搜2 队伍2搜3  视野全开搜0  写入1
CE找到全图基质  观战模式下修改有效 退出观战模式 发现修改基质无效。
肯定有个判断的地方。
CE先找到读取视野基质的地方。

050DC049 - xor esi,esi
050DC04B - jmp app.gameInit+232F0
050DC04D - mov esi,[esi+18]  ---------就是这里读取的上面的地址
050DC050 - or edi,FF
050DC053 - test esi,esi

于是打开分析利器OD

可以看到上面有两个比较。
第一个比较[esi+10],2
第二个比较[eax+138],esi

进入游戏 从段首下断开始分析,

发现在正常模式下为1 观战模式下为2
于是尝试修改为2 并且修改  [esi+18]为3  开图成功!!

但是却无法使用技能 无法购买物品 无法工具。。(游戏判断在观战模式  于是禁用了相关功能)

于是跟下面这个地址。
050DB090    83B8 38010000 0>cmp dword ptr ds:[eax+0x138],0x2

进入观战模式。发现

Eax+138为视角基质 分别是导播视角 个人视角 自由视角  

不等于2则调到 读取视野基质的地方。。
修改eax+138为1
修改esi+18  为3

结果只能看到敌方。 应该还有判断 继续往下走

在这里判断esi=3 则把esi-2 赋值给eax 这个返回值
而esi=3是 :
                        全选搜1  队伍1搜2 队伍2搜3  视野全开搜0  写入1
队伍二 为敌方。 所以只能看到敌方。
分析:这个call功能:
                                                判断是否为观战
                                                判断视角
                                                判断视野
                                                返回阵营。
跟出返回:

比较了eax之后  不等于-1  进入 CALL 050c24b

这个call被VM了。  所以从

返回值入手
修改
lea eax,dword ptr ds:[esi-0x2]
lea eax,dword ptr ds:[esi-0x1]

至此找全图HOOK点成功。(此方法已和谐!!  )

继续--------------------------------------硬干CRC

函数原型:
BOOL IsBadReadPtr (CONST VOID *lp,UINT_PTR ucb);
参数:
lp 表示要检查的内存指针
ucb 要检查的内存块的大小
返回:
如果调用进程有权限访问该内存,返回0
否则,返回非0
说明:
该函数检查调用进程是否有读取指定内存的内容的权限,微软提供的32位操作系统下的API
CRC检测是会调用这里判断是否有读取权限。
Hook这里判断是否为 修改代码段  是代码段返回-1  不是还原原始命令继续执行

下面这些是线程调用crc的代码
结束线程可以,但隔一段时间 游戏就重新 创建线程。
可以采用镜像法。 注意 CRC会检测本身。
过其中一个。。
都是如此。。。。。

app.gameInit+232D0 - 51                    - push ecx
+-------------------------------
tqpcos.dll+F11D - 8B 1F                 - mov ebx,[edi]

062DF11B    8B06            mov eax,dword ptr ds:[esi]                HOOK这里
062DF11D    8B1F            mov ebx,dword ptr ds:[edi]-----
062DF11F    33C3            xor eax,ebx       
062DF121   /75 09           jnz Xtqpcos.062DF12C                跳回点
   

+-------------------------------
tqpcos.dll+19E6E - 0FB6 02              - movzx eax,byte ptr [edx]
62E9E6E

062E9E6B    0355 FC         add edx,dword ptr ss:[ebp-0x4]        HOOK这里
062E9E6E    0FB602          movzx eax,byte ptr ds:[edx]              ; 111111111111111111
062E9E71    3BC1            cmp eax,ecx
062E9E73    75 45           jnz Xtqpcos.062E9EBA                跳回点
   

+-------------------------------
tqpcos.dll+19EC0 - 0FB6 02               - movzx eax,byte ptr [edx]

062E9EBA    8B55 08         mov edx,dword ptr ss:[ebp+0x8]
062E9EBD    0355 FC         add edx,dword ptr ss:[ebp-0x4]         HOOK这里
062E9EC0    0FB602          movzx eax,byte ptr ds:[edx]  
062E9EC3    8B4D 18         mov ecx,dword ptr ss:[ebp+0x18]         跳回点
062E9EC6    8B1481          mov edx,dword ptr ds:[ecx+eax*4]

jmp=035F0000  

+-------------------------------

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 3836
活跃值: (4142)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不错不错。。加油
2015-11-9 20:42
0
雪    币: 204
活跃值: (911)
能力值: (RANK:1324 )
在线值:
发帖
回帖
粉丝
3
类data游戏。。
哈哈
2015-11-10 00:22
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
这个厉害哦
2015-11-10 11:21
0
雪    币: 8
活跃值: (190)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
英魂之刃 dll名字暴露啦。。
2015-11-10 17:21
0
雪    币: 38
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
dota。。。  顺手就打出来了
2015-11-11 01:04
0
雪    币: 79
活跃值: (192)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
DLL名字已暴露~
2016-4-4 05:30
0
雪    币: 238
活跃值: (282)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
感谢楼主无私分享
2016-4-4 06:53
0
游客
登录 | 注册 方可回帖
返回