游戏是怎么反外挂呢?

游戏是怎么反外挂呢?,第1张

首先我们科普一下外挂的定义(自己总结非官方):能够修改目标程序原有的行为或数据的第三方程序。其中最常见的目标程序就是网络游戏客户端。一直以来,网络游戏开发商以及运营商与外挂开发者之间的对抗,从未停止过。正所谓,八仙过海各显神通。在对抗的过程当中,双方都有一定的收益,在利益的驱使下,双方都竭尽所能使用更高端的技术完成攻与防的内容。

正所谓,知己知彼百战百胜。我们作为专业的反外挂开发商,非常有必要了解各种常见游戏外挂所采用的技术。只有知道了他们的原理,我们才能想出对抗外挂的技术方法。下面列出我们在十数载反外挂研究中发现的外挂技术种类(不全之处,还望补充)。

一.脱机类外挂

在游戏开发过程中,每款游戏的客户端与服务端都会有固定的通信格式,大部分游戏通信协议位于TCP层之上,自定义的数据结构,外挂开发者们称此为封包。下面简单列举一个简单的打斗封包,以方便说明脱机类外挂原理。

0000ABCD 0000DCBA 00001234 00001000

例如玩家1在与玩家2打斗过程中,发送到服务器这样一个16字节的数据包,其中游戏开发者定义此数据包含义如下:

0000ABCD:玩家1的ID。

0000DCBA:玩家2的ID。

00001234:玩家1所使用的技能编号。

00001000:玩家1对玩家2造成的伤害,转换为十进制为:4096。

当服务器接收到此数据包时,则会将玩家2的血量减少4096点,如果玩家血量减少后小于等于0,则判定为玩家2已经阵亡。这时服务器会返回给玩家2的客户端一个数据包,玩家2的客户端则播放一个玩家2已经死亡的动画。

以上逻辑,其实存在着大量的漏洞,比如说,服务器应该判定玩家上一次释放00001234号技能是否在冷却时间内,再比如说,服务器应该判定玩家战斗过程中所造成的伤害是否与其装备、法力值、攻击力、暴击等相吻合,是否超过了游戏本身限制的最大伤害。类似这种漏洞,每一款游戏都会存在,只不过不会这么明显。一些老游戏在这方面做的相对较弱,所以漏洞更多。

另外,在游戏开发过程中,数据通信的格式在游戏开发商的公司中都有相关文档明确定义的。而这些文档非常机密。一些游戏开发商公司的安全做的不够好的情况下,可能会造成游戏代码以及文档的泄露。这些资料,一旦流入外挂开发者手中,那么这款游戏就极有可能会出现脱机式外挂。

脱机外挂定义:在不开启游戏客户端的情况下,第三方程序直接与游戏服务器进行通信,模拟账号登陆验证、选择角色、进入游戏、进入场景、开始战斗、对怪物造成伤害等 *** 作时的合法数据包,发送给服务器,而服务器是没有能力判断出这些包是否是客户端发来的,即便有验证手段,由于源码已经泄露,外挂开发者可以轻而易举的模拟出服务端的各种验证机制。即便数据包传送过程中是加密的,由于源码外漏,外挂开发者一样可以正确模拟出数据包的加密方式。

对于这种类型的外挂,常见的屏蔽手段就是修改加密方式,使得脱机外挂发送过来的数据包,服务端无法解析,或者解析出的结果是错误的,而服务端发现客户端发送错误的数据包时,则断开连接。此方法,需要客户端与服务端同步更新。改动较大。

还有一种常见方法,是在客户端中嵌入一些验证性代码,与另外一个专门负责验证的服务端通信,客户端必须正确作答后,服务端方可认为是合法客户端发来的数据包。此类反外挂方式,我们也会经常见到,比如一些游戏中为防止挂机行为而加入的答题机制。

游戏的“外挂”是指通过修改游戏数据而为玩家谋取利益的作弊程序或软件。

即利用电脑技术针对一个或多个软件进行非原设 *** 作,篡改游戏原本正常的设定和规则,大幅增强游戏角色的技能和超越常规的能力,从而达到轻松获取胜利、奖励和快感的好处,通过改变软件的部分程序制作而成的作弊程序。

外挂主要应用原理是在游戏中用封包和抓包工具对游戏本身或游戏服务器提交假参数从而改变游戏中的人物能力。 使用外挂具有一定风险,特别是在非单机游戏中使用破坏游戏公平性的外挂,可能还会被封禁账号。

扩展资料:

外挂会造成网络游戏的极度不公平,同时造成服务器端的垃圾数据增多(这通常是因为外挂软件开发者没有掌握服务器端的技术而造成的),而且由于使用外挂者大多不用在电脑前加以控制,而令玩家长期处于“挂机”状态。

服务器需要使用更多资源来处理这些并非由人控制的角色,令到服务器端的工作量激增,网络游戏运营商需要打开更多服务器来处理这批角色,而使成本增加。(都有可能令其他玩家游戏画面或速度减慢)

一些受欢迎网络游戏就会有“专业”的外挂。一些比较少玩家的网络游戏通常都没有“专业”的外挂,因此,外挂的多少可以作为一个网络游戏受欢迎程度的指针。

参考资料来源:百度百科——外挂

应该是宽带问题。你家宽带连不上外挂服务器,网络之间不互通。
这个经常会有的,外挂服务器肯定用的便宜的机房,没有电信、网通多条线路的。
主要看你用的什么宽带,移动的宽带最垃圾,很多网站都访问不了的

上传附件提示服务器正在验证,是指当用户上传文件到服务器时,服务器会对文件进行检查,以确保它不包含任何恶意软件或病毒。检查可以是文件的格式、文件头或文件内容,甚至可以是文件的网络连接、哈希值或其他一些信息。一旦服务器完成了验证,它将把文件上传到服务器,并且通知用户文件上传成功。

就是类似金山词霸,只有联网用序列号激活才能使用
你自己建立个DB,该DB放在你的服务器上, 存放序列号等内容 软件使用必须连接DB验证序列号 关键是传输数据要加密,不然还是很容易被crack

web项目的话,我觉得就是客户端JS校验,主要检测用户的输入信息是否合法,例如:检验用户名、密码的文本框,判断用户名、密码是否为空或是长度不符等(这个可以用正则表达式)。当JS验证成功了,就进入服务器端的校验,比如说:客户端校验完发过来的用户名、密码,检查这用户名、密码在服务器的数据库是否正确,如正确用户才能登录,否正登录失败。
简单的说就是客户端主要校验的是用户的用户的输入信息是否合法,而服务器主要校验业务数据是否正确。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13492427.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-18
下一篇 2023-08-18

发表评论

登录后才能评论

评论列表(0条)

保存