游戏脚本什么意思 游戏脚本是什么意思?( 二 )


内存修改谈到内存修改类游戏就不得不提一下两款大名鼎鼎的软件:金山游侠和cheat engine 。
前者是国产游戏修改软件的鼻祖 , 后者可以说是游戏外挂的始作俑者了 。(LOL圈的阿呆就是利用金山游侠修改的)

对于绝大多数的单机游戏,手游,页游来说,虽然游戏服务器保存了大量的重要的参数,但由于客户端不可避免的需要进行大量的计算和资源的加载,本地内存中必定存有部分的临时变量,通过判断这些变量的变化规律和函数寻到利于自身的参数,比如伤害值一类 。继而寻找该变量的内存地址,再更久分析获得内存基址进行修改,就完成了修改某项数值的操作 。
为什么某些3A大作在仅仅出来一周不到就会被破解,因为游戏一旦下载下来 , 游戏数据就会全部存于本机之中,这样方便破解者的入手 。
DNFDNF本身在设计时采取的理念就是服务器负责发送与接收数据,不参与数值的计算 。简单来讲就是服务器只负责当前角色的货币 , 装备,材料等资源的获取与消耗情况,但不会检查过程是否合法,而角色的伤害运算则放在本地化进行 。

我们知道Internet客户/服务器模式的通讯一般采用TCP/IP通信协议,数据交换是通过IP数据包的传输来实现的,一般来说我们客户端向服务器发出某些请求,比如移动、战斗等指令都是通过封包的形式和服务器交换数据 。那么我们把本地发出消息称为SEND,意思就是发送数据 , 服务器收到我们SEND的消息后,会按照既定的程序把有关的信息反馈给客户端,比如,移动的坐标,战斗的类型 。那么我们把客户端收到服务器发来的有关消息称为RECV 。
外挂截取传输数据并加以修改
知道了这个道理,接下来我们要做的工作就是拦截分析客户端和服务器之间往来的数据 , 并且将其中一些数据进行修改,然后模拟服务器发给客户端,或者模拟客户端发送给服务器 , 这样就可以实现我们修改游戏的目的了 。
绝地求生前两者仅仅是运用了某一款外挂的功能,而在《绝地求生》中,玩家所使用的的外挂可谓是五花八门 。
基础功能:除草、无后座等
这是初级操作 , 是将本地某些特定文件中的参数进行修改即可实现 。
除草挂
进阶功能:透视,子弹瞬击,加速 , 吸空投,秒换子弹 , 秒吃药 。(原有功能加强)
这个是在原有游戏功能的基础之上进行了加强,也就是实现了DNF中的拦截传输数据并且进行修改的功能,一般是在内存中进行 。
人物透视
终极功能:自瞄 , 路飞手臂,子弹跟踪,灵魂出窍,炸飞机,空中拳击赛等非常规功能 。
路飞手臂
此类是利用了游戏代码的漏洞,是原游戏中没有的功能 。在原有代码的基础之上增加了一些本不该有的代码,是真正具有开创性的功能 。
最后想说的话外挂,一个应该存在但是不应该出现的东西 。被有心之人挖掘出来之后发扬光大,毁了一个又一个的经典游戏,不可谓不可恶 。

推荐阅读