防外挂

来源:互联网 发布:macbook air mac地址 编辑:程序博客网 时间:2024/06/09 17:46

  • 0
    即使加密放在服务器端,客户端也得有解密方法,只要破解了客户端照样能做外挂 – 至尊宝 2011-09-19
  • 0
    放服务器端可以不定期改算法。不要有规律。不过显然这不是好办法 – 程序员1999 2011-09-19
  • 0
    在易被外挂操控的任务的关键步骤,如接受任务、提交任务时添加类似验证码的机制,可用性如何。。 – 杨玉廷 2011-10-13
  • 0
    如果是webGame,可以有这样一种方式,原则上不相信任何客户端发送过来的数据,例如:Client和Server同时跑一次战斗过程,如果Client发送过来的结果和Server得出的结果不一致,则判断client作弊

总的说来,道高一尺魔高一丈,外挂不可能100%被杜绝,只能通过不同的手段来防止大部分的外挂,具体可以从以下几个方面考虑:

1. 协议层加密
以flash客户端为例,在与后端做数据通信时,可采用amf协议,它虽然也是基于http协议,但是对传输的内容做了加密。当然,amf协议是透明的,所以该方法只能干掉一部分只知道用httpwatch/firebug等查看明文http包传输工具的小白。
如果需要继续增加门槛,可以自定义加密协议。但由于客户端需要知道解密方式,所以客户端本身也需要做好加密。关于flash本身格式的加密解密是另一个比较大的话题,在此就不展开赘述了。
2. checksum校验
客户端发送数据时增加一段checksum校验码,服务器端根据相应的算法进行校验,如果校验不通过则返回错误。与(1)一样,只要破解了客户端就可以知道checksum的校验算法。因此一方面需要注意客户端的安全,另一方面checksum生成算法需要不定期更换。
3. 通过任务策划来防治
外挂主要是代替人工来做些重复性的工作,这样玩家可以不操作电脑也能在游戏中获得收益。外挂的出现一般都是和利益有关,最好的治理方式是引导而不是打压,因此我们可以在产品设计方面做些降低外挂的工作:
1)降低长时间重复性任务所获得收益,或者同一种获得收益的任务随时间的增加收益减少。
2)游戏本身提供一些类似外挂的功能:比如自动打怪等辅助工具。
4. 定期检查数据
通过排行榜等数据统计,可以通过发现一些异常的数据来检测是否有外挂存在
5. 深入玩家内部,了解外挂行情
这个是客服们的工作,与技术关系不大,但有时能起到意想不到的作用。
原创粉丝点击