導航:首頁 > 編程大全 > 抓包工具winsock

抓包工具winsock

發布時間:2024-08-27 08:58:12

1. WPE抓包發包,怎麼用

WPE抓包發包的用法:

  1. 打開wpe程序,然後執行游戲。

2.進入游戲後再按[Alt+Tab]跳出遊戲。

3.到wpe的窗口,這時你點選"SELECT GAME"裡面,會有一大串的東西。選最下面的那個,就是你正在玩的那個游戲。 (他上面所顯示的字並不是窗口名字,不同於普通修改器,所以別因為找不到名字就以為程序壞了)

4.再進入游戲,找個要測試的目標。

5. 接下來按下停止鍵,你會看到wpe中有著一堆數字.,前面還有"R"或"S",其中的"R"就是receive。也就是你從遠程主機接收到的訊息,這個部分並不是我們所要注意的。因為資料是存在遠程主機的,所以我們傳(也就是"S"-Sent)什麼過去遠程主機才是最重要的,這時候拿出你的紙筆,把那Sent的信息都抄下來。

2. wpe抓包工具

製作游戲外掛,更改封包 WPE pro
WPE pro部分功能讓我們來看一下網路游戲的工作原理:
網路游戲是這樣工作的:
1.由伺服器記錄保存所有用戶資料,所有信息的修改都是伺服器完成的
2.伺服器接受客戶機的請求發送必要的信息給客戶機,以使玩家正常游戲
3.伺服器接收客戶機的信息反饋,並根據反饋信息,對游戲帳號作相應修改
從以上簡單的介紹,我們可以看出,網路游戲可以認為是這樣工作的:
由客戶機電腦操作伺服器器電腦,對游戲帳號信息進行修改!
要操縱本地的電腦是很容易的,因此,要顯示所有已經從伺服器得到的信息是完全可能的,這就可以做到以下功能:
1、游戲沒有黑夜,因為地圖在本地,全部顯示是完全可以做到的!
2.自動加血是沒有問題的,因為血的多少也已經發到本地電腦,完全可以用外掛檢測到,並在必要時加血,加血本身只是一個滑鼠動作,完全可以交給外掛去做。類似的,自動加魔法,自動加氣,自動回城、自動打怪、自動采礦賣錢然後再自動回去采、自動練級等等都可以做到!
3.賣東西的過程很經典:你賣東西時,實際就是告訴伺服器電腦,你已經將一個東西賣了,真實過程是:你向伺服器發送了一個具體物品的封包,如果這個封包正確,伺服器就向你的游戲帳號加一定數量的錢,然後再反饋給你一些信息,假如封包不正確,自然就賣不到錢,因此,我們可以利用外掛不斷向伺服器發送封包,只要正確,那麼伺服器就認為我們再賣東西,即使我們什麼都沒有賣,伺服器也不斷給我們錢,這就是所謂的刷錢。如果封包沒有加密,那麼這個功能是非常容易實現的,如果封包加密,其實同樣可以做到,只是要解密而已,稍微復雜些而已!類似的,就可以實現買東西用假錢(不用錢)。攻擊、防禦增加,原理都是類似的!
以上的講解,大家應該明白,其實外掛是每個游戲都可能出現的,只要有人想做,那麼就沒有做不出外掛的游戲!除非這個游戲不能玩!!

WPE的使用:本站提供資料供大家學習使用,有了成果也拿出來分享啊 :)

