我的编程空间,编程开发者的网络收藏夹
学习永远不晚

游戏开发原理以及防作弊

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

游戏开发原理以及防作弊

  客户端如何作弊

  手机端

  我在当初手游刚起步的时候,flappy bird想必玩游戏的人都知道,是一款非常虐的手游,当时也非常火,朋友圈都在晒分数,后来我知道用一款《八门神器》的app能够作弊修改分数,然后修改成很高的分数晒在朋友圈就显得自己“很牛逼”,满足一下自己的虚荣心,原理就是修改分数内存值来达到作弊的效果。

  前言

  如何防作弊在游戏开发中还是占蛮重的比例的,这也涉及到游戏盈利的问题,如果不做防作弊措施,或许我们开发出来的app当前上线或许第二天就出破解免费版了,这个事情我亲身经历过,当然这是基于app做的比较好被外挂公司盯上了,一度很火的吃鸡游戏端游版本其实外挂非常猖獗,这也是因为没有做防外挂,如何防作弊在求职者求职的时候也会经常被问到,当然我们能想到最简单的方案就是不要信任客户端任何数据,以服务器数据校验为准,当然这种方案在一些客户端服务器交互比较少的情况是可以这样设计的,假设FPS,我们每次射击造成的伤害,一帧里面会射击好多次,不可能每次都去向服务器校验吧,交互太频繁了,体验也很差,但如果不校验的话,客户端就是修改武器属性值,这就是客户端作弊了,如何解决这样的问题,下文会介绍到防作弊的思路。

  PC端

  PC上修改内存也有对应的软件,例如Cheat Engine,就类似手机上的八门神器,如何应用见下图:

  如何防作弊

  unity开发推荐一款插件Anti-Cheat Toolkit,自行上Asset Store上下载。具体原理就是我们通过数据混淆,UI上显示的值实际上是我们经过计算出来的值,所以内存修改器根据UI上显示出来的值去搜内存地址是搜不到的。

  防作弊原理

  private int curATK;

  private int curAtkKey;

  public int CurATK {

  get {

  return curATK ^ curAtkKey;

  }

  set {

  curAtkKey = Random.Range(0, 0xffff);

  curATK = value^curAtkKey;

  }

  }

  分析:^运算是异或运算,需要一点二进制的知识,异或运算是相同为0,不同为1,下面举例:3 ^ 4=7,3对应的二进制是11,4对应的二进制是100,异或运算之后的结果二进制是111对应的十进制就是7,下图程序验证一下:

  分析

  根据上面的程序你是否真真明白是如何防作弊的呢,num是我们输入的值,例如玩家当前的金币数量是4,但我们UI上的显示并不是直接Coin.Text = num.ToString(),这样玩家搜到num的内存就很容易修改了,就作弊了,我们UI上的显示值是hiddenValue^cryptoKey的值。玩家就算搜出num的值并修改了,对我们显示金币真实的数量并没有影响。

  分析插件Anti-Cheat Toolkit

  我们Unity开发估计很多人都会用这个插件,他是如何实现数据加密的呢,我们看下手册就会知道它是将Unity的基本数据类型都封装了一个对应的数据类型,例如:int->ObscuredInt,Float->ObscuredFloat,string->ObscuredString等。拿ObscuredInt举例:

  会发现它封装了一个跟Int对应的结构体,并且有一个混淆因子cryptoKey=444444,我们再看string类型的封装的一个类ObscuredString,它的混淆因子是string cryptoKey=“4441”,如果我们用这个插件啥都不修改,那如果我是黑客,我知道当前某游戏是Unity开发的并且数据做了防外挂处理,那么我如何破解防外挂,我肯定首先就想到的就是这个插件,并且知道这些混淆因子,那么我就相对容易能破解出来,所以如何再进一步防外挂,就必须要对插件的混合因子再做一个混淆或者修改就显得很重要。

  最后,我觉得啊,简单点开发的话,用Access数据库保存游戏各种元素的基础数据。

  这些数据肯定要加密的,目前只知道对里面内容用des加密~因为听说就算对数据库文件加密,也可以通过工具得到没有被加密的数据库文件。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

游戏开发原理以及防作弊

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

游戏开发原理以及防作弊

  客户端如何作弊  手机端  我在当初手游刚起步的时候,flappy bird想必玩游戏的人都知道,是一款非常虐的手游,当时也非常火,朋友圈都在晒分数,后来我知道用一款《八门神器》的app能够作弊修改分数,然后修改成很高的分数晒在朋友圈就显得自己“很牛逼”,满足一下自己的虚荣心,原理就是修改分
游戏开发原理以及防作弊
2024-04-18

