当前课程知识点:游戏程序设计 >  第十七章 《游戏逻辑服务器和反外挂》 >  17.2 外挂与反外挂(上) >  17.2 外挂与反外挂(上)

返回《游戏程序设计》慕课在线视频课程列表

17.2 外挂与反外挂(上)在线视频

下一节:17.2 外挂与反外挂(下)

返回《游戏程序设计》慕课在线视频列表

17.2 外挂与反外挂(上)课程教案、知识点、字幕

第二部分了就是外挂与反外挂了一个部分

首先我们来看一下为什么会有外挂

首先我们看一下中国其实游戏市场的规模

游戏市场2018年游戏市场这个由

中国游戏市场实际销售收入

2144.4亿元

这么大一个盘子

然后中国游戏用户人数

2018年有6.26亿

就说这么多的用户

这么大的利润肯定带外挂

肯定就想来分一杯羹

然后那什么叫外挂呢

这个是维基里面的定义,外挂指的就是

通过修改游戏的代码或者数据

严重破坏游戏平衡性

扰乱游戏规则

影响游戏体验感的第三方非法程序

但是我给它一个广泛的一个定义吧

我认为就是破坏游戏公平性的

辅助工具就是外挂

目前根据腾讯的

就是腾讯安全部的一个调查

我们发现东南亚和南美和俄罗斯地区

也是游戏外挂高发区

不过中国才是使用外挂用的

最厉害的一个地方

那么其实现在玩家为什么会使用外挂呢

那我们看一下腾讯安全部

对DNF的一个调查

60%的玩家认为副本太难打不过

只能用挂

那30%的玩家认为

30%的玩家刷PK打不过想用挂虐人

10%的玩家认为功能炫酷想试一试

我大概简单说一下吧

这个是一个传送了一个挂

就是因为很多MMO里面他是有这样的

播不了视频

这个很多MMO里面他是这样的

这都有个车夫传送吗

就是我可能从A地图

我就和它车夫对话

我就可以传到B地图去

这样

很多很多关键的地图都布个车夫

或者做个传送端之类的

这个以前我们出现的一个情况就是

就是玩家

我们代码里面代码里面没有减

就是忘了

就是忘了也好漏了也好

没有检查玩家和那个车夫的一个

NPC的一个距离

然后但是客户端显示有检查了

客户端让你点到那个车夫

才能打开那个面板

但是如果外挂它用外挂

它就要客户端直接把包发上来

我在A车夫那里

我要传送到哪个另外一个哪个地图

那我们当时服务器就检查下扣钱

钱是够了

我们就把他直接给传走了就给传出去了

那么就导致的玩家他想传到哪里

都可以的属于异传

当时所遇到的一个挂

这个挂呢

是一个PK的被PK

但是PK系统的一个挂

就是A和BA站在走着走着

或者参加一个什么战斗

A走着走着它突然没人打

突然开始掉血

然后就突然就死了

然后后来我们才发现

然后对它施法的那个人

他们两个并不是在视野里面

就是说

其实两个在客户端

客户端层面是互相看不到了

不过它呢

也是用外挂发包上来就说

刚才我说那个PK那个往回回顾一下

就是技能ID和目标ID

说白了

这个目标还的它随机填

为什么它就随机填

填一个上来

我们可能当时就没有检查到两个目标ID

是不是互相在互为视野里面

那么我们只是找的到

因为他们又在同一个地图里面

距离也是也是OK的

那么其实他们就互相看不到了

但是

他是因为当时是没有检查这个嘛

以后就又被他用外挂发包上来了

然后就开始那个玩家开始掉血

最后就死了

之后就影响了战斗了一个公平性了

然后这个也是一个宝石玩法了

一个武器玩法的一个

一个挂当时也是也是这样

某个我们很多游戏里面

它可以用些低级的宝石

可以合成一个高级的宝石出来是吧

但是我们当时的那个服务器端它没有判断

没有做好检查

就是那个来源的低级的来源

宝石是否符合

就是我指定用宝石

才能合成出这个高级宝石

但是只是客户端判断了服务器忘了判断

正常来说客户端那个拉不近呢

但是它可能是用发包了

发包的方式或者破解了客户端什么

他用了几个很廉价的宝石

来合成了一个高级宝石

可以卖到钱了

而且所以这时候

这经济系统就被破坏掉了

那时候就紧急追逃了

所以这些都是这几个挂

都是当时我们是绕开了我们的客户端

发包上来了

还有这个就是我们当时

我们当时有皇城站

我们有皇城站

我们在这里就报名

申请皇城站

因为现在所有服务器的做法都是这样

你报名的时候先是 怎么说呢

先扣钱

因为

然后再发到其他模块去

继续说啊