明天你來自己做外掛 隨著網路游戲的日益火爆,很多玩家都投身到游戲中。目前很多玩家都依賴於一些游戲的外掛程序來進行游戲。那麼做一個游戲的外掛程序是否是一件很困難的事呢?回答是"否",誠然編寫一些程序是需要一些基本知識的,所以我們想以最簡單的語言來給你講授編寫外掛程序的一些技巧,一些方法,並提供給你一些基本的輔助工具,即使你是一個菜鳥,看了我們的教程,並技巧地使用我們提供給你的工具,你完全能夠編寫出一個完全屬於你自己的外掛。在本教程內,我們提供了金庸群俠傳,以及網路三國這兩個游戲的修改實際例子,因為這兩款游戲都是對封包進行過加密運算的,如果你對這兩個游戲的修改有了一定的了解後,相信你在其他游戲中也能非常好地做出屬於自己的外掛。我們提供了金庸打增援20個NPC和網路三國在PK中自動吃葯,自動發鏢這兩個實際的例子,讓你上手更容易。我們也會本教程內附上這兩個軟體以提供給你使用和學習。我們會在教程內講授給你怎麼去破解封包的加密演算法,怎麼利用我們提供給你工具來偽造和發送封包。本教程除了文字教程外,我們還會提供金庸群俠和三國的外掛程序,另外還提供6個外掛製作工具,以供你使用。希望在以後的游戲中,每一個玩家都能夠在游戲中成長起來,不但游戲玩的出色,修改游戲也同樣出色,做一個真正的游戲DIY。 要想在修改游戲中做到百戰百勝,是需要相當豐富的計算機知識的。有很多計算機高手就是從玩游戲,修改游戲中,逐步對計算機產生濃厚的興趣,逐步成長起來的。不要在羨慕別人能夠做到的,因為別人能夠做的你也能夠!我相信你們看了本教程後,會對游戲有一個全新的認識,呵呵,因為我是個好老師!(別拿雞蛋砸我呀,救命啊!#¥%……*) 不過要想從修改游戲中學到知識,增加自己的計算機水平,可不能只是*修改游戲呀! 要知道,修改游戲只是一個驗證你對你所了解的某些計算機知識的理解程度的場所,只能給你一些發現問題、解決問題的機會,只能起到幫助你提高學習計算機的興趣的作用,而決不是學習計算機的捷徑。

--------------------------------------------------------------------------------
一:什麼叫外掛?
現在的網路游戲多是基於Internet上客戶/伺服器模式,服務端程序運行在游戲伺服器上,游戲的設計者在其中創造一個龐大的游戲空間,各地的玩家可以通過運行客戶端程序同時登錄到游戲中。簡單地說,網路游戲實際上就是由游戲開發商提供一個游戲環境,而玩家們就是在這個環境中相對自由和開放地進行游戲操作。那麼既然在網路游戲中有了伺服器這個概念,我們以前傳統的修改游戲方法就顯得無能為力了。記得我們在單機版的游戲中,隨心所欲地通過內存搜索來修改角色的各種屬性,這在網路游戲中就沒有任何用處了。因為我們在網路游戲中所扮演角色的各種屬性及各種重要資料都存放在伺服器上,在我們自己機器上(客戶端)只是顯示角色的狀態,所以通過修改客戶端內存里有關角色的各種屬性是不切實際的。那麼是否我們就沒有辦法在網路游戲中達到我們修改的目的?回答是"否"。我們知道Internet客戶/伺服器模式的通訊一般採用TCP/IP通信協議,數據交換是通過IP數據包的傳輸來實現的,一般來說我們客戶端向伺服器發出某些請求,比如移動、戰斗等指令都是通過封包的形式和伺服器交換數據。那麼我們把本地發出消息稱為SEND,意思就是發送數據,伺服器收到我們SEND的消息後,會按照既定的程序把有關的信息反饋給客戶端,比如,移動的坐標,戰斗的類型。那麼我們把客戶端收到伺服器發來的有關消息稱為RECV。知道了這個道理,接下來我們要做的工作就是分析客戶端和伺服器之間往來的數據(也就是封包),這樣我們就可以提取到對我們有用的數據進行修改,然後模擬伺服器發給客戶端,或者模擬客戶端發送給伺服器,這樣就可以實現我們修改游戲的目的了。 目前除了修改游戲封包來實現修改游戲的目的,我們也可以修改客戶端的有關程序來達到我們的要求。我們知道目前各個伺服器的運算能力是有限的,特別在游戲中,游戲伺服器要計算游戲中所有玩家的狀況幾乎是不可能的,所以有一些運算還是要依*我們客戶端來完成,這樣又給了我們修改游戲提供了一些便利。比如我們可以通過將客戶端程序脫殼來發現一些程序的判斷分支,通過跟蹤調試我們可以把一些對我們不利的判斷去掉,以此來滿足我們修改游戲的需求。 在下幾個章節中,我們將給大家講述封包的概念,和修改跟蹤客戶端的有關知識。大家准備好了嗎?

游戲數據格式和存儲:

在進行我們的工作之前,我們需要掌握一些關於計算機中儲存數據方式的知識和游戲中儲存數據的特點。本章節是提供給菜鳥級的玩家看的,如果你是高手就可以跳過了,呵呵! 如果,你想成為無堅不摧的劍客,那麼,這些東西就會花掉你一些時間;如果,你只想作個江湖的遊客的話,那麼這些東西,了解與否無關緊要。是作劍客,還是作遊客,你選擇吧!

現在我們開始!首先,你要知道游戲中儲存數據的幾種格式,這幾種格式是:位元組(BYTE)、字(WORD)和雙字(DOUBLE WORD),或者說是8位、16位和32位儲存方式。位元組也就是8位方式能儲存0~255的數字;字或說是16位儲存方式能儲存0~65535的數;雙字即32位方式能儲存0~4294967295的數。

為何要了解這些知識呢?在游戲中各種參數的最大值是不同的,有些可能100左右就夠了,比如,金庸群俠傳中的角色的等級、隨機遇敵個數等等。而有些卻需要大於255甚至大於65535,象金庸群俠傳中角色的金錢值可達到數百萬。所以,在游戲中各種不同的數據的類型是不一樣的。在我們修改游戲時需要尋找准備修改的數據的封包,在這種時候,正確判斷數據的類型是迅速找到正確地址的重要條件。

在計算機中數據以位元組為基本的儲存單位,每個位元組被賦予一個編號,以確定各自的位置。這個編號我們就稱為地址。

在需要用到字或雙字時,計算機用連續的兩個位元組來組成一個字,連續的兩個字組成一個雙字。而一個字或雙字的地址就是它們的低位位元組的地址。 現在我們常用的Windows 9x操作系統中,地址是用一個32位的二進制數表示的。而在平時我們用到內存地址時,總是用一個8位的16進制數來表示它。

二進制和十六進制又是怎樣一回事呢?

簡單說來,二進制數就是一種只有0和1兩個數碼,每滿2則進一位的計數進位法。同樣,16進制就是每滿十六就進一位的計數進位法。16進制有0--F十六個數字,它為表示十到十五的數字採用了A、B、C、D、E、F六個數字,它們和十進制的對應關系是:A對應於10,B對應於11,C對應於12,D對應於13,E對應於14,F對應於15。而且,16進制數和二進制數間有一個簡單的對應關系,那就是;四位二進制數相當於一位16進制數。比如,一個四位的二進制數1111就相當於16進制的F,1010就相當於A。

了解這些基礎知識對修改游戲有著很大的幫助,下面我就要談到這個問題。由於在計算機中數據是以二進制的方式儲存的,同時16進制數和二進制間的轉換關系十分簡單,所以大部分的修改工具在顯示計算機中的數據時會顯示16進制的代碼,而且在你修改時也需要輸入16進制的數字。你清楚了吧?

在游戲中看到的數據可都是十進制的,在要尋找並修改參數的值時,可以使用Windows提供的計算器來進行十進制和16進制的換算,我們可以在開始菜單里的程序組中的附件中找到它。

現在要了解的知識也差不多了!不過,有個問題在游戲修改中是需要注意的。在計算機中數據的儲存方式一般是低位數儲存在低位位元組,高位數儲存在高位位元組。比如,十進制數41715轉換為16進制的數為A2F3,但在計算機中這個數被存為F3A2。

看了以上內容大家對數據的存貯和數據的對應關系都了解了嗎? 好了,接下來我們要告訴大家在游戲中,封包到底是怎麼一回事了,來!大家把袖口捲起來,讓我們來幹活吧!

二:什麼是封包?
怎麼截獲一個游戲的封包?怎麼去檢查游戲伺服器的ip地址和埠號? Internet用戶使用的各種信息服務,其通訊的信息最終均可以歸結為以IP包為單位的信息傳送,IP包除了包括要傳送的數據信息外,還包含有信息要發送到的目的IP地址、信息發送的源IP地址、以及一些相關的控制信息。當一台路由器收到一個IP數據包時,它將根據數據包中的目的IP地址項查找路由表,根據查找的結果將此IP數據包送往對應埠。下一台IP路由器收到此數據包後繼續轉發,直至發到目的地。路由器之間可以通過路由協議來進行路由信息的交換,從而更新路由表。

那麼我們所關心的內容只是IP包中的數據信息,我們可以使用許多監聽網路的工具來截獲客戶端與伺服器之間的交換數據,下面就向你介紹其中的一種工具:WPE。

WPE使用方法:執行WPE會有下列幾項功能可選擇:

SELECT GAME選擇目前在記憶體中您想攔截的程式,您只需雙擊該程式名稱即可。

TRACE追蹤功能。用來追蹤擷取程式送收的封包。WPE必須先完成點選欲追蹤的程式名稱,才可以使用此項目。 按下Play鍵開始擷取程式收送的封包。您可以隨時按下 | | 暫停追蹤,想繼續時請再按下 | | 。按下正方形可以停止擷取封包並且顯示所有已擷取封包內容。若您沒按下正方形停止鍵,追蹤的動作將依照OPTION里的設定值自動停止。如果您沒有擷取到資料,試試將OPTION里調整為Winsock Version 2。WPE 及 Trainers 是設定在顯示至少16 bits 顏色下才可執行。

FILTER過濾功能。用來分析所擷取到的封包,並且予以修改。

SEND PACKET送出封包功能。能夠讓您送出假造的封包。

TRAINER MAKER製作修改器。

OPTIONS設定功能。讓您調整WPE的一些設定值。

FILTER的詳細教學

- 當FILTER在啟動狀態時 ,ON的按鈕會呈現紅色。- 當您啟動FILTER時,您隨時可以關閉這個視窗。FILTER將會保留在原來的狀態,直到您再按一次 on / off 鈕。- 只有FILTER啟用鈕在OFF的狀態下,才可以勾選Filter前的方框來編輯修改。- 當您想編輯某個Filter,只要雙擊該Filter的名字即可。

NORMAL MODE:

範例:

當您在 Street Fighter Online 〔快打旋風線上版〕游戲中,您使用了兩次火球而且擊中了對方,這時您會擷取到以下的封包:SEND-> 0000 08 14 21 06 01 04 SEND-> 0000 02 09 87 00 67 FF A4 AA 11 22 00 00 00 00 SEND-> 0000 03 84 11 09 11 09 SEND-> 0000 0A 09 C1 10 00 00 FF 52 44 SEND-> 0000 0A 09 C1 10 00 00 66 52 44

您的第一個火球讓對方減了16滴〔16 = 10h〕的生命值,而您觀察到第4跟第5個封包的位置4有10h的值出現,應該就是這里了。

您觀察10h前的0A 09 C1在兩個封包中都沒改變,可見得這3個數值是發出火球的關鍵。

因此您將0A 09 C1 10填在搜尋列〔SEARCH〕,然後在修改列〔MODIFY〕的位置4填上FF。如此一來,當您再度發出火球時,FF會取代之前的10,也就是攻擊力為255的火球了!

ADVANCED MODE:

範例: 當您在一個游戲中,您不想要用真實姓名,您想用修改過的假名傳送給對方。在您使用TRACE後,您會發現有些封包裡面有您的名字出現。假設您的名字是Shadow,換算成16進位則是〔53 68 61 64 6F 77〕;而您打算用moon〔6D 6F 6F 6E 20 20〕來取代他。1) SEND-> 0000 08 14 21 06 01 042) SEND-> 0000 01 06 99 53 68 61 64 6F 77 00 01 05 3) SEND-> 0000 03 84 11 09 11 094) SEND-> 0000 0A 09 C1 10 00 53 68 61 64 6F 77 00 11 5) SEND-> 0000 0A 09 C1 10 00 00 66 52 44

