(外挂系列四篇之一)外挂程序的起源和机理
作者:寿步    本站发布时间:2005-8-21 15:39:10

                                      外挂程序的起源和机理
                           ――网络游戏外挂程序法律政策问题研究系列之一

                                  寿  步  黄毅峰  张蓥锋  朱  凌

【编者按:本文首发于《电子知识产权》2005年第8期。文中注释略。】

【摘要】外挂程序的出现给我国网络游戏产业的健康发展带来了极大的冲击和困扰。本文介绍了网络游戏的运行原理和外挂产业的形成,讨论了外挂程序的起源、机理、流行原因、传播途径和挂机的各种形式。本文的讨论是进一步制定法律政策解决外挂问题的基础分析工作的一部分。

【关键词】外挂程序  起源  机理  定义

一.网络游戏运行原理和外挂产业的形成

1.网络游戏运行环境
(1)网络游戏运行需要的硬件
•服务器:是性能、功能都较强的一种计算机。一般由网络游戏运营商提供。
•交换机、防火墙等网络设备:是服务器接入互联网所必需的设备。
•网络数据中心(IDC):指服务器及网络设备摆放的物理环境。
•骨干网传输:这是网络游戏必需的数据传输通道。
    •用户个人电脑及上网设备:这是用户玩网络游戏必备的硬件条件。
(2)网络游戏运行需要的软件
•游戏软件的服务器端程序:这部分程序由运营商控制,在服务器中运行。
•游戏软件的客户端程序:这部分程序由用户控制,在用户个人电脑中运行。
•操作系统:服务器及用户个人电脑运行所必备的相关操作系统。

2.网络游戏运行原理
一套网络游戏(以下简称“网游”)程序通常由两部分组成:一是服务器端程序,二是客户端程序。两部分程序都是对源程序编译后得到的可执行的目标程序。服务器端程序由网游运营商掌握并运行。网络游戏运营商在开始运营游戏之前,需要进行一系列准备工作,如购买服务器(硬件)、配置服务器所用的操作系统、准备网络带宽等等,并在此基础上安装服务器端程序,将服务器在电信企业托管。客户端程序由运营商通过网络或传统发行渠道向玩家推广。玩家得到客户端程序并将其安装在自己的个人电脑硬盘中。玩家只要具备上网的环境(在家上网或者在网吧上网)并运行客户端程序,就可以使客户端程序与服务器端程序进行数据传输通信。整个网络游戏的运行环境就此建成。(如图1所示)
正是因为有了运算功能强大的服务器,使得网络游戏能够实现游戏内角色的之间的对话和互动;正是因为有了遍布全球的互联网,使得网络游戏能够吸引数已亿计的广大玩家共同参与,带来激烈竞争的无穷魅力。玩家就在网络游戏世界的虚拟竞争中得到愉悦、获得满足。

3.外挂产业的形成
网游在我国的迅猛发展过程中,面临外挂程序(以下简称“外挂”)的重大挑战。网游业内人士将外挂称为我国网游的“痼疾”,玩家们则将外挂称为网游中的“海洛因”。外挂每天给网游运营商造成数以万计的损失。 但使用外挂的玩家则大有人在。根据瑞星公司发布的《网络游戏安全市场调查报告》,超过73%的玩家正在使用或者将要使用“外挂”。 外挂用户群体既然如此庞大,自然有人将外挂作为赚钱工具,收费外挂因此出现。规模稍大一点的外挂开发商,一年赚几百万元的情况很常见。
外挂在我国不仅泛滥而且已经产业化。外挂产业分工严密,开发商、运营商、代理商各司其职,形成了遍布全国的销售网络,其规模不亚于网游的正规运营商。全国各地都有销售网点,甚至出口到东南亚地区和日本、韩国。“外挂产业”中的外挂开发商之间竞争激烈,他们竞相开发“功能更强大”的外挂以吸引网游玩家。一个网游开始运营,各种外挂就相继问世。激烈角逐之后,功能弱小、服务较差、信誉不高的外挂就会被淘汰,最终在市场上只留下几个主流外挂。比较而言,国外网游基本没有外挂,外挂的使用率也很低。外挂在我国的普遍使用已经严重影响了我国玩家的声誉,导致很多外国的游戏封闭了我国的IP地址,禁止我国玩家登录。
因此,应当在充分了解外挂机理的基础上制定相应的法律政策,解决外挂问题。