你要报名这个之类的

但是他可能用了

当时是用了一个

他的号是不符合的

他也是绕过了客户端

要的客户端发包上来了

然后我们就先扣了钱

然后去其他模块里面去判断它不符合

是不是

是不是国王

如果不是国王退钱

但是我们退钱后忘了return,没有退出(流程)

然后又判断了另外一个条件

是不是符合不符合又退钱又忘了return

所以它当时要了客户端

本来他是报不了名的

他要了客户端发了包上来被他尝到甜头了

我发现我报名

你扣我的2锭银子

但是给我返回了6锭

我发现我好像赚了我这样

我不停续

但是就是这一点也有也被搞了

但是也是被搞了这个寄售银子

这个没有被搞

但是是我们

好在我们我们发现了

发现了没搞

就是我们寄售银子的就是说白一点

就是游戏里面的一些金钱的一些交易吗

我们可以把一下把银子卖出去换金子

或者把金子卖出去换银子

他如果我们这里勾选

我们卖银子的时候勾选了获得绑定

它就不扣手续费了吗

不扣手续费

但是如果这里就是因为这里有一个坑

如果你发上去

因为所有服务器都是先扣钱

如果发下去检查通不过

我们又给你返钱,给你返钱的话

但是如果

他勾了这一点

那其实没有扣他的手续费了

但是返的时候统一逻辑

就是把手续费一起给他返了

而且返的更多

所以这是

当时我们差点出问题

但是好在我们发现了这个问题

在我们比玩家更早发现了这个问题

我们就填了这个坑了

所以这个就是我们

我们以前遇到了一些问题

然后我再说这个打金工作室很多

很多游戏都会遇的到

基本上这个很恐怖

因为他批量上号

你很多

你们现在的QQ号是吧那么多QQ号

他们批量上

批量上以后批量一群人

体验做一样的东西去打金

就是在刷游戏里面的一些货币

一些小物品呢

就拿出去交易

所以大家看一看

这是我从安全组那边拿了图

手机墙一批手机在这里

一起进行操作同步器

你看同步器一个人操作

N个客户端一样的操作

还有用单片机是吧

甚至还有些更离谱一点的

它其实脱离了客户端

直接破解了客户端直接脱离客户端

即将破解你的协议

收你的消息发包收包

就连客户端都不需要

但是破解了就是一个收发包了一个脚本

那些更可怕更可怕

然后这个被

如果被工作室盯上了这个游戏

就有点麻烦了

首先第一

它会破坏它经济系统

因为他打了钱是吧

他们底下可能通过底下的平台

例如刚才也有老师说到

在上午老师说到

说到站在聊天框里面说说什么交易

什么元宝之类的底下

和你们底下交易就把这个线上了

游戏里面线上经济系统给破坏了

然后侵占游戏资源你上了那么多号

我导致普通玩家上不了号

因为你把战线可能把服务器资源都沾满了

再下个服务器可能只能承载个几万人

你就把服务器撑满了是吧

那这可能影响游戏口碑

这点肯定不用说的了

现在来回顾一下我刚才举的例外挂

可以作弊成功

其实大家刚才听到我说

其实我刚才前面举的几个例子

这些都是我们服务器有bug

对吧服务器有bug

他如果绕过客户端了

它就把这个bug给利用起来了

然后一些异常情况

我们可考虑的不够全面

就是该防的

该判断了

我们没有判断的住

然后这个无法保证消息来源

可靠性是什么了

最后我看它说了

被打金工作室

你这个可能用的是一个脱机挂

但是我们不知道服务器只负责收包

你的包的具体是你的内容是正确的

我就认为是正确了

我不确定你这个包是脱机挂

还是来于单片机还是哪里来的

那么现在我们能做的一点有什么呢

我总结了有这么几点可以怎么应付呢

首先一

谨慎的编码风格

谨慎的编码风格怎么说呢

其实这一点不能说是反外挂

这一点就怎么了

怎么说呢

你该

该判断指针(是否为空)

你的数组该判断页件

该判断数组是否越界

其实就是一个编码的良好习惯

避免他(外挂)用发包的方式发些非法数据上来把程序给搞写越界了

写错误了

写崩溃了

首先要保护好

你的程序能够正常运行

第二完善的监控告警

例如包括现在腾讯都有很多

这样的部门就是介入了

介入了一下实时的一个分析

就是如果某个玩家的产出

产出它突然飙升了

我们就会有告警或者这个玩家的产出

它比普通玩家像对普通玩家来说

它很有异常

我们都会有告警

所以这个就是

告警能帮助我们及时的发现问题这个

然后

提高外挂的作弊成本

和下面几点我在下面的点会展开说

就是提高外挂的作弊成本

