Creative Commons License
本Blog采用 知识共享署名-非商业性使用-禁止演绎 3.0 Unported许可协议 进行许可。 —— Fox <游戏人生>

游戏人生

游戏人生 != ( 人生 == 游戏 )
站点迁移至:http://www.yulefox.com。请订阅本博的朋友将RSS修改为http://feeds.feedburner.com/yulefox
posts - 62, comments - 508, trackbacks - 0, articles - 7

反外挂的一点牢骚

Posted on 2007-12-20 02:08 Fox 阅读(2166) 评论(21)  编辑 收藏 引用 所属分类: G游戏编程

Author: Fox

俗话说,道高一尺,魔高一丈。

今天在一个群里,有人提到某某算法(3DES)可以杜绝外挂。我当时心里苦笑一声:哥们儿,太逗了。这年头,中国人已经被忽悠怕了。我信鬼信魔,就是不信佛……

不过想想,如果能在一定程度上打击外挂,也不错,可是讨论了半天,愣是没有给出具体的方案,最后还是不了了之。

不过,有时间把思路整理整理,提一个稍微好一点的方法也好。

王城里面,一排排的外挂小号像阅兵一样,嚣张成马了,完全不把我们放在眼里。

话说回来,连个脱机外挂都防不住,别人还确实没必要把你放在眼里。

这边Login Server搞了两三个月的验证码,感觉不错,因为不使用外挂的玩家每次都要折腾半天,我们自己人员输入验证码输的都烦,结果没出半个月外挂又开始横行了,感觉比以前还嚣张。

我是外挂,我得意的笑,我得意的笑……

敢情是防贼没防住,把贼扔屋里,自己被锁在外面了!

/*****************************************************************************
  晚上本来想自己写个内挂,可以偷偷懒,可惜对这东西实在是从来没有过研究。
  折腾了一晚上,郁郁而终。
  技不如人啊!想来都觉得可笑……
*****************************************************************************/

Feedback

# re: 反外挂的一点牢骚  回复  更多评论   

2007-12-20 08:32 by 绝对零度
要反外挂,自己先要是个外挂制作高手。

# re: 反外挂的一点牢骚  回复  更多评论   

2007-12-20 09:10 by abettor.org
据我的经验,如果光靠抓包写外挂的话,使用SSL,就够那些人搞十年八年的了;要是靠破解写外挂,加个猛壳,也够人喝一壶的;要是有内鬼,那就很难说了。

# re: 反外挂的一点牢骚  回复  更多评论   

2007-12-20 09:26 by Fox
@绝对零度
诚如君言,不了解外挂的制作,就想反外挂,是有点不现实,所以,为了做好份内的事,先要倒腾倒腾这外挂:)。

@abettor.org
看来大家都是高手,我说怎么那么多外挂呢!

开个玩笑,希望更多人能给我更多的建议和意见!

# re: 反外挂的一点牢骚  回复  更多评论   

2007-12-20 11:31 by ChenA
用脚本写逻辑,没有反调试器。
我估计外挂做不出来。

# re: 反外挂的一点牢骚  回复  更多评论   

2007-12-20 12:36 by Fox
@ChenA
将逻辑隐藏,是个不错的做法,对于一款新产品,这个方法绝对值得考虑,只是对于当前已经出现的大量外挂,只是单纯打怪、捡拾物品,现在最主要的是要屏蔽这些外挂。

# re: 反外挂的一点牢骚  回复  更多评论   

2007-12-21 08:07 by 绝对零度
用SSL的话,通信量一大,服务器吃得消吗?
加壳的话,现在脱壳的高手还是很多的。不过加个猛壳是个预防的办法,最好每个版本的加壳方式都不一样。但现在基本上都是数据包修改,加壳可性性还得考虑。

# re: 反外挂的一点牢骚  回复  更多评论   

2007-12-22 04:07 by 重剑
哈哈
游戏人数上去了,反外挂才比较有意义
看来你们的游戏很火了啊
哪款游戏啊?

# re: 反外挂的一点牢骚  回复  更多评论   

2007-12-23 13:17 by 蚂蚁终结者
中国的外挂真是NB的不行了!

# re: 反外挂的一点牢骚  回复  更多评论   

2007-12-24 17:47 by ms.gofixiao
我倒是对外挂做过一阵子研究,现在大部分公开的外挂都是内部,也就是hook到游戏内,呼出外挂,注入进程空间,调用游戏call。
这些call包括走路call,回城call等。

# re: 反外挂的一点牢骚  回复  更多评论   

2007-12-24 17:50 by ms.gofixiao
外挂基本很难封的,做外挂的都会反汇编,否则怎么得到那些游戏call。
反而脱机挂比如截取封包的外挂非常少,一个是很难破解那些封包,再者在现在的机器下面,玩家对脱机挂需求不打,那些打金工作室比较喜欢脱机挂。