但是您仔細看,您的名字在每個封包中並不是出現在相同的位置上

- 在第2個封包里,名字是出現在第4個位置上- 在第4個封包里,名字是出現在第6個位置上

在這種情況下,您就需要使用ADVANCED MODE- 您在搜尋列〔SEARCH〕填上:53 68 61 64 6F 77 〔請務必從位置1開始填〕- 您想要從原來名字Shadow的第一個字母開始置換新名字,因此您要選擇從數值被發現的位置開始替代連續數值〔from the position of the chain found〕。- 現在,在修改列〔MODIFY〕000的位置填上:6D 6F 6F 6E 20 20 〔此為相對應位置,也就是從原來搜尋欄的+001位置開始遞換〕- 如果您想從封包的第一個位置就修改數值,請選擇〔from the beginning of the packet〕

了解一點TCP/IP協議常識的人都知道,互聯網是將信息數據打包之後再傳送出去的。每個數據包分為頭部信息和數據信息兩部分。頭部信息包括數據包的發送地址和到達地址等。數據信息包括我們在游戲中相關操作的各項信息。那麼在做截獲封包的過程之前我們先要知道游戲伺服器的IP地址和埠號等各種信息,實際上最簡單的是看看我們游戲目錄下,是否有一個SERVER.INI的配置文件,這個文件里你可以查看到個游戲伺服器的IP地址,比如金庸群俠傳就是如此,那麼除了這個我們還可以在DOS下使用NETSTAT這個命令,

