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

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

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

下一节:18.1运行环境

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

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

我给出了一些具体的一个

一些建议第一不信任客户端的请求

上行包的所有数据

都要进行合法性的一个检查

例如它要操作包裹

你包裹总共只有两百个

它发个格子是三百

那肯定就要越界

那这个

检查一下ID

例如ID

是否在合法范围内之类的

这些我们读一下进行检查

然后越界保护数组

我的数组只有一百个那么大

但是我们肯定不能让它越界

越界就会把下面东西给写乱了

指针保护防溢出

防溢出怎么说呢

很危险的一点就是

有符号和无符号之间的一个转换

例如果我们用的是

如果我们用的是有无符号的数据类型

例如uint类型

但是它(客户端或外挂)发了给-1上来

-1转到无符号的uint,就会变为42亿的一个数值,

这点是非常的危险了

然后不信任度累积

累积这个什么意思呢

这个回到我刚才说的走路的移动那个上面去

移动例如说可能有的外挂可能是这样

它猜到你的限制范围是五米

我假设五米

你都认为这个误差都可接受的

就迁就它

它就可能是这样

我这一次我就让它故意快四点九米

再快4.9m

那么这样加起来就十米

我们就可以一点把它累计起来看看

就是第一次你(客户端)误差4.9米,ok

(服务器)就放过你(不要求拉扯回来)

但是我把它记忆记录下来

但是你下一次的误差

和上一次的误差加起来,

那么就会累积

那就要打到一定的范围

我就要把你拉扯

拉到拉回我的位置

你我就认为你是用了外挂

用了外挂进行瞬移

这样第二点就是提高外挂的作弊成本

我想到了的是这样

首先

第一就是服务器负责计算

然后下发一些奖励

什么之类的

这些所有东西都有服务器下发

隐藏中间数据

就是尽量不把中间数据暴露给客户端

那么外挂就没办法破解到客户端

或者破解到你的东西来进行

或者获取到你的数值

第二就是现在很常用的就是图片答题机制

利用一下验证码之类我们直接用产生图片

能不能直接说把这个数据给下发下去

还是

例如2136

这样它就直接读

读到你的消息就可以了

但是你如果把图片给下发下去

那他就需要费工夫进行那个OCR识别(光学字符识别)

ocr、cbr

这样就会将加大它的成本

然后动态代码动态代码是怎样呢

有一些关键的操作

我们就

我们就经常变

但是客户端不能

你没办法正常出客户端的包吧

是吧

不可能正常更新客户端吧

那我们就是皆可代码,由服务器下发

通过动态链接库

或者脚本的方式

在更新的或者在登录的时候

把这块给下发下去

那么客户端收到这块动态代码之后

你再去运行就用这块动态代码来代替

或者这个新的动态链接库来代替

这样就会

那么搞的那个外挂猜测不到怎么搞

这个动态代码

然后就是

对于外挂的试探性请求包

进行记录和惩罚什么呢

因为其实你一个初验功能

除非你们公司就有代码泄露

否则外挂初验功能

肯定要进行破解和尝试

它可能尝试一下我发个A上去看怎么样

要是发个B上去怎么样可能是吧

可能

这个发到A上去有服务器挡住了

发个B上去服务器挡住了

可能是一起试

可能会进行多次尝试

那么在服务器那边

认为客户端是不可能发到A上来的

那你发了A上来那是否

其实这一次收件告警了

这批是不是就是外挂了

可能我就可以启动一个封号机制

这个时候就可以进行记录和打击了

就这样就可以

让外挂在试探的时候

我们就能发现它在试探

我们就会把它封掉

这样

这样

最后一点就是限制外挂的获利收入

第一点就是我刚才说的先扣钱

我们先扣了钱

然后你的外挂有什么

如果你的外挂把我服务器搞的出问题了

我讲那样的话

我先扣了你的钱

然后你是外挂

你再来投诉我退我们再来核实

你是不是外挂先是吧

