查词语
拼音:
拼音:
注 音:
繁体字:
外挂 - 简介
外挂是指某些人利用电脑技术专门针对某个或某些网络游戏,通过修改网络游戏软件中的部分程序制作而成的程序。
QQ炫舞外挂
由于众多玩家参与游戏,随着游戏参与程度的加大,便出现了玩家修改游戏程序的现象,俗称外挂(“hack tools”,又叫“cheating program”)。所谓外挂就是指某些人利用自己的电脑技术专门针对一个或多个网络游戏,通过改变网络游戏软件的部分程序,制作而成的作弊程序。用户利用外挂这种作弊手段可以轻易得到其他正常用户无法得到、或必须通过长期运行程序才能得到的游戏效果。他外挂的表现有很多种,有加速器、封包等,其最显著的特征就是为使用外挂的游戏者带来不同于正常用户的游戏效果,它能使使用外挂者比正常用户奔跑快、攻击威力加大、获得更多的游外挂的最初意思是外部调用程序的通俗称法,接近于Windows的API(应用程序接口)。但外挂之于网络游戏来说,主要指那些可能对游戏的运行造成不良影响的相关程序。主要有自动工作、游戏加速、能力加强等功能戏道具等。
应该说早期图形网络游戏(如uo、kok)的外挂说是出于善意的,外挂机器人只是代替线上玩家进行某些重复性动作,以达到长时间在线"练功"的目的,可以使一些忙于工作的人也能够享受到网络游戏的乐趣,网络游戏服务商对此也是争只眼,闭只眼,因为他并没有对网络游戏规则造成太大的冲击,外挂已经不仅仅是重复性机器人而已。如"加速器外挂"可以大幅度修改客户端id的移动速度;"经验外挂"可以在游戏中向服务器发送npc本身xx倍的经验的封包,以达到迅速成长的效果;更有甚者可以对服务器端的id或物品进行属性修改……,网络游戏蒸蒸日上,而网络外挂也是如火如荼,似乎网络外挂与网络游戏的争端从有网络游戏就开始了,越是玩家聚集的游戏其外挂现象就越是严重,游戏外挂软件的多寡已经成为评价一个网络游戏成功与否的标准。甚至有玩家戏称:“没有外挂的游戏是网络垃圾”。
当然这种观点有失偏颇,但外挂软件的确从另一个层面反映了网络游戏的受众程度。一个网络游戏,玩的人多了,外挂就会紧跟着来。龙族、魔力宝贝、天使、传奇等等无一幸免。奇迹的外挂似乎来得更快,快到点卡还未上市,外挂卡已经开始卖了。外挂软件给部分玩家带来刺激与兴奋之后,也破坏了游戏规则,这类的外挂已经严重影响了游戏的公平性,致使其他玩家无法与使用外挂的玩家进行抗衡,于是越来越多的玩家离开了游戏,网络游戏的运营商也逐步丧失了市场。因此外挂软件损害了玩家的利益也损害了运营商的利益,从某种程度上说也破坏了网络经济的健康发展。
外挂一般是指在电脑运行中,一个程序通过某种事件触发而得以挂接到另外一个程序的空间里(常用的触 发事件有键盘触发,鼠标触发,消息触发等),挂接的目的通常是想改变被挂接程序的运行方式。现在的 游戏外挂就是将外挂程序挂接到游戏程序当中,通过截取并修改游戏发送到游戏服务器的数据而实现各种 功能的增强。
使用外挂是一种不好的行为,所以许多网络游戏都在对外挂进行处理,尽可能地消灭外挂。
外挂 - 四种基本模块
1。自动化管理,外挂挂机的主要功能。
2。减小(增大)游戏指令与指令之间的间隔时间,例如:快速战斗,快速劳动等(非变速齿轮的直接加快游戏速度的效果)。
3。执行一些因为玩家个人游戏信息的问题而在客户端无法直接执行的命令,但这个命令在客户端却是允许的(例如等级1就执行等级99级才能执行的指令)。
3。修改客户端正常的指令发送至服务器达到一定的特殊效果,这种指令是一般客户端不能编译发送的,但服务器却可正常接收执行,如:发送GM的系统消息。又如:把一个在游戏中价值10的物品卖成100000,简单的举子,例如这个物品代号为a,原本应发送。
a。10
这个数据,但通过外挂把这个数据改为
a。100000
这样就把10的东西卖到100000。
制作外挂就是大量收集正常数据指令并观察其规律,之后通过修改并集中这些数据指令制作出外挂的各模块,之后编成一个软件。
外挂 - 玩家看法
外挂含病毒
当然这种观点有失偏颇,但外挂软件的确从另一个层面反映了网络游戏的受众程度。一个网络游戏,玩的人多了,外挂就会紧跟着来。龙族、魔力宝贝、天使、传奇等等无一幸免。奇迹的外挂似乎来得更快,快到点卡还未上市,外挂卡已经在外挂网开始卖了。QQ炫舞中时常遇外挂,导致其他玩家兴趣全无。虽然外挂软件给部分玩家带来刺激与兴奋之后,也破坏了游戏规则,这类的外挂已经严重影响了游戏的公平性,致使其他玩家无法与使用外挂的玩家进行抗衡,于是越来越多的玩家离开了游戏,由于不少外挂都不需购买便可使用,玩家极易获得这网络游戏的运营商也逐步丧失了市场。因此外挂软件损害了玩家的利益也损害了运营商的利益,从某种程度上说也破坏了网络经济的健康发展。
外挂的坏处具体如下:
外挂可以让别人在5分钟内做到你50分钟才能做到的事情 。这使玩家心理极不平衡。毕竟玩游戏就是玩个心情,心理不平衡了自然游戏也没什么乐趣。于是为了追求心理平衡,大部分玩家都选择用外挂,小部分玩家选择退出。而留下的那些使用外挂的玩家都可以用5分钟做到50分钟的事。于是一个游戏迅速消亡,退出市场,因为所有可玩的部分,外挂已经替你玩了。挂机外挂的原理也是差不多的。当你发现你一整天的努力别人只需要晚上睡觉时把电脑开着就可以,心理也会极度不平衡。
那些更强力(或者说变态)的外挂危害则更大。挂机外挂或加速外挂只是间接的损害了其他玩家的利益,它帮助你可以轻松的完成其他玩家需要付出巨大努力的事,它只是打乱了游戏的金融秩序,使其他玩家的游戏币 物资 人物资料等贬值而已。而大部分变态外挂则是直接损害其他玩家利益。那些外挂基本都能使你做到其他玩家做不到的事。具体可以帮助你做到哪些其他玩家做不到的事,那就数不胜数了。
在游戏市场以网上游戏为主流之后,由于部份网上游戏玩家贪图便利性与想要快速升级的需求,于是便有网上游戏虚拟货币或道具的买卖行为发生。而以中国大陆为主的外挂制作者,就开始在制作的外挂中暗藏“木马”这类型的电脑病毒程序,以进行盗取网上游戏玩家帐号数据,洗劫被盗帐号者的个人所有的游戏虚拟货币与道具,再转卖其他玩家的方法来获得收益的犯罪行为。
外挂使用者的反驳:
1 “是我玩游戏,不是游戏玩我,我只要享受游戏的乐趣就可以了” 这种理论其实很幼稚。享受游戏可以,但如果你在享受游戏的同时损害了他人的利益,那便不可以了。外挂都直接或间接的损害了他人的利益。网络游戏的资料甚至可以兑现成现实的金钱来进行交易。如果你真的只是想享受游戏的乐趣,那请你玩单机游戏。你可以尽情的使用修改器来去掉游戏枯燥乏味的地方,只享受精华部分。但在网络游戏中请不要这样做。
2 “我实在是没时间做那些枯燥的事,我只能用外挂” 这个理论更可笑。不多说了 举个例子 一个乞丐说他没有金钱去挥霍享受,所以他印假钞来进行消费是合理的?值得同情的?恐怕不是吧。乞丐就是没时间又想玩网络游戏的玩家。时间就是金钱。使用外挂则几乎等于印假钞。所以我想说:没时间就玩些轻松的单机游戏或在线竞技游戏。不要去破坏网络游戏。而且网络游戏并非一定要投入大量的时间才可以玩。
3 “我想解放我的双手,不把青春浪费在敲键盘上” 我只想说:玩游戏本来就是一个浪费时间 浪费青春的事。就像我们平时坐电梯,你如果为了自己能够更快些到达目的地,而阻止别人坐电梯,这对吗?损害别人大量的时间来节约自己一点点的时间。这只是自私的表现而已。
4外挂会使游戏失去正常的乐趣
外挂 - 商家看法
与私人服务器一样,网上游戏外挂经常被游戏运营商认定为最大的敌人。但相反的就网吧业者而言,适度的提供外挂反而能增加玩家们来店消费。(例如:自动登录、自动喝水……等)
由于网上游戏外挂做成游戏上的严重不平衡,使大部分网络游戏运营商因大量玩家流失(因游戏严重不平衡而放弃该游戏)而造成金钱上很大的损失。大部分网络游戏运营商都反对玩家使用外挂,并鼓励玩家举报外挂用户。有网络游戏商甚至提供网上游戏中的利益以吸引更多玩家举报外挂用户。一经证实有玩家使用外挂,通常以立即删除帐号或永久停权处分甚至封锁该玩家IP。尽管如此,外挂始终未能杜绝。所谓“道高一尺,魔高一丈”,在成功阻止玩家使用一种外挂后,通常很快便会出现另一个更难制止的外挂。
电脑游戏生产商暴雪娱乐 (Blizzard Entertainment)(又称暴风雪)及维尔福软件公司(Valve Software)曾经多次尝试过大规模地打击在它们可供多人联机游玩的游戏中的外挂用户,以永久停权处分,并取得良好的效果。在每次打击行动之后,均有一段长时间比较少玩家于它们的游戏中使用外挂..。
但是,实际上,中国大陆某些游戏运营商并不认为外挂是他们最大的敌人。很多游戏运营商利用脱机外挂来提高他们的收益。因为使用脱机外挂的玩家可能需要24小时在线,那么虽然因此失去了一部分玩家,但是游戏运营商却可能因为这些使用外挂挂机的玩家而获取更大的收益。
外挂 - 辅助外挂
以辅助玩家游戏为目的的,实现更加便捷方便的玩游戏,主要因为现在的游戏操作过于复杂,过于单调,使用玩家们都想需要这么一款辅助软件来帮助游戏。该工具不具有修改游戏数据,破坏游戏功能。
辅助外挂主要通过获取游戏句柄,通过颜色判断或内存判断游戏中角色的生命法力等数据,通过模拟键盘鼠标操作,实现自动补给功能。还有一些例如答题,等配合游戏中的任务辅助工具。现在的外挂已经是多样化。真正的破坏游戏的外挂几乎不存在。
外挂 - 变态外挂
变态外挂,完全破坏了游戏的平衡性。利用了游戏自身存在的受限功能。使得突破其限制。让任何一个使用该程序的玩家都能实现一些游戏中正常无法实现在变态行为。
如在游戏中:穿墙,飞天,吸怪,无敌,加速,加倍攻击,等严重破坏平衡性的。
该类型外挂通常是收费的。属于违法国家法律的,坚决禁止的,希望广大玩家自觉抵制!
外挂 - 技术分析
模拟键盘或鼠标的响应
一般使用
UINT SendInput(
UINT nInputs, // count of input events
LPINPUT pInputs, // array of input events
int cbSize// size of structure
);
API函数。第一个参数是说明第二个参数的矩阵的维数的,第二个参数包含了响应事件,这个自己填充就可以,最后是这个结构的大小,非常简单,这是最简单的方法模拟键盘鼠标了,呵呵。注意,这个函数还有个替代函数:
VOID keybd_event(
BYTE bVk, // 虚拟键码
BYTE bScan,// 扫描码
DWORD dwFlags,
ULONG_PTR dwExtraInfo // 附加键状态
);
与
VOID mouse_event(
DWORD dwFlags, // motion and click options
DWORD dx, // horizontal position or change
DWORD dy,// vertical position or change
DWORD dwData,// wheel movement
ULONG_PTR dwExtraInfo// application-defined information
);
这两个函数非常简单了,我想那些按键精灵就是用的这个吧。上面的是模拟键盘,下面的是模拟鼠标的。这个仅仅是模拟部分,要和游戏联系起来我们还需要找到游戏的窗口才行,或者包含快捷键,就象按键精灵的那个激活键一样,我们可以用GetWindow函数来枚举窗口,也可以用Findwindow函数来查找制定的窗口(注意,还有一个FindWindowEx),FindwindowEx可以找到窗口的子窗口,比如按钮,等什么东西。当游戏切换场景的时候我们可以用FindWindowEx来确定一些当前窗口的特征,从而判断是否还在这个场景,方法很多了,比如可以GetWindowInfo来确定一些东西,比如当查找不到某个按钮的时候就说明游戏场景已经切换了,等等办法。有的游戏没有控件在里面,这是对图像做坐标变换的话,这种方法就要受到限制了。这就需要我们用别的办法来辅助分析了。
至于快捷键我们要用动态连接库实现了,里面要用到hook技术了,这个也非常简单。大家可能都会了,其实就是一个全局的hook对象然后SetWindowHook就可以了,回调函数都是现成的,而且现在网上的例子多如牛毛。这个实现在外挂中已经很普遍了。如果还有谁不明白,那就去看看MSDN查找SetWindowHook就可以了。
不要低估了这个动态连接库的作用,它可以切入所有的进程空间,也就是可以加载到所有的游戏里面哦,只要用对,你会发现很有用途的。这个需要你复习一下Win32编程的基础知识了。呵呵,赶快去看书吧。
截获消息
有些游戏的响应机制比较简单,是基于消息的,或者用什么定时器的东西。这个时候你就可以用拦截消息来实现一些有趣的功能了。
我们拦截消息使用的也是hook技术,里面包括了键盘消息,鼠标消息,系统消息,日志等,别的对我们没有什么大的用处,我们只用拦截消息的回调函数就可以了,这个不会让我写例子吧。其实这个和上面的一样,都是用SetWindowHook来写的,看看就明白了很简单的。
至于拦截了以后做什么就是你的事情了,比如在每个定时器消息里面处理一些我们的数据判断,或者在定时器里面在模拟一次定时器,那么有些数据就会处理两次,呵呵。后果嘛,不一定是好事情哦,呵呵,不过如果数据计算放在客户端的游戏就可以真的改变数据了,呵呵,试试看吧。用途还有很多,自己想也可以想出来的,呵呵。
拦截Socket包
这个技术难度要比原来的高很多。
首先我们要替换WinSock.DLL或者WinSock32.DLL,我们写的替换函数要和原来的函数一致才行,就是说它的函数输出什么样的,我们也要输出什么样子的函数,而且参数,参数顺序都要一样才行,然后在我们的函数里面调用真正的WinSock32.DLL里面的函数就可以了。
首先:我们可以替换动态库到系统路径。
其次:我们应用程序启动的时候可以加载原有的动态库,用这个函数LoadLibary然后定位函数入口用GetProcAddress函数获得每个真正Socket函数的入口地址。
当游戏进行的时候它会调用我们的动态库,然后从我们的动态库中处理完毕后才跳转到真正动态库的函数地址,这样我们就可以在里面处理自己的数据了,应该是一切数据。呵呵,兴奋吧,拦截了数据包我们还要分析之后才能进行正确的应答,不要以为这样工作就完成了,还早呢。等分析完毕以后我们还要仿真应答机制来和服务器通信,一个不小心就会被封号。
分析数据才是工作量的来源呢,游戏每次升级有可能加密方式会有所改变,因此我们写外挂的人都是亡命之徒啊,被人愚弄了还不知道。
截获API
上面的技术如果可以灵活运用的话我们就不用截获API函数了,其实这种技术是一种补充技术。比如我们需要截获Socket以外的函数作为我们的用途,我们就要用这个技术了,其实我们也可以用它直接拦截在Socket中的函数,这样更直接。
外挂 - 外挂方式
1、动作式,所谓动作式,就是指用API发命令给窗口或API控制鼠标、键盘等,使游戏里的人物进行流动或者攻击,最早以前的“石器”外挂就是这种方式。
2、本地修改式,这种外挂跟传统上的一些游戏修改器没有两样,做这种外挂在编程只需要对内存地址有一点认识并且掌握API就可以实现,“精灵”的外挂这是这种方式写成的,它的难点在于找到那些地址码,找地址一般地要借助于别人的工具,有的游戏还有双码校验,正正找起来会比较困难。(这种外挂,比上一种有一点点难度,但是这种外挂做起来能够用,也是有一定难度的啦~~,这种外挂可以很快提升你对内存地址的理解及应用,是你编程技术提高的好东东)
3、木马式,这种外挂的目的是帮外挂制作者偷到用户的密码(TMD,“烂”就一个字,不过要知已知彼所以还是要谈一下啦~~),做这种外挂有一定的难度,需要HOOK或键盘监视技术做底子,才可以完成,它的原理是先首截了用户的帐号或密码,然后发到指定邮箱。
4、加速式,这种外挂可以加快游戏的速度……
这几种外挂之中,前三种可以用VB,Delphi等语言比较好实现,后两种则要用VC等底层支持比较好的编程工具才好实现。
外挂 - 对游戏的影响
单机游戏
单机游戏外挂,令很多不是游戏高手的玩家,可以很轻易完成游戏。有的单机游戏外挂则可增加游戏中对玩家有利的功能,从而令该游戏的玩法变得更容易。 但是,有些来路不明的外挂,在转散布的过程中,被恶意植入病毒或木马。
网上游戏
外挂会造成网上游戏的极度不公平,同时造成服务器端的垃圾数据增多(这通常是因为外挂软件开发者没有掌握服务器端的技术而造成的),而且由于使用外挂者大多不用在电脑前加以控制,而令玩家长期处于“挂机”状态,服务器需要使用更多资源来处理这些并非由人控制的角色,令到服务器端的工作量激增,网络游戏运营商需要打开更多服务器来处理这批角色,而使成本增加。(都有可能令其他玩家游戏画面或速度减慢)
一些受欢迎网上游戏有专门的外挂。一些比较少玩家的网上游戏通常都没有专门的外挂,故此,外挂的多少可以作为一个网上游戏受欢迎程度的指针。
外挂 - 相关法律条文
虽然网上游戏外挂严重影响游戏的公平性,但是外挂是否会违法则要依外挂的性质,及各国法律的解释及判决而定。
台湾
中华民国刑法 第三六章 妨害电脑使用罪(第358~363条)
此章节,泛指非法入侵,或干扰,或无故取得他人的帐号密码……等情况,属告诉乃论。故游戏厂商需负举证之责,以证明玩家有使用外挂,并妨碍到其他玩家正常进行游戏。
中国大陆
《全国人大常委会关于维护互联网安全的决定》
《关于开展对“私服”、“外挂”专项治理的通知》
以及
《互联网文化管理暂行规定》
第十八条 互联网文化单位提供的文化产品,使公民、法人或者其他组织的合法利益受到侵害的,互联网文化单位应当依法承担民事责任。
都明确表示制作和传播外挂是违法行为。
另外,中国外挂游戏第一案(《QQ幻想》):主犯张某以非法经营罪获刑1年零6个月。
香港
第210章第19条伪造帐目(盗窃罪条例)
此章节,凡任何人为使自己或另一人获益,或意图使另一人遭受损失而不诚实地
毁坏、污损、隐藏或捏改任何帐目,或为会计用途而制备的纪录或文件,或需要作为 会计用途的纪录或文件;或在提供数据作任何用途时,提出或使用任何他知道在要项 上是或可能是误导、虚假或欺骗的帐目或任何上述的纪录或文件, 即属犯罪,循公诉程序定罪后,可处监禁10年。