NETSTAT命令的功能是顯示網路連接、路由表和網路介面信息,可以讓用戶得知目前都有哪些網路連接正在運作。或者你可以使用木馬客星等工具來查看網路連接。工具是很多的,看你喜歡用哪一種了。

NETSTAT命令的一般格式為:NETSTAT [選項]

命令中各選項的含義如下:-a 顯示所有socket,包括正在監聽的。-c 每隔1秒就重新顯示一遍,直到用戶中斷它。-i 顯示所有網路介面的信息。-n 以網路IP地址代替名稱,顯示出網路連接情形。-r 顯示核心路由表,格式同"route -e"。-t 顯示TCP協議的連接情況。-u 顯示UDP協議的連接情況。-v 顯示正在進行的工作。

--------------------------------------------------------------------------------
三:怎麼來分析我們截獲的封包?
首先我們將WPE截獲的封包保存為文本文件,然後打開它,這時會看到如下的數據(這里我們以金庸群俠傳里PK店小二客戶端發送的數據為例來講解):

第一個文件:SEND-> 0000 E6 56 0D 22 7E 6B E4 17 13 13 12 13 12 13 67 1BSEND-> 0010 17 12 DD 34 12 12 12 12 17 12 0E 12 12 12 9BSEND-> 0000 E6 56 1E F1 29 06 17 12 3B 0E 17 1ASEND-> 0000 E6 56 1B C0 68 12 12 12 5ASEND-> 0000 E6 56 02 C8 13 C9 7E 6B E4 17 10 35 27 13 12 12SEND-> 0000 E6 56 17 C9 12

