弱联网手游如何防作弊?.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
弱联网手游如何防作弊? 在刚刚举行的 MDCC 活动上,乐元素 CTO 凌聪分享了一个非常有意思的话题: 移动游戏如何进行防作弊的攻防战。 凌聪分析了作弊(主要是弱联网休闲游戏的作弊)的影响,比如改变排行榜中的 全局排行与好友排行,还会影响广告投放,带来经济损失。他从弱联网游戏可能 存在的多种安全问题来分析玩家或破解者可能采用的手段以及研发商可以采取 的对策。最后他总结了对各种问题的解决方案。  存档被篡改:AES、限制专一、限制降级  协议被破解:AES、SSL/TLS、nonce 防重放  盗号或用户伪装:用户标识符、社交账号绑定  工程被逆向破译:符号隐藏、标识符混淆、逻辑混淆  函数被 Hook :隐藏和混淆、阻止跟踪调试、组织外挂启动  二进制程序被修改:验证校验码  内存被修改:内存加密  大招:上传用户操作和随机种子,数据监控+回放+人工审核 以下是对凌聪演讲内容的整理。 一、为什么要防作弊 (一)经济损失 据我们调查,在电商网站上有很多卖作弊手段的道具,搜索网页也能发现非常多 人在卖作弊手段,所以经济损失肯定是第一位的,《开心消消乐》的作弊使我们 损失几百万。 (二)作弊的其他影响 今天我们主要讲弱联网的休闲游戏,就是可联网但是也支持离线玩。这是休闲游 戏在当今市场环境里获得地位的重要手段,因为不联网的话相当于不能 PK ,不 能跟好友对战和每日登陆等功能,这是很坏的。 弱联网游戏影响最大的是排行榜,包括全局排名、地区排名和好友排名,如果你 作弊了,这三个榜上用户投诉很多,对我们影响很大,有些用户发现有人作弊会 流失掉,你就要用很多手段封杀那些作弊用户。 另外是重度游戏,很多重度游戏需要本地计算 ,凡是客户端做的游戏都有可能 作弊,所以重度游戏也需要防作弊 。 第三个是广告,因为广告可以直接骗你钱,我们曾经买过一次广告,当中居然有 75%的量是假的。 攻防战只要有逻辑放在前端本身就是不安全设计,但是人家的手段是进化的,而 且当一个作弊手段出来的时候就会在淘宝上卖,这个传播是很严重的。有一种手 段没防住,它扩散了的话就没有这么简单,扩散就影响你整个系统。所以不是 80%拦了就 OK 的。有些时候有一个手段就让你的经济系统崩溃,需要你不断的 优化。比如针对游戏攻击函数钩子,这个如果真的发生,损失就是很大。 (三)弱联网游戏可能存在的安全问题 第一,存档被篡改和复制,造成你的损失。 第二,本地配置被篡改。在离线游戏、休闲游戏里面可能有些配置被篡改掉。 第三,帐号被盗和恶意修改。 第四,内存被修改。我们有三种内存,第一种是传输型的内存,传输性内存是不 用加密的,因为传输型内存都是一次性的。另外一种是永久型内存 ,这肯定是 要加密的,用户状态比如你的血、精力值这些都是永久状态。第三种是暂态内存, 比如《开心消消乐》打完一关,获取的金币和获取的经验都会暂存的,这个暂存 它有可能查就的,这要进行一个加密。 第五,网络协议被破解和重放攻击。 第六,工程被逆向破译。现在有很多技术高超的人,可以反汇编你的代码 ,然 后把你的工程逆向。 第七,二进制程序可能被修改。刚才讲到的只要涉及到加解密,都会把加解密函 数钩走,然后把它修改掉。 第八,函数被挂起,被 Hook。 (四)防止存档篡改 方法:加密肯定是需要的,建议强加密,建议用 AES 256 CBC PKCS#7。必须 使用安全的对称加密算法,建议使用 AES 加密算法,密钥 256 位或以上,工业 级、速度快。 密钥怎么保存?首先,密钥不要直接保存在代码里面,密钥是生成的。第二,密 钥不要放在存档里面,这是很危险的。第三,密钥每次加密当场现算。第四,密 钥的生产需要有随机度。 (五)存档协议设计 第一,Magic number :标记存档类型。 第二,版本号:标记加密方法类型。如果一个休闲游戏需要兼容两版本模式肯定 需要版本号。 第三,源数据哈希。源数据的哈希为什么要设计?要验证你解密后的存档数据是 不是一致的。 第四,初始向量。尽量每次都不要一样,否则很容易被反向。 (六)密钥的产生 密钥必须有一定的随机性,可以随机数产生但需要一些技巧,也可以哈希产生。 密钥最好是生成,不要在代码里面去。比如我们看过一些破解程序,发现密钥直 接写在字符串里面。 产生随机密钥的技巧:应使用工业级加密库的产生函数,这样更随机。 自己产生的随机数,如以下算法,实际上最多只有2 的 31 次方种密钥,而加密 算法要求 2 的 256 次方种。 cha

文档评论(0)

7号仓库 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档