查詞語
外掛 - 簡介
外掛是指某些人利用電腦技術專門針對某個或某些網絡游戲,通過修改網絡游戲軟件中的部分程序制作而成的程序。
QQ炫舞外掛
由于眾多玩家參與游戲,隨著游戲參與程度的加大,便出現(xiàn)了玩家修改游戲程序的現(xiàn)象,俗稱外掛(“hack tools”,又叫“cheating program”)。所謂外掛就是指某些人利用自己的電腦技術專門針對一個或多個網絡游戲,通過改變網絡游戲軟件的部分程序,制作而成的作弊程序。用戶利用外掛這種作弊手段可以輕易得到其他正常用戶無法得到、或必須通過長期運行程序才能得到的游戲效果。他外掛的表現(xiàn)有很多種,有加速器、封包等,其最顯著的特征就是為使用外掛的游戲者帶來不同于正常用戶的游戲效果,它能使使用外掛者比正常用戶奔跑快、攻擊威力加大、獲得更多的游外掛的最初意思是外部調用程序的通俗稱法,接近于Windows的API(應用程序接口)。但外掛之于網絡游戲來說,主要指那些可能對游戲的運行造成不良影響的相關程序。主要有自動工作、游戲加速、能力加強等功能戲道具等。
應該說早期圖形網絡游戲(如uo、kok)的外掛說是出于善意的,外掛機器人只是代替線上玩家進行某些重復性動作,以達到長時間在線"練功"的目的,可以使一些忙于工作的人也能夠享受到網絡游戲的樂趣,網絡游戲服務商對此也是爭只眼,閉只眼,因為他并沒有對網絡游戲規(guī)則造成太大的沖擊,外掛已經不僅僅是重復性機器人而已。如"加速器外掛"可以大幅度修改客戶端id的移動速度;"經驗外掛"可以在游戲中向服務器發(fā)送npc本身xx倍的經驗的封包,以達到迅速成長的效果;更有甚者可以對服務器端的id或物品進行屬性修改……,網絡游戲蒸蒸日上,而網絡外掛也是如火如荼,似乎網絡外掛與網絡游戲的爭端從有網絡游戲就開始了,越是玩家聚集的游戲其外掛現(xiàn)象就越是嚴重,游戲外掛軟件的多寡已經成為評價一個網絡游戲成功與否的標準。甚至有玩家戲稱:“沒有外掛的游戲是網絡垃圾”。
當然這種觀點有失偏頗,但外掛軟件的確從另一個層面反映了網絡游戲的受眾程度。一個網絡游戲,玩的人多了,外掛就會緊跟著來。龍族、魔力寶貝、天使、傳奇等等無一幸免。奇跡的外掛似乎來得更快,快到點卡還未上市,外掛卡已經開始賣了。外掛軟件給部分玩家?guī)泶碳づc興奮之后,也破壞了游戲規(guī)則,這類的外掛已經嚴重影響了游戲的公平性,致使其他玩家無法與使用外掛的玩家進行抗衡,于是越來越多的玩家離開了游戲,網絡游戲的運營商也逐步喪失了市場。因此外掛軟件損害了玩家的利益也損害了運營商的利益,從某種程度上說也破壞了網絡經濟的健康發(fā)展。
外掛一般是指在電腦運行中,一個程序通過某種事件觸發(fā)而得以掛接到另外一個程序的空間里(常用的觸 發(fā)事件有鍵盤觸發(fā),鼠標觸發(fā),消息觸發(fā)等),掛接的目的通常是想改變被掛接程序的運行方式?,F(xiàn)在的 游戲外掛就是將外掛程序掛接到游戲程序當中,通過截取并修改游戲發(fā)送到游戲服務器的數(shù)據(jù)而實現(xiàn)各種 功能的增強。
使用外掛是一種不好的行為,所以許多網絡游戲都在對外掛進行處理,盡可能地消滅外掛。
外掛 - 四種基本模塊
1。自動化管理,外掛掛機的主要功能。
2。減小(增大)游戲指令與指令之間的間隔時間,例如:快速戰(zhàn)斗,快速勞動等(非變速齒輪的直接加快游戲速度的效果)。
3。執(zhí)行一些因為玩家個人游戲信息的問題而在客戶端無法直接執(zhí)行的命令,但這個命令在客戶端卻是允許的(例如等級1就執(zhí)行等級99級才能執(zhí)行的指令)。
3。修改客戶端正常的指令發(fā)送至服務器達到一定的特殊效果,這種指令是一般客戶端不能編譯發(fā)送的,但服務器卻可正常接收執(zhí)行,如:發(fā)送GM的系統(tǒng)消息。又如:把一個在游戲中價值10的物品賣成100000,簡單的舉子,例如這個物品代號為a,原本應發(fā)送。
a。10
這個數(shù)據(jù),但通過外掛把這個數(shù)據(jù)改為
a。100000
這樣就把10的東西賣到100000。
制作外掛就是大量收集正常數(shù)據(jù)指令并觀察其規(guī)律,之后通過修改并集中這些數(shù)據(jù)指令制作出外掛的各模塊,之后編成一個軟件。
外掛 - 玩家看法
外掛含病毒
當然這種觀點有失偏頗,但外掛軟件的確從另一個層面反映了網絡游戲的受眾程度。一個網絡游戲,玩的人多了,外掛就會緊跟著來。龍族、魔力寶貝、天使、傳奇等等無一幸免。奇跡的外掛似乎來得更快,快到點卡還未上市,外掛卡已經在外掛網開始賣了。QQ炫舞中時常遇外掛,導致其他玩家興趣全無。雖然外掛軟件給部分玩家?guī)泶碳づc興奮之后,也破壞了游戲規(guī)則,這類的外掛已經嚴重影響了游戲的公平性,致使其他玩家無法與使用外掛的玩家進行抗衡,于是越來越多的玩家離開了游戲,由于不少外掛都不需購買便可使用,玩家極易獲得這網絡游戲的運營商也逐步喪失了市場。因此外掛軟件損害了玩家的利益也損害了運營商的利益,從某種程度上說也破壞了網絡經濟的健康發(fā)展。
外掛的壞處具體如下:
外掛可以讓別人在5分鐘內做到你50分鐘才能做到的事情 。這使玩家心理極不平衡。畢竟玩游戲就是玩?zhèn)€心情,心理不平衡了自然游戲也沒什么樂趣。于是為了追求心理平衡,大部分玩家都選擇用外掛,小部分玩家選擇退出。而留下的那些使用外掛的玩家都可以用5分鐘做到50分鐘的事。于是一個游戲迅速消亡,退出市場,因為所有可玩的部分,外掛已經替你玩了。掛機外掛的原理也是差不多的。當你發(fā)現(xiàn)你一整天的努力別人只需要晚上睡覺時把電腦開著就可以,心理也會極度不平衡。
那些更強力(或者說變態(tài))的外掛危害則更大。掛機外掛或加速外掛只是間接的損害了其他玩家的利益,它幫助你可以輕松的完成其他玩家需要付出巨大努力的事,它只是打亂了游戲的金融秩序,使其他玩家的游戲幣 物資 人物資料等貶值而已。而大部分變態(tài)外掛則是直接損害其他玩家利益。那些外掛基本都能使你做到其他玩家做不到的事。具體可以幫助你做到哪些其他玩家做不到的事,那就數(shù)不勝數(shù)了。
在游戲市場以網上游戲為主流之后,由于部份網上游戲玩家貪圖便利性與想要快速升級的需求,于是便有網上游戲虛擬貨幣或道具的買賣行為發(fā)生。而以中國大陸為主的外掛制作者,就開始在制作的外掛中暗藏“木馬”這類型的電腦病毒程序,以進行盜取網上游戲玩家?guī)ぬ枖?shù)據(jù),洗劫被盜帳號者的個人所有的游戲虛擬貨幣與道具,再轉賣其他玩家的方法來獲得收益的犯罪行為。
外掛使用者的反駁:
1 “是我玩游戲,不是游戲玩我,我只要享受游戲的樂趣就可以了” 這種理論其實很幼稚。享受游戲可以,但如果你在享受游戲的同時損害了他人的利益,那便不可以了。外掛都直接或間接的損害了他人的利益。網絡游戲的資料甚至可以兌現(xiàn)成現(xiàn)實的金錢來進行交易。如果你真的只是想享受游戲的樂趣,那請你玩單機游戲。你可以盡情的使用修改器來去掉游戲枯燥乏味的地方,只享受精華部分。但在網絡游戲中請不要這樣做。
2 “我實在是沒時間做那些枯燥的事,我只能用外掛” 這個理論更可笑。不多說了 舉個例子 一個乞丐說他沒有金錢去揮霍享受,所以他印假鈔來進行消費是合理的?值得同情的?恐怕不是吧。乞丐就是沒時間又想玩網絡游戲的玩家。時間就是金錢。使用外掛則幾乎等于印假鈔。所以我想說:沒時間就玩些輕松的單機游戲或在線競技游戲。不要去破壞網絡游戲。而且網絡游戲并非一定要投入大量的時間才可以玩。
3 “我想解放我的雙手,不把青春浪費在敲鍵盤上” 我只想說:玩游戲本來就是一個浪費時間 浪費青春的事。就像我們平時坐電梯,你如果為了自己能夠更快些到達目的地,而阻止別人坐電梯,這對嗎?損害別人大量的時間來節(jié)約自己一點點的時間。這只是自私的表現(xiàn)而已。
4外掛會使游戲失去正常的樂趣
外掛 - 商家看法
與私人服務器一樣,網上游戲外掛經常被游戲運營商認定為最大的敵人。但相反的就網吧業(yè)者而言,適度的提供外掛反而能增加玩家們來店消費。(例如:自動登錄、自動喝水……等)
由于網上游戲外掛做成游戲上的嚴重不平衡,使大部分網絡游戲運營商因大量玩家流失(因游戲嚴重不平衡而放棄該游戲)而造成金錢上很大的損失。大部分網絡游戲運營商都反對玩家使用外掛,并鼓勵玩家舉報外掛用戶。有網絡游戲商甚至提供網上游戲中的利益以吸引更多玩家舉報外掛用戶。一經證實有玩家使用外掛,通常以立即刪除帳號或永久停權處分甚至封鎖該玩家IP。盡管如此,外掛始終未能杜絕。所謂“道高一尺,魔高一丈”,在成功阻止玩家使用一種外掛后,通常很快便會出現(xiàn)另一個更難制止的外掛。
電腦游戲生產商暴雪娛樂 (Blizzard Entertainment)(又稱暴風雪)及維爾福軟件公司(Valve Software)曾經多次嘗試過大規(guī)模地打擊在它們可供多人聯(lián)機游玩的游戲中的外掛用戶,以永久停權處分,并取得良好的效果。在每次打擊行動之后,均有一段長時間比較少玩家于它們的游戲中使用外掛..。
但是,實際上,中國大陸某些游戲運營商并不認為外掛是他們最大的敵人。很多游戲運營商利用脫機外掛來提高他們的收益。因為使用脫機外掛的玩家可能需要24小時在線,那么雖然因此失去了一部分玩家,但是游戲運營商卻可能因為這些使用外掛掛機的玩家而獲取更大的收益。
外掛 - 輔助外掛
以輔助玩家游戲為目的的,實現(xiàn)更加便捷方便的玩游戲,主要因為現(xiàn)在的游戲操作過于復雜,過于單調,使用玩家們都想需要這么一款輔助軟件來幫助游戲。該工具不具有修改游戲數(shù)據(jù),破壞游戲功能。
輔助外掛主要通過獲取游戲句柄,通過顏色判斷或內存判斷游戲中角色的生命法力等數(shù)據(jù),通過模擬鍵盤鼠標操作,實現(xiàn)自動補給功能。還有一些例如答題,等配合游戲中的任務輔助工具?,F(xiàn)在的外掛已經是多樣化。真正的破壞游戲的外掛幾乎不存在。
外掛 - 變態(tài)外掛
變態(tài)外掛,完全破壞了游戲的平衡性。利用了游戲自身存在的受限功能。使得突破其限制。讓任何一個使用該程序的玩家都能實現(xiàn)一些游戲中正常無法實現(xiàn)在變態(tài)行為。
如在游戲中:穿墻,飛天,吸怪,無敵,加速,加倍攻擊,等嚴重破壞平衡性的。
該類型外掛通常是收費的。屬于違法國家法律的,堅決禁止的,希望廣大玩家自覺抵制!
外掛 - 技術分析
模擬鍵盤或鼠標的響應
一般使用
UINT SendInput(
UINT nInputs, // count of input events
LPINPUT pInputs, // array of input events
int cbSize// size of structure
);
API函數(shù)。第一個參數(shù)是說明第二個參數(shù)的矩陣的維數(shù)的,第二個參數(shù)包含了響應事件,這個自己填充就可以,最后是這個結構的大小,非常簡單,這是最簡單的方法模擬鍵盤鼠標了,呵呵。注意,這個函數(shù)還有個替代函數(shù):
VOID keybd_event(
BYTE bVk, // 虛擬鍵碼
BYTE bScan,// 掃描碼
DWORD dwFlags,
ULONG_PTR dwExtraInfo // 附加鍵狀態(tài)
);
與
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
);
這兩個函數(shù)非常簡單了,我想那些按鍵精靈就是用的這個吧。上面的是模擬鍵盤,下面的是模擬鼠標的。這個僅僅是模擬部分,要和游戲聯(lián)系起來我們還需要找到游戲的窗口才行,或者包含快捷鍵,就象按鍵精靈的那個激活鍵一樣,我們可以用GetWindow函數(shù)來枚舉窗口,也可以用Findwindow函數(shù)來查找制定的窗口(注意,還有一個FindWindowEx),F(xiàn)indwindowEx可以找到窗口的子窗口,比如按鈕,等什么東西。當游戲切換場景的時候我們可以用FindWindowEx來確定一些當前窗口的特征,從而判斷是否還在這個場景,方法很多了,比如可以GetWindowInfo來確定一些東西,比如當查找不到某個按鈕的時候就說明游戲場景已經切換了,等等辦法。有的游戲沒有控件在里面,這是對圖像做坐標變換的話,這種方法就要受到限制了。這就需要我們用別的辦法來輔助分析了。
至于快捷鍵我們要用動態(tài)連接庫實現(xiàn)了,里面要用到hook技術了,這個也非常簡單。大家可能都會了,其實就是一個全局的hook對象然后SetWindowHook就可以了,回調函數(shù)都是現(xiàn)成的,而且現(xiàn)在網上的例子多如牛毛。這個實現(xiàn)在外掛中已經很普遍了。如果還有誰不明白,那就去看看MSDN查找SetWindowHook就可以了。
不要低估了這個動態(tài)連接庫的作用,它可以切入所有的進程空間,也就是可以加載到所有的游戲里面哦,只要用對,你會發(fā)現(xiàn)很有用途的。這個需要你復習一下Win32編程的基礎知識了。呵呵,趕快去看書吧。
截獲消息
有些游戲的響應機制比較簡單,是基于消息的,或者用什么定時器的東西。這個時候你就可以用攔截消息來實現(xiàn)一些有趣的功能了。
我們攔截消息使用的也是hook技術,里面包括了鍵盤消息,鼠標消息,系統(tǒng)消息,日志等,別的對我們沒有什么大的用處,我們只用攔截消息的回調函數(shù)就可以了,這個不會讓我寫例子吧。其實這個和上面的一樣,都是用SetWindowHook來寫的,看看就明白了很簡單的。
至于攔截了以后做什么就是你的事情了,比如在每個定時器消息里面處理一些我們的數(shù)據(jù)判斷,或者在定時器里面在模擬一次定時器,那么有些數(shù)據(jù)就會處理兩次,呵呵。后果嘛,不一定是好事情哦,呵呵,不過如果數(shù)據(jù)計算放在客戶端的游戲就可以真的改變數(shù)據(jù)了,呵呵,試試看吧。用途還有很多,自己想也可以想出來的,呵呵。
攔截Socket包
這個技術難度要比原來的高很多。
首先我們要替換WinSock.DLL或者WinSock32.DLL,我們寫的替換函數(shù)要和原來的函數(shù)一致才行,就是說它的函數(shù)輸出什么樣的,我們也要輸出什么樣子的函數(shù),而且參數(shù),參數(shù)順序都要一樣才行,然后在我們的函數(shù)里面調用真正的WinSock32.DLL里面的函數(shù)就可以了。
首先:我們可以替換動態(tài)庫到系統(tǒng)路徑。
其次:我們應用程序啟動的時候可以加載原有的動態(tài)庫,用這個函數(shù)LoadLibary然后定位函數(shù)入口用GetProcAddress函數(shù)獲得每個真正Socket函數(shù)的入口地址。
當游戲進行的時候它會調用我們的動態(tài)庫,然后從我們的動態(tài)庫中處理完畢后才跳轉到真正動態(tài)庫的函數(shù)地址,這樣我們就可以在里面處理自己的數(shù)據(jù)了,應該是一切數(shù)據(jù)。呵呵,興奮吧,攔截了數(shù)據(jù)包我們還要分析之后才能進行正確的應答,不要以為這樣工作就完成了,還早呢。等分析完畢以后我們還要仿真應答機制來和服務器通信,一個不小心就會被封號。
分析數(shù)據(jù)才是工作量的來源呢,游戲每次升級有可能加密方式會有所改變,因此我們寫外掛的人都是亡命之徒啊,被人愚弄了還不知道。
截獲API
上面的技術如果可以靈活運用的話我們就不用截獲API函數(shù)了,其實這種技術是一種補充技術。比如我們需要截獲Socket以外的函數(shù)作為我們的用途,我們就要用這個技術了,其實我們也可以用它直接攔截在Socket中的函數(shù),這樣更直接。
外掛 - 外掛方式
1、動作式,所謂動作式,就是指用API發(fā)命令給窗口或API控制鼠標、鍵盤等,使游戲里的人物進行流動或者攻擊,最早以前的“石器”外掛就是這種方式。
2、本地修改式,這種外掛跟傳統(tǒng)上的一些游戲修改器沒有兩樣,做這種外掛在編程只需要對內存地址有一點認識并且掌握API就可以實現(xiàn),“精靈”的外掛這是這種方式寫成的,它的難點在于找到那些地址碼,找地址一般地要借助于別人的工具,有的游戲還有雙碼校驗,正正找起來會比較困難。(這種外掛,比上一種有一點點難度,但是這種外掛做起來能夠用,也是有一定難度的啦~~,這種外掛可以很快提升你對內存地址的理解及應用,是你編程技術提高的好東東)
3、木馬式,這種外掛的目的是幫外掛制作者偷到用戶的密碼(TMD,“爛”就一個字,不過要知已知彼所以還是要談一下啦~~),做這種外掛有一定的難度,需要HOOK或鍵盤監(jiān)視技術做底子,才可以完成,它的原理是先首截了用戶的帳號或密碼,然后發(fā)到指定郵箱。
4、加速式,這種外掛可以加快游戲的速度……
這幾種外掛之中,前三種可以用VB,Delphi等語言比較好實現(xiàn),后兩種則要用VC等底層支持比較好的編程工具才好實現(xiàn)。
外掛 - 對游戲的影響
單機游戲
單機游戲外掛,令很多不是游戲高手的玩家,可以很輕易完成游戲。有的單機游戲外掛則可增加游戲中對玩家有利的功能,從而令該游戲的玩法變得更容易。 但是,有些來路不明的外掛,在轉散布的過程中,被惡意植入病毒或木馬。
網上游戲
外掛會造成網上游戲的極度不公平,同時造成服務器端的垃圾數(shù)據(jù)增多(這通常是因為外掛軟件開發(fā)者沒有掌握服務器端的技術而造成的),而且由于使用外掛者大多不用在電腦前加以控制,而令玩家長期處于“掛機”狀態(tài),服務器需要使用更多資源來處理這些并非由人控制的角色,令到服務器端的工作量激增,網絡游戲運營商需要打開更多服務器來處理這批角色,而使成本增加。(都有可能令其他玩家游戲畫面或速度減慢)
一些受歡迎網上游戲有專門的外掛。一些比較少玩家的網上游戲通常都沒有專門的外掛,故此,外掛的多少可以作為一個網上游戲受歡迎程度的指針。
外掛 - 相關法律條文
雖然網上游戲外掛嚴重影響游戲的公平性,但是外掛是否會違法則要依外掛的性質,及各國法律的解釋及判決而定。
臺灣
中華民國刑法 第三六章 妨害電腦使用罪(第358~363條)
此章節(jié),泛指非法入侵,或干擾,或無故取得他人的帳號密碼……等情況,屬告訴乃論。故游戲廠商需負舉證之責,以證明玩家有使用外掛,并妨礙到其他玩家正常進行游戲。
中國大陸
《全國人大常委會關于維護互聯(lián)網安全的決定》
《關于開展對“私服”、“外掛”專項治理的通知》
以及
《互聯(lián)網文化管理暫行規(guī)定》
第十八條 互聯(lián)網文化單位提供的文化產品,使公民、法人或者其他組織的合法利益受到侵害的,互聯(lián)網文化單位應當依法承擔民事責任。
都明確表示制作和傳播外掛是違法行為。
另外,中國外掛游戲第一案(《QQ幻想》):主犯張某以非法經營罪獲刑1年零6個月。
香港
第210章第19條偽造帳目(盜竊罪條例)
此章節(jié),凡任何人為使自己或另一人獲益,或意圖使另一人遭受損失而不誠實地
毀壞、污損、隱藏或捏改任何帳目,或為會計用途而制備的紀錄或文件,或需要作為 會計用途的紀錄或文件;或在提供數(shù)據(jù)作任何用途時,提出或使用任何他知道在要項 上是或可能是誤導、虛假或欺騙的帳目或任何上述的紀錄或文件, 即屬犯罪,循公訴程序定罪后,可處監(jiān)禁10年。