关于游戏:浅谈游戏安全

1次阅读

共计 1685 个字符,预计需要花费 5 分钟才能阅读完成。

原文由陈子昂发表于 TesterHome 社区,点击原文链接中转原帖与作者在线交换。

前言

平安和测试尽管有局部重合,但因为关注方向和技术栈差别还是蛮大的。
在郑重得吃完一盆货色后,写下这个对于游戏平安的帖子。
当然游戏在平安方向上方方面面,只接触了其余一部分,这里浅谈下这些年的一些小储备,但只讲品种,当初翻新的很快,也不确定是否还实用了。
上面很多都建设在对游戏性能业务非常理解。

客户端反编译

游戏反编译意义有很多,比方是对提取资源,代码以及从新打包。个别公司没有平安防护的找第三方公司,或者公司自身会有平安防护的都会根底的防护伎俩加壳和资源混同,用非官方的伎俩进行编译,并且壳的品种很多,版本也在更新。
如果不加壳,被破解难度会大幅度降低,当初局部壳对游戏影响很小,还有外挂白名单的监测性能。
这里次要防护了代码和资源被破解以及二次打包危险,要取得更多信息得和理解游戏打包的形式,从下文来看,会发现这条作用又多大。

反调式模式

次要是避免进行逆向剖析,目前用附加到对应游戏过程上,依据理解去花追踪的辅助工具和 IDA 非常弱小,只有有足够的急躁没有什么是不能够调式的。
如果说有的话,能够在断点胜利时让游戏间接挂起后退出,so 是否能够抉择只被特定过程加载不确定。
为啥要反调式,因为有这个的存在能够实现游戏脱机破解和嗅探出游戏外部的一些关联。

游戏脱机破解

先得确保游戏不被脱壳,得晓得协定类型,游戏数据包包头构造和音讯体组成,个别进行抓包剖析,当初把抓包一段段猜和拼出来的。

逻辑问题

应用游戏设计或者不是实时和数据库和服务器进行同步的性能。
前者比方一些流动设计不合理,被小号撸了羊毛转给大号上,靠封小号不是一回事啊,一开始就得想分明。
后者比方不要被联合协定一起给做了或者脱离网络实现破绽的重要环节。

协定平安

也是封包测试的一种,这个也是测试会做的,能够抓包去改,也能够写框架来测试,次要进步协定稳定性和查看服务端校验忽略,首先也是得避免脱壳。
这里做起来有二个层面和一个和其余用户交互项,判断畸形边界和依据游戏数据类型设计非凡溢出的数字查看回包一个层面。
第二个层面是屡次发送后,确定服务端是否有不影响宕机的谬误日志,如果谬误日志足够多也是能够影响服务器稳定性。
批改数据结构有几种组合(这外面说起来简略,做起来收集数据要积淀)
fuzz 畸形数据 + 历史问题数据;有符号无符号数字的边界和浮点数精度问题;下个协定字段不变,参数和上个协定替换数据(须要动静才行)
最初交互是最难的一种(这个模式手动搞过,但想了下开发到框架外部也不是不行)
交互性实现的协定封包,1 对 n,进行发送不非法播送和发送非法但不该呈现的音讯,对其余 n 个用户的影响。

内存批改

当初字面值类型在内存中分段曾经没啥用了,次要是验证客户端体现和客户端体现问题后是否会影响服务器。
因为有些时候确实批改内存会让金钱数量显示上变成很多或者背包道具叠加异样,服务器不会齐全信赖客户端。
之前 moba 游戏就有游戏呈现批改某个附加配备后,会导致 1 级能够打死 3 级野怪的状况。

硬件变速

减速和变慢速,只有对其他人不偏心的都是有影响的,这部分通常是策动层面进行防护,开减速跑路,只能靠检查用户间隔最近几次坐标变换速度大于失常全 buff 速度的肯定倍数就踢号。

将来须要关注的

1. 第一个如同这个和游戏业务确没啥关系,但不得不做啊,随着等保规范的呈现有 7 大类,50+ 的查看,对于 app 包做一系列扫描查看工具根本是箭在弦上不得不发。
能够延长开发出 7 -10 个左右的小工具,在定序用继续集成串联起来,下个文章会介绍这些小工具的简要需要和几个点的思路。

2. 压测混合会让服务器失常条件下呈现错误信息(前提是大部分状况下会 return null 回绝的)

3. 利用失常网络回包的时候批改发包频率的工具,接口或者工具项

4. 拿一款批改工具好好二次开发,跟着他人的版本走。

5. 关注舆情,查看自家游戏是否被盯上了。

原文由陈子昂发表于 TesterHome 社区,点击原文链接中转原帖与作者在线交换。

今日份的常识已摄入!想要学习更多干货常识、结识品质行业大牛和业界精英?
第十届中国互联网测试开发大会·深圳,理解下 >>

正文完
 0