开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 46519|回复: 20
收起左侧

[交流] 网络游戏里变态功能的奥秘

[复制链接]
发表于 2020-2-29 11:03:50 | 显示全部楼层 |阅读模式   山东省青岛市
在网络游戏中,我们经常会遇见一些所谓的变态功能什么叫做变态功能呢?
变态功能的定义非常简单,就是我们正常玩家无法做到的事情,统称为变态功能!也可以理解为很牛X的功能。
例如,飞天,遁地,无敌,秒怪,加速,透视等等
这里面有一个小小的提问,自瞄算不算变态功能?答案是不算
因为正常玩家玩的足够好,那么也是可以枪枪爆头的。(虽然可能性极低)
自瞄不过是电脑帮我计算准星,实现人类的最高能力,电脑的计算速度远远高于人类
正常的变态功能 是属于游戏的Bug导致的,但是自瞄不是变态功能,自然也就无法避免,这也就是为什么只要是FPS游戏,无论有没有其他变态功能,自瞄爆头一定存在的原因。
但是飞天之类的功能,你怎么操作也没有任何实现的可能的,这种就是真正的变态功能了
我们正常玩家是没有办法做到这些事情的!
变态功能的产生
1.服务器验证漏洞
我们拿几个例子来举例,有的游戏是在设计的初期就存在的协议漏洞,属于设计问题,后期很难修改掉。
例如某个游戏,怪物扣血,不是由服务器来判断的,而是我们本地判断怪物是否扣血,然后告诉服务器的,那么你想扣多少血都可以,告诉服务器就可以了,随意修改。
正常的安全验证方式,应该是我们做攻击技能等操作,然后服务器收到这些协议,在服务器上计算怪物应该扣多少血量,然后再告诉我们,这样客户端就没有办法随意修改怪物的血量了。
有的验证漏洞是程序员无意的逻辑漏洞,例如,某个游戏在做一个特定任务的时候像服务器发送一个封包,然后就可以获得到一个特殊的BUFF效果,但是这个获得特殊BUFF效果的封包,可以在任何环境任何时候使用,这就是服务器没有对这个封包的有效环境做验证了。后期发现也是很容易修改的,只要在接受这个封包的时候加几条代码判断就可以了,重点是能不能及时发现!
2.游戏需要
很多3D大型游戏,多人团战,战斗激烈,尤其人物的坐标变动的十分频繁,服务器时时验证会导致网络延迟,打击感减弱等等严重影响游戏体验的情况发生!
那么为了用户体验,没有办法,只能减轻对坐标的验证,那么小范围瞬移或则加速的变态功能就出现了!利润上这个也是不好避免的,但是随着5G 时代的到来,这种问题会减轻很多
通过变态功能的产生,我们可以知道一件事,是否有变态功能和游戏本身没有必然关系
比如有同学说传奇这种老技术老游戏应该很多变态功能啊,为什么没有
就拿加速瞬移做例子,现在的很多大型3D游戏存在加速,瞬移,但是传奇2D游戏坐标变动没有那么快速频繁,反而不存在这种变态功能,所以是否有变态功能不是看这些的,而是看他模式和服务器验证方式!
变态功能的实现,有两种方式
知道了原理,那也就知道实现的思路了,有3种实现的可能,但是实际上殊途同归
1.封包分析
任何的功能最终都是通过封包和服务器通信的,所以任何的变态功能也都是可以通过封包来实现的
例如,某游戏秒怪,实际就是发送一个怪物死亡封包,只要你抓到这个封包,发送即可
例如,某游戏不死功能,实际上就是抓到了人物死亡封包,然后拦截下来,什么情况都不发送即可
例如,某游戏变态BUFF功能,实际就是抓到了一个特殊情况下的BUFF封包而已。
2.修改逻辑
有很多逆向新手说,我做变态功能的时候,没有分析封包啊,只是修改了游戏的几个字节,就可以了。实际上这就是修改游戏逻辑代码,最终也是影响的封包,只是处理的位置不同而已。
我们来举几个例子
例如,某游戏秒怪, 我们找到怪物死亡call 附近的代码,然后修改跳转,比如jnz 改成jmP ,让代码无论什么情况都会执行到怪物死亡call,这样无论什么攻击都会导致怪物死亡了。
例如,某游戏不死功能,我们把人物死亡函数直接Nop 掉,或则直接把上面能跳到死亡call的跳转全部修改了即可保持人物不死。
例如,某软件破解,登录验证是否成功的判断跳转修改成无论返回值是多少都是成功,那么就可以破解登录了
但是我们怎么修改逻辑代码,最终只是为了影响封包而已
3.修改封包参数
还有一种就是修改封包参数了
这种需要自己尝试
例如我们抓到一个封包,把其参数修改成为一个特别大的值或则特别小的值,导致服务器判断错乱可能会产生很多意向不到的效果
例如某游戏,我们修改换线封包参数,结果我们到了一条测试线,没有人和我们抢怪了
例如某游戏,我们修改了一个获取宝藏的封包参数,结果低级副本得不到的材料,我们现在可以得到了。
这种思路,往往是抓服务器缺少的判断,导致服务器出现错误,但是同样付出的测试过程也是十分辛苦的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 2好评 +1 精币 +5 收起 理由
空竹 + 2 很中肯!
Bszk + 1 + 3 精彩文章希望继续努力

查看全部评分

结帖率:0% (0/2)
发表于 2024-4-1 10:09:37 | 显示全部楼层   湖南省常德市



支持下,看不懂,但是还是觉得狠厉哈!!
回复 支持 反对

使用道具 举报

签到天数: 1 天

发表于 2024-3-30 16:49:06 | 显示全部楼层   山东省临沂市


支持下,看不懂,但是还是觉得狠厉哈!!
回复 支持 反对

使用道具 举报

结帖率:0% (0/2)

签到天数: 14 天

发表于 2024-3-29 09:05:09 | 显示全部楼层   广西壮族自治区玉林市

谢谢分享!
回复 支持 反对

使用道具 举报

签到天数: 2 天

发表于 2024-3-20 21:43:05 | 显示全部楼层   广东省广州市
确实是这么回事,要再讲得更深入就好了
回复 支持 反对

使用道具 举报

发表于 2023-12-26 10:42:10 | 显示全部楼层   湖南省郴州市
感谢楼主的描述!
回复 支持 反对

使用道具 举报

发表于 2023-1-7 12:43:15 | 显示全部楼层   河北省保定市

支持下,看不懂,但是还是觉得狠厉哈!!
回复 支持 反对

使用道具 举报

发表于 2021-5-25 15:58:35 | 显示全部楼层   河南省安阳市
66666666666666666666666
回复 支持 反对

使用道具 举报

签到天数: 16 天

发表于 2021-3-14 09:55:42 | 显示全部楼层   河北省邯郸市
谢谢分享!
回复 支持 反对

使用道具 举报

结帖率:86% (6/7)

签到天数: 10 天

发表于 2021-3-6 09:38:24 | 显示全部楼层   广东省广州市
醍醐灌顶啊。感谢分享
回复 支持 反对

使用道具 举报

发表于 2020-12-8 12:14:05 高大上手机用户 | 显示全部楼层   四川省成都市
大佬怎么联系
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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