第二個文件:SEND-> 0000 83 33 68 47 1B 0E 81 72 76 76 77 76 77 76 02 7ESEND-> 0010 72 77 07 1C 77 77 77 77 72 77 72 77 77 77 6DSEND-> 0000 83 33 7B 94 4C 63 72 77 5E 6B 72 F3SEND-> 0000 83 33 7E A5 21 77 77 77 3FSEND-> 0000 83 33 67 AD 76 CF 1B 0E 81 72 75 50 42 76 77 77SEND-> 0000 83 33 72 AC 77

我們發現兩次PK店小二的數據格式一樣,但是內容卻不相同,我們是PK的同一個NPC,為什麼會不同呢? 原來金庸群俠傳的封包是經過了加密運算才在網路上傳輸的,那麼我們面臨的問題就是如何將密文解密成明文再分析了。

因為一般的數據包加密都是異或運算,所以這里先講一下什麼是異或。 簡單的說,異或就是"相同為0,不同為1"(這是針對二進制按位來講的),舉個例子,0001和0010異或,我們按位對比,得到異或結果是0011,計算的方法是:0001的第4位為0,0010的第4位為0,它們相同,則異或結果的第4位按照"相同為0,不同為1"的原則得到0,0001的第3位為0,0010的第3位為0,則異或結果的第3位得到0,0001的第2位為0,0010的第2位為1,則異或結果的第2位得到1,0001的第1位為1,0010的第1位為0,則異或結果的第1位得到1,組合起來就是0011。異或運算今後會遇到很多,大家可以先熟悉熟悉,熟練了對分析很有幫助的。

下面我們繼續看看上面的兩個文件,按照常理,數據包的數據不會全部都有值的,游戲開發時會預留一些位元組空間來便於日後的擴充,也就是說數據包里會存在一些"00"的位元組,觀察上面的文件,我們會發現文件一里很多"12",文件二里很多"77",那麼這是不是代表我們說的"00"呢?推理到這里,我們就開始行動吧!

我們把文件一與"12"異或,文件二與"77"異或,當然用手算很費事,我們使用"M2M 1.0 加密封包分析工具"來計算就方便多了。得到下面的結果:

第一個文件:1 SEND-> 0000 F4 44 1F 30 6C 79 F6 05 01 01 00 01 00 01 75 09SEND-> 0010 05 00 CF 26 00 00 00 00 05 00 1C 00 00 00 892 SEND-> 0000 F4 44 0C E3 3B 13 05 00 29 1C 05 083 SEND-> 0000 F4 44 09 D2 7A 00 00 00 484 SEND-> 0000 F4 44 10 DA 01 DB 6C 79 F6 05 02 27 35 01 00 005 SEND-> 0000 F4 44 05 DB 00

第二個文件:1 SEND-> 0000 F4 44 1F 30 6C 79 F6 05 01 01 00 01 00 01 75 09SEND-> 0010 05 00 70 6B 00 00 00 00 05 00 05 00 00 00 1A2 SEND-> 0000 F4 44 0C E3 3B 13 05 00 29 1C 05 843 SEND-> 0000 F4 44 09 D2 56 00 00 00 484 SEND-> 0000 F4 44 10 DA 01 B8 6C 79 F6 05 02 27 35 01 00 005 SEND-> 0000 F4 44 05 DB 00

哈,這一下兩個文件大部分都一樣啦,說明我們的推理是正確的,上面就是我們需要的明文!

接下來就是搞清楚一些關鍵的位元組所代表的含義,這就需要截獲大量的數據來分析。

首先我們會發現每個數據包都是"F4 44"開頭,第3個位元組是變化的,但是變化很有規律。我們來看看各個包的長度,發現什麼沒有?對了,第3個位元組就是包的長度! 通過截獲大量的數據包,我們判斷第4個位元組代表指令,也就是說客戶端告訴伺服器進行的是什麼操作。例如向伺服器請求戰斗指令為"30",戰斗中移動指令為"D4"等。 接下來,我們就需要分析一下上面第一個包"F4 44 1F 30 6C 79 F6 05 01 01 00 01 00 01 75 09 05 00 CF 26 00 00 00 00 05 00 1C 00 00 00 89",在這個包里包含什麼信息呢?應該有通知伺服器你PK的哪個NPC吧,我們就先來找找這個店小二的代碼在什麼地方。 我們再PK一個小嘍羅(就是大理客棧外的那個咯):SEND-> 0000 F4 44 1F 30 D4 75 F6 05 01 01 00 01 00 01 75 09SEND-> 0010 05 00 8A 19 00 00 00 00 11 00 02 00 00 00 C0 我們根據常理分析,游戲里的NPC種類雖然不會超過65535(FFFF),但開發時不會把自己限制在字的范圍,那樣不利於游戲的擴充,所以我們在雙字里看看。通過"店小二"和"小嘍羅"兩個包的對比,我們把目標放在"6C 79 F6 05"和"CF 26 00 00"上。(對比一下很容易的,但你不能太遲鈍咯,呵呵)我們再看看後面的包,在後面的包里應該還會出現NPC的代碼,比如移動的包,游戲允許觀戰,伺服器必然需要知道NPC的移動坐標,再廣播給觀戰的其他玩家。在後面第4個包"SEND-> 0000 F4 44 10 DA 01 DB 6C 79 F6 05 02 27 35 01 00 00"里我們又看到了"6C 79 F6 05",初步斷定店小二的代碼就是它了!(這分析里邊包含了很多工作的,大家可以用WPE截下數據來自己分析分析)

第一個包的分析暫時就到這里(裡面還有的信息我們暫時不需要完全清楚了)

我們看看第4個包"SEND-> 0000 F4 44 10 DA 01 DB 6C 79 F6 05 02 27 35 01 00 00",再截獲PK黃狗的包,(狗會出來2隻哦)看看包的格式:SEND-> 0000 F4 44 1A DA 02 0B 4B 7D F6 05 02 27 35 01 00 00SEND-> 0010 EB 03 F8 05 02 27 36 01 00 00

根據上面的分析,黃狗的代碼為"4B 7D F6 05"(100040011),不過兩只黃狗伺服器怎樣分辨呢?看看"EB 03 F8 05"(100140011),是上一個代碼加上100000,呵呵,這樣伺服器就可以認出兩只黃狗了。我們再通過野外遇敵截獲的數據包來證實,果然如此。