掌握游戏开发中的反作弊与安全防护技术(如何保障游戏开发中的安全性与公平性?)

反作弊与安全防护技术对于保障游戏开发中的安全性与公平性至关重要。通过采用多层面的措施,包括客户机反作弊软件、服务器端分析、机器学习、安全代码、服务器验证、即时检测、自动封禁、人工审查、玩家教育、行业合作和数据分析联盟,开发者可以创造公平、安全的竞争环境。持续监控、创新和玩家互动有助于开发者应对不断演变的作弊威胁,提升玩家的游戏体验。
掌握游戏开发中的反作弊与安全防护技术(如何保障游戏开发中的安全性与公平性?)
2024-04-02

Redis在游戏开发中的作用及应用案例

Redis在游戏开发中的作用及应用案例在游戏开发中,数据的高速读写和实时性是至关重要的。而Redis作为一种高性能的内存数据库,可以有效地解决这些问题。本文将介绍Redis在游戏开发中的作用以及应用案例,并提供相关的代码示例。一、Redis
Redis在游戏开发中的作用及应用案例
2023-11-07

理解PHP在网络游戏开发中的作用

网络游戏的兴起为许多开发者提供了一个广阔的舞台,而在网络游戏开发中,PHP作为一种流行的服务器端脚本语言,扮演着重要的角色。本文将探讨PHP在网络游戏开发中的作用。首先,PHP具有高效的数据库连接能力。在网络游戏中,大量的数据需要存储和管理
理解PHP在网络游戏开发中的作用
2023-10-28

游戏开发中音频处理技术的重要性及应用(音频处理技术在游戏开发中的作用与运用)

音频处理技术在游戏开发中至关重要,它通过创造沉浸式音景和增强游戏体验来提升玩家体验。其关键作用包括模拟真实音场、营造逼真环境音景、动态调整背景音乐。此外,通过音效设计、Foley艺术和声音反馈,可以生动展现游戏世界,提供交互线索。音频处理技术广泛应用于游戏环境、角色、游戏玩法和故事叙述中,塑造氛围、定义角色、增强机制和营造情节高潮。为了有效运用此技术,游戏开发人员需要掌握音频处理原理、熟练使用音频软件并与声音专业人士合作。通过了解技术原理和应用,游戏开发者可以创建引人入胜的互动体验。
游戏开发中音频处理技术的重要性及应用(音频处理技术在游戏开发中的作用与运用)
2024-04-02

探索canvas在游戏开发中的强大作用及应用

了解canvas在游戏开发中的威力与应用概述:随着互联网技术的迅猛发展,网页游戏越来越受到广大玩家的喜爱。而作为网页游戏开发中重要的一环,canvas技术在游戏开发中逐渐崭露头角,展现出强大的威力与应用。本文将介绍canvas在游戏开发中
探索canvas在游戏开发中的强大作用及应用
2024-01-17

游戏开发中的动画设计原理与技巧(游戏开发中如何设计吸引人的动画效果?)

本篇文章探讨了游戏开发中的动画设计原理和技巧,包括弧形运动、缓动缓出、镜面反映、重叠动作和时间伸缩。此外,还介绍了提升动画质量的实用技巧,如观察现实世界、原型设计、参考工具、性能优化、细节添加、情感传达、视觉趣味、一致性、反馈收集和持续学习。这些原理和技巧旨在帮助游戏开发者设计出吸引人且引人入胜的动画效果,提升玩家的沉浸感和游戏体验。
游戏开发中的动画设计原理与技巧(游戏开发中如何设计吸引人的动画效果?)
2024-04-02

PHP开发缓存的工作原理及实现方式

PHP开发缓存的工作原理及实现方式缓存是一种常用的提升网站性能的技术手段,它可以将一些高频度访问的数据保存在内存中,以便于快速获取,减少数据库查询的次数,从而提高网站的响应速度。PHP开发中,缓存的实现方式有很多种,下面将详细介绍其工作原理
PHP开发缓存的工作原理及实现方式
2023-11-07

QQ如何制作提示浏览器打开以及微信遮罩代码的实现原理是什么

这篇文章将为大家详细讲解有关QQ如何制作提示浏览器打开以及微信遮罩代码的实现原理是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。目前的市场上做APP应用的朋友们最常用的一种下载手段就是扫
2023-06-04