二.外挂的起源
单机版游戏的“骨灰级玩家”(即高级玩家)通常熟悉“游戏修改器”。这类软件可以分为两大类:(1)内存数据修改器;(2)硬盘数据修改器。
游戏程序运行时,所用到的数据都会即时调入内存。通常一些数据会一直存贮在内存中的固定区域,直到游戏结束。例如,一个游戏人物的生命值,无论在游戏中如何变化,它总是记录在内存的某一个位置。因此,内存数据修改器只要修改内存中那个具体位置的数据值,就可以直接反映为游戏人物生命值的变化。如果它锁定某个游戏人物的生命值(即一旦该数值由于游戏情况而变动,游戏修改器立刻将它改回到原来数值),那么游戏就不会再改变该角色的生命值,该角色将处于不死状态。因此,游戏人物也就不用害怕任何强大怪物了。当然,如果玩家需要锁定某个数值,那么游戏修改器在游戏结束之前就必须一直驻留内存,处于运行状态。如果只需修改某个数值(而不是锁定),那么游戏修改器在数值修改后即可退出内存。
单机版游戏都会提供“保存”功能,使用户在退出游戏后再次进入游戏时能够恢复上次退出时的状态。为了实现这一功能,游戏程序会将相关数据以存档文件的形式存在硬盘上。在玩家正常退出游戏时,游戏人物的生命值会存入存档文件中。如果了修改存档文件中的数据,当重新进入游戏时,游戏程序就会以这些已被修改过的数据为新的初始数据开始游戏(如果游戏中没有数据验证过程的话)。因此,硬盘数据修改器总是在游戏存档之后运行,运行完即可退出。由于存档文件是永久保存的,所以游戏数据修改器的开发人员就可以通过分析存档文件中存贮数据的格式及其意义,为游戏量身定做开发硬盘数据修改器。
网游的出现基本上封杀了硬盘数据修改器的生存空间。因为网游的记录游戏人物状态的数据是存贮在服务器端的,用户的电脑(客户端)一般没有这些数据文件。但是,内存数据修改器在网游情况下仍有一定的作用:修改器修改内存中的数据后,由游戏客户端程序将这些已经修改的数据传送到服务器端,接下来服务器端程序会根据客户端的请求修改存储在服务器端的游戏人物状态数据。这些情况并不为网游的服务器端所发现,因为尽管网游的主要游戏逻辑放在服务器端,但是还是有少部分逻辑(计算和判断)放在客户端进行。如果所有的逻辑都需要从客户端传给服务器端并等待回音,那么,一方面会加大服务器的负担并增加运营商在服务器硬件方面的成本投入,另一方面也会因为传输的数据量过大而阻塞网络导致游戏的实时反应速度下降。

