看流星社区

 找回密码
 注册账号
查看: 2175|回复: 0

简单谈谈“游戏圈”所谓的神乎其技的行为检测(6)

[复制链接]

该用户从未签到

发表于 2013-3-27 09:26:20 | 显示全部楼层 |阅读模式
接续第五篇,上回说,这篇主要讲讲多开检测。

先来看看一般我们知道的多开检测有哪些
1.窗口和进程
2.各种各样的互斥体系(Event啊,Mutext啊,信号量啊,冲突域啊,Atom锁啊,pipe啊,本地端口啊,MapView啊,LPC啊,还有用RPC COM的,甚至有用特殊Cookie的~)
3.游戏保护的通信()

这三种就是常见的一般全宇宙都知道的~
那么这里也不再多说了,接着我来讲讲少数的
1.硬件id记录
2.服务器ip记录
这两种现在也逐渐被重视了,所以也不是我想说的。

我这里提一个很少有人注意到的东西::GUID
关键API:CoCreateGuid
流程:首先读取本地保存记录(可以是临时注册表或者临时文件或者游戏保护公共内存或者交互式Set的Cookie——Cookie这种模型有时间再细说)里的GUID,如果没有就生成一个,然后保存一下;如果有则提取GUID投递给服务器...
服务器上判断不同账户登录的GUID出现重复次数,根据CoCreateGUID重复可能性的说法同一个GUID最多同时存在2个...(系统重启前游戏保存的GUID一般是不消失的...)

下面是解答 某位同学提出的 内存检测的时间了
内存检测有多种:
常见的是检测HOOK,这个很常见,基本都知道。
接着是检测模块或者代码,这个也是很常见的。
接着是检测游戏信息完备的,这个其实很多都做,但是做的好不好都不好说。
我来谈的也是这种检测 信息完备的,做法有很多种,
最常见的就是用复制多个角色对象,然后对比对象,这种比较麻烦的是服务器刷新数据,你要刷新多个对象数据。比较简单的方法,就是把对象的属性表(这种检测一般都是开发商提供代码的前提下才能进行的)在每次关键操作后计算一个HashStamp发给服务器(服务器上也有角色属性而且也支持Buffer叠加的情况下才ok..)然后就不用说什么了。
还有一种比较取巧的办法就是角色按照等级各种属性有个最大属性值(装备按照id属性也存在最大值,举例,1级的角色最大HP是300,装备加成最大是200,于是最多只有500的HP超过500就悲剧吧~),某一项数值超过最大属性极限时就向服务器发个包,服务器返回一个当前服务器上的角色信息,然后本地再次对比,然后再通知服务器是...

就讲到这里,最后说一下关于VM的问题,归根揭底很多检测都是要调用API的,所以只要顶住API的调用,必然可以发现检测的秘密,所以为了保住检测的秘密,API现在很多都是reload和抽取的~~

下一篇,讲讲 网页游戏怎么做检测的。
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-3-29 20:46

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

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