编程热搜

  • 华为高级工程师认证费用
      华为高级工程师认证费用是多少?华为高级工程师认证要多少钱?华为高级工程师认证是华为认证体系中用于标识个人能力在某一技术领域达到高级工程师级别的证明,认证费用为200美金,通过考试取得的证书3年有效。  华为高级工程师认证费用是必修方向和选修方向的总和,其中必修方向认证费用为300美金,选修方向认证费用为180美金。
    华为高级工程师认证费用
  • 2024年初级软考上半年考试时间安排
    初级软考每年安排两次考试,2024年初级软考上半年考试时间已公布,2024年初级软考上半年考试时间为5月25-28日。2024年初级软考上半年报名时间及入口:根据往年各省初级软考报名时间来看,2024年上半年初级软考报名时间3月份开始,具体请考生关注全国各省2024上半年软考报名时间及入口汇总表,希赛小编将及时为大家更
    2024年初级软考上半年考试时间安排
  • HCIA证书和HCIE哪个比较好?
      HCIA证书和HCIE哪个比较好?华为认证包含三个等级,分别是HCIA(华为认证网络工程师)、HCIP(华为认证网络资深工程师)、HCIE(华为认证互联网专家)认证。  HCIA(Huawei Certified ICT Associate )即华为认证ICT工程师,是华为职业认证中用于标识个人能力在某一技术领域达
    HCIA证书和HCIE哪个比较好?
  • 教你在PPT中创建好看的镜像效果
      当我们在阅读杂志书刊,或者看电影的时候常常都会看到像下图一样的原图片与图片镜像的组合效果的图片,在很多的摄影作品中也会有,我们其实也可以在PPT中轻松实现这种应用于各大媒介的图文特效技巧,不信的话我们一起来学习一下,操作过程其实并不复杂!  下面我们就开始我们的具体操作步骤了,首先第一步,我们需要先打开PowerP
    教你在PPT中创建好看的镜像效果
  • 多媒体应用设计师可以提前交卷吗
      可以。但是多媒体应用设计师提前交卷有时间限制,根据软考的考场规则,按照人力资源和社会保障部文件规定,开考5分钟后应试人员一律禁止入场。专业技术人员资格考试原则上封闭2个小时,不足2小时的全程封闭。  软考多媒体应用设计师属于专业技术人员资格考试,专业技术人员资格考试原则上封闭2个小时,不足2小时的全程封闭。  根据
    多媒体应用设计师可以提前交卷吗
  • 全国计算机二级C语言程序设计章节练习题及答案(1)
      对于备考计算机二级C语言考试的考生可以多做试题,一方面了解往年考试题型,一方面熟悉往年考点。今天编程学习网小编给大家准备了全国计算机二级C语言程序设计章节练习题及答案(1),供考生们练习。  点击查看:全国计算机二级C语言程序设计章节练习题及答案汇总  判断题  ×1.C++语言和C语言都是面向对象的程序设
    全国计算机二级C语言程序设计章节练习题及答案(1)
  • 广西2024上半年计算机软考什么时候报名?
    广西2024上半年计算机软考3月25日开始报名,具体报名时间见全国各省2024上半年软考报名时间及入口汇总表。2024上半年广西软考考试采用网络报名的方式,考生在规定的报名时间内进入中国计算机技术职业资格网,点击页面右下方的报名入口,进入全国计算机技术与软件专业技术资格(水平)考试网上报名平台,选择“广西”入口后点击进
    广西2024上半年计算机软考什么时候报名?
  • 软考可以申请退税吗
      可以。软考证书是可以抵扣个税的,按照个税6项专项附加扣除标准,在取得软考证书的当年,可以按照3600元定额扣除。  软考证书可以抵扣个税,根据国务院印发的《个人所得税专项附加扣除暂行办法》,第三章继续教育包含三条,具体内容如下:  第八条 纳税人在中国境内接受学历(学位)继续教育的支出,在学历(学位)教育期间按照每
    软考可以申请退税吗
  • win10如何正确禁用IPv6网络协议
       在Windows Vista和Server 2008开始,微软包括本地支持的IPv6(互联网协议第6版),并默认启用。IPv6是新的计算机的地址协议,最终将取代IPv4这是目前最流行的标准。win10中默认开启了对IPv6协议的支持,但是会影响到系统运行速度和磁盘占有率等。除非你的网络有IPv
    win10如何正确禁用IPv6网络协议
  • 2020年数据库系统工程师上午真题及答案解析
      2019上半年数据库系统工程师考试已结束,今天编程学习网小编为大家整理了2020年数据库系统工程师上午真题及答案解析,以便大家了解2020下半年数据库系统工程师基础知识考试真题。  软考数据库系统工程师上午考试为基础知识,编程学习网小编为大家整理了2020年数据库系统工程师上午真题,想知道答案和解析的考生可以直接进入在线题
    2020年数据库系统工程师上午真题及答案解析

目录