三.外挂的机理
单机版游戏的修改器为网游外挂的发展提供了技术基础。一部分外挂的工作原理与内存数据修改器的原理相似,区别在于,这种外挂是截获网游客户端发送的数据包并作一定的修改,或者干脆冒充正常的游戏客户端发送数据包给服务器,以达到欺骗服务器、实现一定功能的目的。
例如,在网游《仙境传说》中,克瑞米夹子用作“瞬间移动”,人物只要装备这个夹子就能瞬间移动,但是每次使用要扣除一定的魔法值。这种扣除魔法值的操作在客户端是这样完成的:每次玩家使用了瞬间移动技能,客户端就会向服务器端发出带有魔法值变化情况的数据包,服务器端收到后就会修改人物的数据状态。但如果不发出这样一个数据包,瞬间移动功能依然可以使用,因为使用这一功能的前提只是判断人物是否装备了克瑞米夹子,而这个判断也是在客户端完成的。所以,只要修改这个带有扣除魔法值信息的数据包,就能在不扣除魔法值的情况下照样进行瞬间移动。
能够实现“游戏本身所不允许的功能”的大多数外挂本质上都截获、修改或伪造客户端向服务器端发出的数据包,并使这些数据包与网游程序逻辑上本来应当发出的数据包的数据值不符。这类外挂因为明显违反了游戏本来预设的逻辑和规则,所以属于“恶性外挂”或“作弊型”程序。
与此相比,另一些外挂的性质就不那么清晰,如自动练功型外挂和模拟点击型外挂。有些网游需要玩家不停地重复做一些繁琐而又无聊的事情来增加角色的“经验值”。例如,《龙族》玩家的工作等级越高,就可以配备越好的备。但是增加等级却是需要做重复枯燥的机械劳动。如果你想做法师用的杖,首先需要做的基本工作就是砍树。砍树的方法很简单,就是在一棵大树前不停的点鼠标,每10000的经验升一级。因此玩家要在大树前不停的点击鼠标。这种机械性事情就可以通过下面两种外挂来解决:
(1)自动练功型外挂。这是独立于网游客户端程序的外挂。这种外挂自身连接到游戏服务器端,像游戏客户端那样与服务器端交互作用。它一般不提供华丽的游戏界面,仅仅提供一些简单的图形轮廓,甚至每个人物就是一个点。它们遵循游戏定义的限制性规定,发送的数据包也完全等同于处于统一状态下游戏客户端会发送的数据包。有些此类外挂技术含量很高。例如,有些网游的客户端本身不支持寻找路径,但外挂却能找出最短(最佳)路径,使用户能最快到达目的地;这些外挂往往具有一定的智能,能够根据设定寻找并攻击怪物和捡取怪物掉落的物品,实现攻击和捡物完全自动化;有些高级的练级外挂还提供脚本功能,使用户能够像编写程序一样指定外挂的行为。这种外挂本质上是在模拟网游客户端程序。
(2)模拟点击(鼠标和键盘动作)型外挂。这是依赖于网游客户端程序的外挂。这种外挂可以让玩家摆脱点击鼠标和敲打键盘的反复无聊的重复工作。它可以自动帮助玩家按照指定的位置序列“点击”鼠标或在特定的时间发出键盘消息。它只是与客户端程序的图形界面进行单向联系,并不能获得图形界面的反馈,所以它不能像自动练功型外挂那样对当前游戏状态作出判断,进而调整动作。因此,只要网络发生延迟,那么接下来的点击都将乱套。但它相对简单。这种外挂本质上是模拟玩家的点击动作。

四.外挂的流行原因
(1)避免重复乏味的练级过程
单机时代的角色扮演类型游戏(RPG)就需要角色不断提升自己的等级,然后向头目怪物(BOSS)挑战,但是由于单机类游戏的剧情通常比较完整,所以练级只是游戏的一部分,不会令人有太枯燥的感觉,实在烦了还可以利用游戏修改器。现在的网游大部分又称为网络RPG游戏,角色也需要不断地升级。角色在网游中可做的事情很大程度上受其等级制约,所以玩家就努力争取成为更高等级的角色。因此,在网游里练级的成分更高。而反复的练级是一件非常无聊的事情,就是在不大的范围内,反复追着怪物打,久而久之难免厌烦。一些自动练级外挂就可以把玩家从无穷无尽的练级过程中解放出来,是他们能够尽情体会游戏中人与人的交互性,享受游戏中更有乐趣的部分。
(2)增强游戏的功能
增加的功能如自动捡物、自动补血补魔,查看别人的装备、体力状况。在游戏中,玩家要从一处到另一处通常都要自己点鼠标走过去,但外挂可以帮助玩家瞬间移动或者自动寻找道路、自己走过去。这个功能特别是在一些迷宫地图中特别受玩家欢迎。
(3)玩家的从众效应
在一批外挂狂热支持者的带头下,在外挂问题上持中立立场甚至持反对立场的一些玩家也开始使用外挂。
(4)虚拟物与人民币的交易
一款网游一旦火爆起来,虚拟物(虚拟货币和虚拟装备)、充值卡、人民币就会相互挂钩,在玩家之间出现大量的交易行为。外挂能够让虚拟世界里的虚拟角色脱贫,也能让现实中的玩家致富。使用外挂可以以多种方式获得大量虚拟货币或者虚拟装备。因此,许多玩家都愿意用现实货币(人民币或充值卡)去换取虚拟货币和虚拟装备。例如,《仙境传说》的虚拟货币ROZ与人民币的“汇率”一般维持在80万比1左右。在游戏初期,天使发夹是非常稀有的物品,游戏论坛网站上竟有香港玩家愿意出1000港元购买这个虚拟装备。可见,虚拟世界中的虚拟物能够为富有的虚拟角色的主人玩家带来丰厚的现实利益。许多玩家因此想方设法取得各种虚拟物,使具有复制虚拟物和强行进行虚拟物交易功能的外挂应运而生。