和限制外挂的一个获利收入

还有个打金打金工作室了

在最后面三点我好过我这下一样我会详细展开来说

总机归根到底一点就是你只要使得

它的作弊成本大于它的收益

那么外挂就不会

就不会再做了

因为它的

成本大于收益

那它还做来干什么呢

只有亏钱的嘛

所以这就觉得它捞不到便宜

就可以限制住外挂了

游戏程序设计课程列表:

第一章 《游戏开发导论》

-1. 1什么是游戏(上)

--1.1 什么是游戏(上)

--选择题

-1.2 什么是游戏(下)

--1.2 什么是游戏(下)

--选择题

-1.3 游戏是如何开发出来的

--1.3 游戏是如何开发出来的

-1.4 游戏引擎(上)

--1.4 游戏引擎(上)

-1.5 游戏引擎(下)

--1.5 游戏引擎(下)

--单选题

-1.6 如何成为一个游戏开发者

--1.6 如何成为一个游戏开发者

--多选题

第二章 《游戏服务器概述 》

-2.1 什么是游戏服务器

--2.1 什么是游戏服务器

--单选题

-2.2 游戏服务器的和分类发展

--2.2 游戏服务器的和分类发展

--单选题

-2.3 核心技术和实现难点

--2.3 核心技术和实现难点

--单选题

-2.4 设计原理与方法论

--2.4 设计原理与方法论

--单选题

第三章 《《三维几何学基础》 》

-3.1 三维坐标系统

--3.1 三维坐标系统

--多选题

-3.2 向量与运算

--3.2 向量与运算

--单选题

-3.3 矩阵与线性变换

--3.3 矩阵与线性变换

--双选题

-3.4 四元数

--3.4 四元数

--多选题

第四章 《游戏循环及实时模拟》

-4.1 游戏循环概述(上)

--4.1 游戏循环概述(上)

--多选题

-4.2 游戏循环概述(下)

--4.2 游戏循环概述(下)

--单选题

-4.3 《无尽之路》的实现

--4.3 《无尽之路》的实现

--单选题

-4.4 支撑游戏的功能

--4.4 支撑游戏的功能

--选择题

-4.5 支撑游戏的机制与系统

--4.5 支撑游戏的机制与系统

--多选题

第五章 《随机数在游戏中的应用》

-5.1 基本介绍

--5.1 基本介绍

--单选题

-5.2 随机数生成器

--5.2 随机数生成器

--单选题

-5.3 随机数分布与应用

--5.3 随机数分布与应用

--单选题

第六章 《游戏性系统》

-6.1 什么是游戏玩法开发

--6.1 什么是游戏玩法开发

--单选题

-6.2 建立愿景 Vision

--6.2 建立愿景 Vision

--单选题

-6.3 划定边界 Scope

--6.3 划定边界 Scope

-6.4 迭代 Iteration

--6.4 迭代 Iteration

--单选题

-6.5 迭代 Iteration+抛光Polish

--6.5 迭代 Iteration+抛光Polish

--单选题

第七章 《实时图形渲染管道》

-7.1实时图形渲染管道 宏观渲染系统

--7.1实时图形渲染管道 宏观渲染系统

--单选题

-7.2实时图形渲染管道 应用阶段

--7.2实时图形渲染管道 应用阶段

--单选题

-7.3实时图形渲染管道 几何阶段

--7.3实时图形渲染管道 几何阶段

--单选题

-7.4实时图形渲染管道 光栅化阶段

--7.4实时图形渲染管道 光栅化阶段

--单选题

-7.5实时图形渲染管道 总结 参考

--7.5实时图形渲染管道 总结 参考

第八章 《材质着色与光照》

-8.1 物理回顾1

--8.1 物理回顾1

--单选题

-8.2 物理回顾2

--8.2 物理回顾2

--单选题

-8.3 材质 1

--8.3 材质 1

-8.4 材质 2

--8.4 材质 2

-8.5 材质3

--8.5 材质3

-8.6局部光照

--8.6局部光照

--单选题

-8.7 全局光照

--8.7 全局光照

--单选题

第九章 《游戏动画》

-9.1 动画介绍

--9.1 动画介绍

--多选题

-9.2 游戏动画介绍

--9.2 游戏动画介绍

-9.3 动画技术类型

--9.3 动画技术类型

--多选题

-9.4 骨骼蒙皮动画

--9.4 骨骼蒙皮动画

--多选题

-9.5 动画流水线

--9.5 动画流水线

--多选题

-9.6 动画前沿趋势

--9.6 动画前沿趋势

--多选题

第十章 《网络同步技术》

-10.1 .基本概念

--10.1 .基本概念

--多选题

-10.2 设计目标

--10.2 设计目标

--多选题

