本文不做外挂技术的具体实现; 本文不做过检测技术的教学; 本文所使用的图片均来自互联网;

外挂的制作和使用:属于破坏计算机信息系统罪,违反国家规定,对计算机信息系统功能进行删除、修改、增加、干扰,造成计算机信息系统不能正常运行,后果严重的,处五年以下有期徒刑或者拘役;后果特别严重的,处五年以上有期徒刑。

外挂,一个招人恨的存在;外挂,一个破坏了众多人游戏体验的存在;外挂,一个让开发者使出浑身招数却也无能为力的存在。外挂,就像是一个自古存在的东西,就像是有白必有黑,有阴必有阳,而无法磨灭的存在。

打开网易新闻 查看更多图片

程序工作原理

为何外挂如此的难以对付,为何外挂可以轻而易举的泛滥,为何外挂可以在短短数小时内就为一个游戏开发好,我们下面就来好好聊聊。

在开始聊外挂之前,我们先科普一些计算机方面的知识,只有做到知己知彼才能百战不殆。如果你学过相关的编程知识、编译原理、计算机系统或汇编知识的话,可以酌情跳过本段内容。

打开网易新闻 查看更多图片

众所周知,一个游戏都是由一行行代码所实现的,不管你用脚本语言也好,还是用C/C++语言也罢,你永远都无法不给你的游戏设计很多参数,而这些参数在编程的世界里我们称为“变量”。

打开网易新闻 查看更多图片

而“变量”则会有静态变量和动态变量之分,顾名思义,静态变量就是静止的,它这个变量一直存在,而动态的就是会用的时候再创建,不用的时候则销毁。放在内存上就是,静态变量从你打开程序到关闭,它都在那个内存上的位置,而动态的则是在创建的时候出现在内存上的一个位置,不用的时候则销毁。

打开网易新闻 查看更多图片

既然都是一些基础参数了,那么这些参数多半是用静态变量存储的,那么就意味着,这些变量是在一开始就放入内存的。而且,程序也不是什么玄学,执行的话也都是一行行执行的,我们结合上一些编译的原理,这里就会有这么一个结论:

所有在写程序时候定义好的变量将会按照一定的固定顺序在打开程序的时候创建。

打开网易新闻 查看更多图片

如果你用过CE,如果你仔细观察每次你要修改的变量之间的地址中间的差的时候你会发现其实每次都是一样的,如果你还学过汇编你就会明白,其实“变量”是按照固定的顺序存储在一个独立的数据栈中。

打开网易新闻 查看更多图片

其实,这里我们就解开了外挂的一层面纱,为什么外挂能一直用。因为里边的变量的地址的相对位置都是不变的,只要我知道了后坐力的数据存在了哪里,那不管每次打开程序的时候系统从哪个内存的位置分配一段空间给程序,外挂都能直接找到这个变量的位置,然后修改它。

打开网易新闻 查看更多图片

如果上边的话你没有看懂也没事儿,这里我们举一个生活中的例子,看完后相信你很快就能够理解了。

相信大家上学的时候都读过课文,我们可以做个这样的类比:我们读的这篇课文就是一个程序,而我们教室里的每个人则是一个个内存空间。那么好了,课文的内容是不会变的,上头每一个字都是一个静态变量,因为他在印书的时候就已经固定好了位置。

打开网易新闻 查看更多图片

那么这个时候谁读课文都是一样的,而且我们也知道书上的文字是按照什么格式印刷的,比如第一句“今天天气很好”,而这里的 “好”如果是一个“参数”的话,要是我想要更改,那么别人读完了,我再读一遍的时候,我就可以改成“今天天气很坏”。

打开网易新闻 查看更多图片

这样,这个“参数”是不是就被更改了,而事实上外挂基本的工作原理也是这样的,要不就是获取指定的变量做修改,要不就是获取变量做运算然后显示出来,用作别的用处。

打开网易新闻 查看更多图片

这就是外挂

一旦开发者设计的参数被修改了,那么运算的结果也就发生了改变,比如后坐力被改成了0,那么执行后坐力的代码将后坐力的数值读入进来后,零乘以任何数都为零,那么无后座的现象就随之出现了。

打开网易新闻 查看更多图片

说到这里,我想很多人应该明白这其中的道理了,那么可能有人会问,既然这样,那么开发者也可以像做外挂一样通过外部程序盯住这些参数,如果有人修改的话,那么就可以证实是外挂了。

打开网易新闻 查看更多图片

这确实是个好想法,先不说可不可行,但要明白,世界上没有绝对的安全,所谓道高一尺魔高一丈,你封禁了一种办法,那他们还有别的方法可以实现外挂。这就是一场矛与盾是战争,你把一个“弱点”封住了,那么他们会去寻找另一个“弱点”。

打开网易新闻 查看更多图片

这些“弱点”可能来自于软件本身,也可能来自于系统的设计甚至也有可能是出自硬件逻辑。总之,你无法完全的防住他们,不管是什么游戏,就算是最冷门的战略类游戏都有挂,就更别提火爆的吃鸡或是别的。

打开网易新闻 查看更多图片

而且,这些外挂并不仅仅针对一款游戏,一个引擎,基本上所有的游戏引擎开发的游戏都有外挂,而且外挂实现的种类也是五花八门,所以现有的反外挂手段更多的是减少这类现象,如果想要杜绝的话,也许只能在完全云端处理——玩家只能获得云端传来的画面并通过外设进行操作的时代来几乎杜绝了。

打开网易新闻 查看更多图片

我为什么说几乎杜绝呢?因为,有一种外挂很恶心,那就是宏,像我说的,就算仅仅外设控制游戏的操作在本地剩下的运算都在云端运行的时候,宏,这种外挂因为是依托于外设设备,就算脱离了游戏也可以自己运行,所以,你懂得。

打开网易新闻 查看更多图片

这就是一场旷日持久的战争,来自多方的博弈。而显而易见的是,这场战争将永远不会有结果,最终苦了的也只是想好好玩游戏的玩家。

打开网易新闻 查看更多图片

想了解更多游戏相关资讯,欢迎下载小黑盒及Max+APP哦!

小黑盒下载地址:

小黑盒,一款专为steam游戏玩家服务的专业应用。

Max+下载地址:

「链接」