然后操作失败防止多退

然后这个防止多退这一块呢

有时候我们甚至这样做

我们宁愿不退钱,就打一条日志

认为基本上这种不可能失败的

但是那个不可能失败了

我们可以认为就不退了

我们就达成一致

以后如果有这个我们定期看看预计的数量

如果有我们再核实一下

是什么原因可能是不是哪里有漏洞这样

然后上限限制上限告警

例如就是这个就是

你预计获得的金钱不能超过多少

如果超过了多少

我们就不给了

我们就记录下来先我们先记录下来

以后再告警

然后我们再来核实

是不是哪里出了异常这样第三

最后一点就是主要是就是策划层面的

就是大部分获得的物品都是绑定的

绑定的不能交易出去

只有部分只有少部分可以

少部分的活动可以获得到

获得到那些可以交易了的金钱

或者是金钱道具

那么那么这个少部分的活动

我们经常变我们这个今天是A活动

可能下个版本可能是B活动

在3G这个东西来客户端都不用更新

直接更新服务器就可以了

或者升级更新配置就可以了

这样就会我们这个活动就一直在变

但是这样每次变

都要迫使这个外挂遭受重大的修改

那么它就

每次变动他都做些修改

那么它就入不敷出

它就会可以打击到它

那这个点是最难的

这点打击打金工作信息最难了

而在游戏侧

我们能做的底线是有限

因为游戏策我们根本没办法判断得了

你这个号是不是一个

是不是一个打金工作室的号很难判断的了

所以我们一般的从IP和Mac地址

先记一下 一台机器

但是这个很多时候

都会被他们破解到了

然后操作频率相近

因为很多打击工作室不停的发包

在做同样的事情

我们就限制一下它的操作频率

其实最关键最关键

最关键的一点

公司的安全部门

这个只能说是通关安全部门

不能在游戏里面做了

起码我们目前来说

都是交给安全部门去做

就是通过数据挖掘的方式

它们识别出你这个游戏的

一些玩家的行为模式

看看哪些是外挂了一个行为模式

它就会定量把这批号弄出来

即使发现发生之后

当天就马上就把它这批号给封了

这样就会

就会这样

就要在通过这种方式来打

这个打金工作室

讲完之后

我才继续拓展一下其实它云游戏

其实最大的不同就是

它其实所有东西都在服务器端

它只是通过客户端

你可以可能可以认为客户端

只是一个播放器客户端要有一个播放器

你在里面操作

通过操作上把键盘

键盘的指令

你可以认为你这客户端你即使有个屏幕

以及有点很长很长的的鼠标线

和键盘线连到这

这里通过这里操作

你可以认为就这样

你所有东西都在这里

通过编码

视频编码的方式

通过网络下发下回去

它就像直播

你直接看到

云游戏其实就这样

现在这个5G的推行

其实这个云游戏

也为这个云游戏奠定了一定的一个基础

但是目前其实国内国外都有很多厂商

进行展开了一下这方面的一个研究了

包括腾讯

阿里和网易都有了

那么我提醒我在这里想说的是

最好的一点就是云游戏它没有外挂

例如这个客户端1

客户端二客户端三是吧

其实有一种技术叫做P2P吧

P2P就是客户端

可能在座可能你可能不知道吧

估计像我这个年纪以前在宿舍联网打魔兽

打那个的时候

当然我八零后的年纪了

可能的目前都是局域网

就是就是有一台主机

有一台电脑

就是当起这个服务器的一个角色了嘛

所以它其实就是局域网

就连起来就P2P点对点

这连起来

他们就我们就直接打了

所有东西都其实都没有一个说中央服务器

就像那种甚至一个上层服务器的

方式来承载它了

所以其实云游戏

它甚至说P2P都可以

P2P

游戏程序设计课程列表:

第一章 《游戏开发导论》

-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 外挂与反外挂(下)笔记与讨论

也许你还感兴趣的课程:

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