-10.3 传输数据分析

--10.3 传输数据分析

--多选题

-10.4 常用同步方案 1

--10.4 常用同步方案 1

-10.4 常用同步方案 2

--10.4 常用同步方案 2

-10.4 常用同步方案 3

--10.4 常用同步方案 3

-10.4 常用同步方案 4

--10.4 常用同步方案 4

--多选题

-10.5 方案对比

--10.5 方案对比

--多选题

第十一章 《游戏常用几何学》

-11.1 基本图元

--11.1 基本图元

--单选题

-11.2 图元距离(上)

--11.2 图元距离(上)

--单选题

-11.2 图元距离(下)

--11.2 图元距离(下)

--单选题

-11.3 图元相交测试+ 其他几何方法

--11.3 图元相交测试+ 其他几何方法

--单选题

第十二章 《游戏物理模拟》

-12.1 著名物理引擎介绍

--12.1 著名物理引擎介绍

--单选题

-12.2 物理引擎原理(上)

--12.2 物理引擎原理(上)

--单选题

-12.3 物理引擎原理(下)

--12.3 物理引擎原理(下)

--单选题

-12.4 游戏中的物理体

--12.4 游戏中的物理体

--单选题

-12.5 物理引擎使用入门

--12.5 物理引擎使用入门

--单选题

第十三章 《开发工具 》

-13.1开发语言

--13.1开发语言

--单选题

-13.2 开发环境

--13.2 开发环境

--单选题

-13.3 腾讯开发组件介绍

--13.3 腾讯开发组件介绍

--单选题

-13.4 网络通信+业务框架介绍

--13.4 网络通信+业务框架介绍

--多选题

第十四章 《分布式系统设计 》

-14.1 进程间通信(上)

--14.1 进程间通信(上)

-14.2 进程间通信(下)

--14.2 进程间通信(下)

-14.3 通信格式

--14.3 通信格式

-14.4 并发模型

--14.4 并发模型

-14.5 超时处理

--14.5 超时处理

-14.6 大系统小做(上)

--14.6 大系统小做(上)

--多选题

-14.7 大系统小做(下)

--14.7 大系统小做(下)

-14.8 架构层面的技术支持(上)

--14.8 架构层面的技术支持(上)

--单选题

-14.9 架构层面的技术支持(下)

--14.9 架构层面的技术支持(下)

-14.10 分布系统的关键能力

--14.10 分布系统的关键能力

--多选题

第十五章 《游戏人工智能》

-15.1 游戏人工智能综述

--15.1 游戏人工智能综述

-15.2 人工智能在游戏中主要方法 上

--15.2 人工智能在游戏中主要方法 上

--多选题

-15.3人工智能在游戏中主要方法 (下)

--15.3人工智能在游戏中主要方法 (下)

-15.4 人工智能在游戏制作中的应用领域1

--15.4 人工智能在游戏制作中的应用领域1

--多选题

-15.5 人工智能在游戏制作中的应用领域2

--15.5 人工智能在游戏制作中的应用领域2

-15.6 人工智能在游戏制作中的应用领域3

--15.6 人工智能在游戏制作中的应用领域3

--多选题

-15.7 人工智能在游戏运营中的应用实践(上)

--15.7 人工智能在游戏运营中的应用实践(上)

-15.8 人工智能在游戏运营中的应用实践(下)

--15.8 人工智能在游戏运营中的应用实践(下)

--多选题

第十六章 《游戏支撑系统 》

-16.1 游戏支撑系统(1)

--16.1 游戏支撑系统(1)

--单选题

-16.2 游戏支撑系统(2)

--16.2 游戏支撑系统(2)

--单选题

-16.3 游戏支撑系统(3)

--16.3 游戏支撑系统(3)

--单选题

-16.4 游戏支撑系统(4)

--16.4 游戏支撑系统(4)

--单选题

-16.5 游戏支撑系统(5)

--16.5 游戏支撑系统(5)

第十七章 《游戏逻辑服务器和反外挂》

-17.1 游戏逻辑服务器(上)

--17.1 游戏逻辑服务器(上)

--单选题

-17.1 游戏逻辑服务器(下)

--17.1 游戏逻辑服务器(下)

-17.2 外挂与反外挂(上)

--17.2 外挂与反外挂(上)

-17.2 外挂与反外挂(下)

--17.2 外挂与反外挂(下)

--多选题

第十八章 《运行环境和运维 》

-18.1运行环境

--18.1运行环境

--多选题

-18.2物理部署

--18.2物理部署

--多选题

-18.3系统的可运维性

--18.3系统的可运维性

--多选题

-18.4运维案列分析

--18.4运维案列分析

--多选题

17.2 外挂与反外挂(上)笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。