資源描述:
《游戲外掛教程》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、在幾年前我看到別人玩網(wǎng)絡(luò)游戲用上了外掛,做為程序員的我心里實(shí)在是不爽,想搞清楚這到底是怎么回事。就拿了一些來(lái)研究,小有心得,拿出來(lái)與大家共享,外掛無(wú)非就是分幾種罷了(依制作難度):1、動(dòng)作式,所謂動(dòng)作式,就是指用API發(fā)命令給窗口或API控制鼠標(biāo)、鍵盤等,使游戲里的人物進(jìn)行流動(dòng)或者攻擊,最早以前的“石器”外掛就是這種方式。(這種外掛完全是垃圾,TMD,只要會(huì)一點(diǎn)點(diǎn)API的人都知道該怎么做,不過(guò)這種外掛也是入門級(jí)的好東東,雖然不能提高你的戰(zhàn)斗力,但是可以提高你的士氣^_^)2、本地修改式,這種外掛跟傳統(tǒng)上
2、的一些游戲修改器沒(méi)有兩樣,做這種外掛在編程只需要對(duì)內(nèi)存地址有一點(diǎn)認(rèn)識(shí)并且掌握API就可以實(shí)現(xiàn),“精靈”的外掛這是這種方式寫成的,它的難點(diǎn)在于找到那些地址碼,找地址一般地要借助于別人的工具,有的游戲還有雙碼校驗(yàn),正正找起來(lái)會(huì)比較困難。(這種外掛,比上一種有一點(diǎn)點(diǎn)難度,但是這種外掛做起來(lái)能夠用,也是有一定難度的啦~~,這種外掛可以很快提升你對(duì)內(nèi)存地址的理解及應(yīng)用,是你編程技術(shù)提高的好東東)3、木馬式,這種外掛的目的是幫外掛制作者偷到用戶的密碼(TMD,“爛”就一個(gè)字,不過(guò)要知已知彼所以還是要談一下啦~~),
3、做這種外掛有一定的難度,需要HOOK或鍵盤監(jiān)視技術(shù)做底子,才可以完成,它的原理是先首截了用戶的帳號(hào)或密碼,然后發(fā)到指定郵箱。(我以前寫過(guò)這樣的東東,但是從來(lái)沒(méi)有用過(guò),我知道這種東東很不道德,所以以后千萬(wàn)別用呀!~~)4、加速式,這種外掛可以加快游戲的速度……(對(duì)不起大家,這種東東我沒(méi)有實(shí)際做過(guò),所以不能妄自評(píng),慚愧~~)5、封包式,這種外掛是高難度外掛,需要有很強(qiáng)的編程功力才可以寫得出來(lái)。它的原理是先截取封包,后修改,再轉(zhuǎn)發(fā)(Kao,說(shuō)起來(lái)簡(jiǎn)單,你做一個(gè)試試~~~~)。這種外掛適用于大多數(shù)網(wǎng)絡(luò)游戲,像W
4、PE及一些網(wǎng)絡(luò)游戲外掛都是用這種方式寫成的,編寫這種外掛需要apihook技術(shù),winsock技術(shù) 這幾種外掛之中,前三種可以用VB,DELPHI等語(yǔ)言比較好實(shí)現(xiàn),后兩種則要用VC等底層支持比較好的編程工具才好實(shí)現(xiàn)?,F(xiàn)在就依次(制作難度)由淺到深談?wù)勎覍?duì)外掛制作的一些認(rèn)識(shí)吧~~~~首先,先來(lái)談一下動(dòng)作式的外掛,這也是我第一次寫外掛時(shí)做的最簡(jiǎn)單的一種。記得還在“石器”時(shí)代的時(shí)候,我看到別人掛著一種軟件(外掛)人物就可以四外游走(當(dāng)時(shí)我還不知道外掛怎么回事^_^),于是找了這種軟件過(guò)來(lái)研究(拿來(lái)后才聽(tīng)別人
5、說(shuō)這叫外掛),發(fā)現(xiàn)這種東東其實(shí)實(shí)現(xiàn)起來(lái)并不難,仔佃看其實(shí)人物的行走無(wú)非就是鼠標(biāo)在不同的地方點(diǎn)來(lái)點(diǎn)去而已,看后就有實(shí)現(xiàn)這功能的沖動(dòng),隨后跑到MSDN上看了一些資料,發(fā)現(xiàn)這種實(shí)現(xiàn)這幾個(gè)功能,只需要幾個(gè)簡(jiǎn)單的API函數(shù)就可以搞定:VB從零開(kāi)始編外掛(一)----------------------------------------------------------------------------------------------------------------------------------
6、----------------------需要VBAPI函數(shù):FindWindow???????????????←尋找窗口列表中第一個(gè)符合指定條件的頂級(jí)窗口GetWindowThreadProcessId???←獲取與指定窗口關(guān)聯(lián)在一起的一個(gè)進(jìn)程和線程標(biāo)識(shí)符----------------------------------------------------------------------------------------------------------------------------
7、----------------------------相關(guān)API聲明:FindWindow↓PrivateDeclareFunctionFindWindowLib"user32"Alias"FindWindowA"(ByVallpClassNameAsString,ByVallpWindowNameAsString)AsLongGetWindowThreadProcessId↓PrivateDeclareFunctionGetWindowThreadProcessIdLib"user32"(ByVal
8、hwndAsLong,lpdwProcessIdAsLong)AsLong--------------------------------------------------------------------------------------------------------------------------------------------------------需要的控件:Label、Timer----------------