五.外挂的传播途径
(1)网上提供免费下载。利用这种方式传播外挂的很少,因为外挂传播者大都要通过传播外挂获取非法钱财。
(2)网上宣传、网下销售。通过网页显示汇款方式,收款后通过电子邮件发送软件。很多外挂传播者制作网页,并到各大门户网站或其他相关网站的论坛中去宣传该网页链接,通过网页上载明的汇款方式收取用户钱款。由于此方式面对用户的风险小且传播速度较快,故外挂传播者大都通过该种方式。
(3)传统渠道销售。架设中央认证服务器,通过发展各地经销商的形式正式销售外挂。这种传播途径和传统的渠道销售方式相同,一旦传播开来,危害非常严重。由于此类方式所需要的人力物力比较大,所以为少数外挂传播者采用。针对《传奇》游戏的《极风传奇外挂》就是采用的这种传播方式。

六.网游挂机的四种形式
目前,网游挂机主要有以下四种形式:玩家用家中电脑挂机、玩家在网吧包机挂机、让他人代理挂机和团挂。前三种比较常见。团挂则是近两年新兴的挂机方式。虽然团挂方式不一定会普及,但它是比较有特色的。
团挂是指多个有网游挂机需要的玩家联合起来找服务提供人租用一台较高配置的计算机,用以同时挂大量网游帐号,相关费用大家平均分担,从而大幅降低挂机成本。
对挂机者而言,团挂带来的主要好处是:
(1)节省总的用电量。多人公用一台较高配置的电脑同时挂很多帐号比这些人各自开计算机挂自己的帐号用电量要少的多。
(2)降低计算机硬件的折旧速度。24小时连续不停的开着计算机会加速计算机的折旧,容易导致计算机机箱内灰尘聚集加速,如果在高温季节,在没有空调的环境下,会损害计算机的使用寿命。
(3)可以在某些方面提高挂机的安全性。安全性分为物理安全性和逻辑安全性。从物理安全性方面来看,24小时挂机很可能引发火灾等意外事件,而租用放在他人处的电脑来挂机就可以消除这方面的担忧。另一方面,进行团挂的计算机一般不用来做其他事情,这些就降低了感染计算机病毒和木马程序的可能性。此外,统一安装网络防火墙和病毒防火墙并及时更新可以进一步降低黑客和病毒的入侵。这样就提高了逻辑安全性。
但是,团挂的缺陷也非常明显。具体如下:
(1)虚拟装备的安全性并不能得到保证。如果运行众多外挂的计算机没有被很好的保护,那么,一旦有人侵入,损失将是非常严重的。这个特点与团挂的好处中的第3点是对立统一的。到底是优点还是缺点主要取决于对于这个联合租用的挂机平台有没有一个良好的控制措施,以保证其物理安全性和逻辑安全性。
(2)网游娱乐的自由度大打折扣。进行网游的目的就是为了娱乐,如果租用第三方的计算机进行长时间挂机,那么,玩家进行游戏的随意性就受很大的制约。
玩家们一般认为,团挂不易普及。因为大多玩家都会顾忌其辛苦获得的虚拟装备,不愿把帐号放到一个由多个玩家共享的平台上,在自己无法控制的环境下,冒着虚拟装备被盗的风险去挂机。



( 说明:文中的观点或信息与本网站主办单位无关)