那麼,這個包的格式應該比較清楚了:第3個位元組為包的長度,"DA"為指令,第5個位元組為NPC個數,從第7個位元組開始的10個位元組代表一個NPC的信息,多一個NPC就多10個位元組來表示。

大家如果玩過網金,必然知道隨機遇敵有時會出現增援,我們就利用游戲這個增援來讓每次戰斗都會出現增援的NPC吧。

通過在戰斗中出現增援截獲的數據包,我們會發現伺服器端發送了這樣一個包:F4 44 12 E9 EB 03 F8 05 02 00 00 03 00 00 00 00 00 00 第5-第8個位元組為增援NPC的代碼(這里我們就簡單的以黃狗的代碼來舉例)。 那麼,我們就利用單機代理技術來同時欺騙客戶端和伺服器吧!

好了,呼叫NPC的工作到這里算是完成了一小半,接下來的事情,怎樣修改封包和發送封包,我們下節繼續講解吧。

--------------------------------------------------------------------------------
四:怎麼冒充"客戶端"向"伺服器"發我們需要的封包?
這里我們需要使用一個工具,它位於客戶端和伺服器端之間,它的工作就是進行數據包的接收和轉發,這個工具我們稱為代理。如果代理的工作單純就是接收和轉發的話,這就毫無意義了,但是請注意:所有的數據包都要通過它來傳輸,這里的意義就重大了。我們可以分析接收到的數據包,或者直接轉發,或者修改後轉發,或者壓住不轉發,甚至偽造我們需要的封包來發送。

下面我們繼續講怎樣來同時欺騙伺服器和客戶端,也就是修改封包和偽造封包。 通過我們上節的分析,我們已經知道了打多個NPC的封包格式,那麼我們就動手吧!

首先我們要查找客戶端發送的包,找到戰斗的特徵,就是請求戰斗的第1個包,我們找"F4 44 1F 30"這個特徵,這是不會改變的,當然是要解密後來查找哦。 找到後,表示客戶端在向伺服器請求戰斗,我們不動這個包,轉發。 繼續向下查找,這時需要查找的特徵碼不太好辦,我們先查找"DA",這是客戶端發送NPC信息的數據包的指令,那麼可能其他包也有"DA",沒關系,我們看前3個位元組有沒有"F4 44"就行了。找到後,我們的工作就開始了!

我們確定要打的NPC數量。這個數量不能很大,原因在於網金的封包長度用一個位元組表示,那麼一個包可以有255個位元組,我們上面分析過,增加一個NPC要增加10個位元組,所以大家算算就知道,打20個NPC比較合適。

然後我們要把客戶端原來的NPC代碼分析計算出來,因為增加的NPC代碼要加上100000哦。再把我們增加的NPC代碼計算出來,並且組合成新的封包,注意代表包長度的位元組要修改啊,然後轉發到伺服器,這一步在編寫程序的時候要注意演算法,不要造成較大延遲。

上面我們欺騙伺服器端完成了,欺騙客戶端就簡單了,^-^

發送了上面的封包後,我們根據新增NPC代碼構造封包馬上發給客戶端,格式就是"F4 44 12 E9 NPC代碼 02 00 00 03 00 00 00 00 00 00",把每個新增的NPC都構造這樣一個包,按順序連在一起發送給客戶端,客戶端也就被我們騙過了,很簡單吧。

以後戰斗中其他的事我們就不管了,盡情地開打吧。

3. 適合Windows7的網路抓包工具有哪些

1、sniffer

嗅探器是一種監視網路數據運行的軟體設備,協議分析器既能用於合法網路管理也能用於竊取網路信息。網路運作和維護都可以採用協議分析器:如監視網路流量、分析數據包、監視網路資源利用、執行網路安全操作規則、鑒定分析網路數據以及診斷並修復網路問題等等。非法嗅探器嚴重威脅網路安全性,這是因為它實質上不能進行探測行為且容易隨處插入,所以網路黑客常將它作為攻擊武器。

2、wireshark

Wireshark(前稱Ethereal)是一個網路封包分析軟體。網路封包分析軟體的功能是擷取網路封包,並盡可能顯示出最為詳細的網路封包資料。Wireshark使用WinPCAP作為介面,直接與網卡進行數據報文交換。

3、WinNetCap

使用WinPcap開發包,嗅探流過網卡的數據並智能分析過濾,快速找到所需要的網路信息(音樂、視頻、圖片等)。