总之啊,外挂是封不住的,一切都是时间问题。

# re: 反外挂的一点牢骚  回复  更多评论   

2007-12-27 14:00 by Fox
@重剑
《风云》

# re: 反外挂的一点牢骚  回复  更多评论   

2007-12-27 14:00 by Fox
@ms.gofixiao
原来兄弟就在对面楼上,可惜没见过,呵呵,有机会坐坐~~~

# re: 反外挂的一点牢骚  回复  更多评论   

2007-12-27 16:16 by ms.gofixiao
对面楼上?我在城市之心,你难道在人保大厦?

# re: 反外挂的一点牢骚  回复  更多评论   

2008-01-25 17:01 by ood
脱机挂对一个游戏的冲击是最大的,能严重影响游戏的平衡,如果连这个都封不住的话,还真有点那啥~ 嘿嘿

其实脱机挂有个最大的特点,就是一个IP上会登陆几十甚至上百个ID,能不能在登陆服务器上做个检测,让他一个IP只能对应一个ID,这样不就封住了吗。

没做过网游,不知道想法是不是可笑~

# re: 反外挂的一点牢骚[未登录]  回复  更多评论   

2008-01-25 17:55 by 汪江涛
说到底,游戏本身不就是个外挂吗?不过游戏是通过玩家的鼠标各键盘来指挥CPU调用游戏客户端API,而外挂是CPU算好了直接调用客户端API,所以外挂是搞不掉的。至于检测IP不是不行,但一伙人躲到网关后头,一个IP几十上百个ID也正常,要一并杀之难免连累好人。验证码是个不错的办法,但验证码的生成要讲究,别弄的字体太正规,也不模糊也不扭曲,电脑都能认出来那就没意义了,但如果游戏允许一个ID长时间在线也就不中了,输一次验证码挂三天三夜都没事,不良玩家的时间成本就太低了。

设想一种全新的游戏,服务器超牛,网络超快,客户端什么也不干,只是向服务器发送玩家在哪点了鼠标,按了什么键,服务器进行处理,生成每秒大几十幅图像一个个发给客户端,客户端像电影一样播放,那外挂肯定没戏了,因为它根本不知道怪在哪,但人眼就有这优点,一眼就能从一个平面图中看到怪在哪,外挂是不会看平面图的,它只会读游戏数据,但现在都在服务器上了,它是两眼一摸黑了

这个能实现吗?几十年内是不行了,但不知道可不可以把关键怪数据这样传过来,比如一个物品的贴图,外挂看上去所有物品都是图片,不知道哪个好,但人一看图就知道那是个什么物品,不过貌似十几年内实现也难

# re: 反外挂的一点牢骚  回复  更多评论   

2008-01-26 09:03 by Fox
@ood
就像楼上说的,封IP是不行的。

@汪江涛
验证码技术和图像识别技术相生相克,很难根本消除外挂。至于你后面说的方法,感觉也是治标不治本,因为只是让外挂的选择空间没有那么大,还是没有办法防止外挂登入。

所以问题的关键是:如何防止外挂登入?

# re: 反外挂的一点牢骚  回复  更多评论   

2008-01-31 16:26 by 无名无姓
我不是什么程序员只是一个游戏玩家
我的想法是无限随即代码...每过多长时间生成不同的游戏怪物等等的代码我应该可以杀绝外挂了

# re: 反外挂的一点牢骚  回复  更多评论   

2008-02-15 09:15 by Fox
只要能解包,随机的怪物客户端是可以知道的,而且太随机对玩家的体验也要差很多(老是变的话,玩家会难以适应),尤其是对韩式打钱、打怪升级的网游来说更是如此。

# re: 反外挂的一点牢骚  回复  更多评论   

2009-05-06 21:29 by O型饭桶
@abettor.org
很多直接打内存补丁的,壳只能在某种程度上防止逆向,但是要防外挂,很难。

# re: 反外挂的一点牢骚  回复  更多评论   

2009-05-06 21:30 by O型饭桶
@汪江涛
那我就直接分析屏幕了。。。

# re: 反外挂的一点牢骚[未登录]  回复  更多评论   

2009-09-22 10:01 by nscboy
反外挂不仅仅是技术问题.如果一个游戏就是打怪,挖矿等简单的操作.无聊重复的劳动,而没有精彩的剧情的话.那么外挂肯定是必然出现的.

楼上那个服务器完成运算,发送贴图给客户端的方法有些儿戏了.且不说你服务器顶不顶得住这么大的运算量.
你有空可以去看看由绿坝带来的开源图像识别软件.我想.计算机视觉的并没有你想象的那么差劲.

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理