網(wǎng)站制作NEWS
游戲封包怎么制作
傳奇可以作。一個(gè)封包,包含有如下元素,也就是組成部分吧!
1.需要傳輸?shù)臄?shù)據(jù)(主要的和最重要的部分就是這個(gè),外掛修改的也是這部分)
2.序列號(每個(gè)封包必須有自己的序列號,以便到了接收端后可以按照序列號重新組裝)
3.IP地址,一般都有這一部分,通過網(wǎng)絡(luò)解析才知道封包從那里來,到那里去!
當(dāng)然封包的內(nèi)容不止這些,但是,我們了解這些就夠了。
注意:在傳輸中,所有數(shù)據(jù)都是16位或者32位的,所以截獲的封包看起來總是怪怪的!
面給一個(gè)封包的基本格式,給大家看看(下面是基本封包格式,如果您可以背下來他們的格式,這對您修改游戲是非常有用的!強(qiáng)烈建議您看一些關(guān)于封包格式的文章,您就可以很容易地把封包看清楚,很快知道哪個(gè)才是真正的數(shù)據(jù)):
Source Port (16) | Destination Port (16)
Sequence Number (32)
Acknowledgment Number (32)
Data Offset(4) | Reserved (6)|UGR|ACK|PSH|RST|SYN|FIN|Window(16)
Checksum (16) | Urgent Pointer (16)
Options (0 or more 32 bit words + padding)
DATA
...
稍微注意以下,您可以看到,每行的長度都是32字節(jié)!
大家看到了嗎?data就是數(shù)據(jù),那是最關(guān)鍵的部分,我們使用WPE修改的就是那一部分!
關(guān)于封包,是網(wǎng)絡(luò)方面的知識,要寫出來,估計(jì)可以出一本書了,這里不再詳細(xì)講解,如果您要詳細(xì)學(xué)習(xí)請您參考相關(guān)資料。
TCP/IP協(xié)議簡介
TCP/IP協(xié)議簡介:
TCP(transport control protocol)中文意思就是:傳輸控制協(xié)議。
大家都知道,現(xiàn)在的電腦具有非常多的型號,生產(chǎn)電腦的廠家很多,他們的電腦在各種技術(shù)上都不完全相同,甚至都有一套自己的標(biāo)準(zhǔn)和控制方法,電腦進(jìn)入互聯(lián)網(wǎng)后,文件傳輸是必不可少的事件。那么,如何在各種不同標(biāo)準(zhǔn)的電腦之間傳輸文件呢?這就需要一套大家共同遵守的標(biāo)準(zhǔn),這個(gè)標(biāo)準(zhǔn)就是TCP協(xié)議,
TCP協(xié)議工作原理
首先是對需要傳輸?shù)膬?nèi)容打包,包的大小有其自己處理方法,這個(gè)我們不用擔(dān)心,我們最關(guān)心的,就是這個(gè)包是什么東西,這個(gè)包,就是封包。大家一定在很多地方聽說過封包,以為是什么神秘莫測的東西,實(shí)際上,Intelnet上的電腦每天都在處理封包,TCP協(xié)議就是將這些包一個(gè)一個(gè)地編上號,然后按照一定的次序向通過IP協(xié)議已經(jīng)建立了連接的另一太電腦把封包發(fā)送過去,另一臺電腦收到這些有編號的封包后,按照編號把封包組裝起來,就得到了需要的文件了!這里大家看到了,TCP協(xié)議和IP協(xié)議是不同的協(xié)議,但是他們協(xié)同工作,所以大多數(shù)場合下,直接稱為TCP/IP協(xié)議。
順便講一下UDP協(xié)議,如果在游戲修改中遇到了,也許能用上,UDP(用戶數(shù)據(jù)報(bào)協(xié)議)是非連接服務(wù),不能保證信息以某種特定的方式到達(dá),事實(shí)上,數(shù)據(jù)可能丟失、被復(fù)制、甚至到達(dá)序列外的地方,但是它有自己獨(dú)特的一面,通常用于一些流技術(shù),例如:經(jīng)由Internet的視頻與音頻,通過UDP協(xié)議傳送到計(jì)算機(jī)中,通過重新編排而用于播放視頻或音頻。在外掛控制視頻或音頻方面可以用到!
通過前面的減少,我們已經(jīng)知道,TCP協(xié)議和IP協(xié)議不是相同的協(xié)議,IP協(xié)議是屬于網(wǎng)絡(luò)層的協(xié)議,負(fù)責(zé)網(wǎng)絡(luò)連接,主要是尋找地址用,建立連接使用,我們完全可以不管,我們最關(guān)心的是TCP協(xié)議!
為了說明封包的重要性,這里介紹一下交換技術(shù),交換技術(shù),從這里你可以明白,所有網(wǎng)絡(luò)游戲都一定回使用封包,交換技術(shù)有3種方式:電路交換、分組交換、混合交換。電路交換:是建立連接前先建立一個(gè)完整的電路連接,特點(diǎn)是傳輸速度快,穩(wěn)定性能好;缺點(diǎn)是:電路有限,能同時(shí)提供的服務(wù)小,除國家某些基于軍事目的的網(wǎng)絡(luò)可能是這種網(wǎng)絡(luò)外,我們一般的網(wǎng)絡(luò)是不會(huì)使用這種連接的。分組交換:是報(bào)文交換,在接收者和發(fā)送者之間不建立實(shí)際通路,當(dāng)發(fā)送方發(fā)送時(shí),先保存在一個(gè)交換局內(nèi),然后由交換局傳送到下一個(gè)交換局,一步一步,知道文件被傳送到目的地,這就好比是郵局,我們有封信要傳送,我們是發(fā)送者,但是我們不直接發(fā)到接收者,而是交給郵局,郵局又交給下一個(gè)郵局,知道信件到達(dá)接收者手里,原理一樣,但是有所不同的是:為了防止造成交換局?jǐn)?shù)據(jù)堵塞,他們嚴(yán)格限制文件單位大小,這樣,一個(gè)小包一個(gè)小包地發(fā)送,每個(gè)包都寫好了編號、來源、目的地,這樣,這些小包就可以一站一站地走向目的地,然后按照編號組裝起來,就形成了完整的文件,這里的小包就是我們經(jīng)常提到的:封包!,這是為了實(shí)現(xiàn)良好交換,并滿足更多的人同時(shí)使用同一條路線的需要而設(shè)計(jì)的,我們的Intelnet傳送文件的一中常見方式,這也就決定了,所有經(jīng)過網(wǎng)絡(luò)的文件都是以封包的形式傳送的,游戲也概沒能外。所以,所有游戲都是以封包形式在服務(wù)器端和客戶端傳送數(shù)據(jù)的,因此,封包是非常重要的,如果能夠?qū)Ψ獍M(jìn)行操作,就可以完成對游戲的修改!功能強(qiáng)大的外掛,就是通過修改封包來完成對游戲的修改的!如果您要學(xué)習(xí)外掛制作,建議首先從WPE學(xué)起,它既簡單又容易學(xué)習(xí),而且功能很強(qiáng)大,不需要掌握任何編程語言,是學(xué)習(xí)制作外掛的捷徑!
封閉測試
封閉測試,顧名思義,就是要封閉起來,測試我們需要的數(shù)據(jù),這個(gè)封閉包括兩個(gè)方面:環(huán)境封閉和數(shù)據(jù)封閉,環(huán)境封閉是為了封閉干擾數(shù)據(jù),而數(shù)據(jù)封閉是為了確定數(shù)據(jù)更有效·!
封閉測試的方法如下,首先,在條件允許的前提下,我們在游戲中,找一個(gè)一般不會(huì)有其他人到的地方去,最好那個(gè)地方也密友怪,這樣的環(huán)境一般是一些沒有實(shí)際功能的小房間,在這些小房間里面就沒有其他玩家干擾了,所以,我們利用WPE得到的封包就沒有了其他玩家的干擾,如果在有其他玩家的環(huán)境中,會(huì)出現(xiàn)很多數(shù)據(jù)傳輸,例如他動(dòng)一下,就會(huì)發(fā)一個(gè)封包給你,如果他有其他動(dòng)作,會(huì)發(fā)送一大隊(duì)封包給你,你是很難分析的!所以一定要封閉環(huán)境,這個(gè)是非常重要的!
例如,在傳奇中,我們可以到屠夫店里面去,通常那里不會(huì)有很多人,一般情況下是沒有人的,如果到其他的格斗房間,基本是不會(huì)有人來了,在這里進(jìn)行封包的數(shù)據(jù)截取和分析是相當(dāng)好的,我們不能脫離游戲攔截封包所以我們要最大限度地得到好的有實(shí)際意義的封包,所以,我們要盡量減少其他因素對封包數(shù)據(jù)的干擾,減少我們分析封包的麻煩!
多重隨機(jī)標(biāo)簽