4、WinSock Expert

這是一個用來監視和修改網路發送和接收數據的程序,可以用來幫助您調試網路應用程序,分析網路程序的通信協議(如分析OICQ的發送接收數據),並且在必要的時候能夠修改發送的數據。

4. 抓包工具都有什麼

著摩托車見著包抓起來就跑

工具:摩托車
棒子

目式眼鏡

5. 抓包工具是幹嘛的

抓包工具是攔截查看網路數據包內容的軟體。

使用方法
下面根據網路病毒都有掃描網路地址的特點,介紹一個很實用的方法:用抓包工具尋找病毒源。
1.安裝抓包工具。目的就是用它分析網路數據包的內容。找一個免費的或者試用版的抓包工具並不難,Sniffer,wireshark,WinNetCap.WinSock Expert 都是當前流行的抓包工具,我使用了一種叫做SpyNet3.12 的抓包工具,非常小巧,運行的速度也很快。安裝完畢後我們就有了一台抓包主機。你可以通過SpyNet設置抓包的類型,比如是要捕獲IP包還是ARP包,還可以根據目的地址的不同,設置更詳細的過濾參數。
2.配置網路路由。你的路由器有預設網關嗎?如果有,指向了哪裡?在病毒爆發的時候把預設網關指向另外一台路由器是很危險的(除非你想搞癱這台路由器)。在一些企業網里往往僅指出網內地址段的路由,而不加預設路由,那麼就把預設路由指到抓包主機上吧(它不下地獄誰下地獄?當然這台主機的性能最好是高一點的,否則很容易被病毒沖擊而亡)。這樣可以讓那些病毒主機發出的絕大部分掃描都自動送上門來。或者把網路的出口映像到抓包主機上,所有對外訪問的網路包都會被分析到。
3.開始抓包。抓包主機已經設置好了,網路里的數據包也已經送過來了,那麼我們看看網路里傳輸的到底是些什麼。打開SpyNet 點擊Capture 你會看到好多的數據顯示出來,這些就是被捕獲的數據包(如圖)。
圖中的主體窗口裡顯示了抓包的情況。列出了抓到數據包的序號、時間、源目的MAC地址、源目的IP地址、協議類型、源目的埠號等內容。很容易看出IP地址為10.32.20.71的主機在極短的時間內向大量的不同主機發出了訪問請求,並且目的埠都是445。
4.找出染毒主機。從抓包的情況看,主機10.32.20.71值得懷疑。首先我們看一下目的IP地址,這些地址我們網路里存在嗎?很可能網路里根本就沒有這些網段。其次,正常情況下訪問主機有可能在這么短的時間里發起這么多的訪問請求嗎?在毫秒級的時間內發出幾十甚至幾百個連接請求,正常嗎?顯然這台10.32.20.71的主機肯定有問題。再了解一下Microsoft-DS協議,該協議存在拒絕服務攻擊的漏洞,連接埠是445,從而進一步證實了我們的判斷。這樣我們就很容易地找到了染毒主機的IP地址。剩下的工作就是給該主機操作系統打補丁殺病毒了。

閱讀全文

與抓包工具winsock相關的資料

熱點內容
cad字體文件如何導出 瀏覽:236
cs16需要cdkey哪個文件里 瀏覽:817
如何讓另一個表格的數據關聯 瀏覽:368
來自app的快捷指令是怎麼有的 瀏覽:844
保留文件的原始文字圖片 瀏覽:385
國外網站的店怎麼看呢 瀏覽:56
ps入門必備文件 瀏覽:348
以前的相親網站怎麼沒有了 瀏覽:15
蘋果6耳機聽歌有滋滋聲 瀏覽:768
怎麼徹底刪除linux文件 瀏覽:379
編程中字體的顏色是什麼意思 瀏覽:534
網站關鍵詞多少個字元 瀏覽:917
匯川am系列用什麼編程 瀏覽:41
筆記本win10我的電腦在哪裡打開攝像頭 瀏覽:827
醫院單位基本工資去哪個app查詢 瀏覽:18
css源碼應該用什麼文件 瀏覽:915
編程ts是什麼意思呢 瀏覽:509
c盤cad佔用空間的文件 瀏覽:89
不銹鋼大小頭模具如何編程 瀏覽:972
什麼格式的配置文件比較主流 瀏覽:984

友情鏈接