?? 7.txt
字號:
四:怎么冒充"客戶端"向"服務器"發我們需要的封包?
這里我們需要使用一個工具,它位于客戶端和服務器端之間,它的工作就是進行數據包的接收和轉發,這個工具我們稱為代理。如果代理的工作單純就是接收和轉發的話,這就毫無意義了,但是請注意:所有的數據包都要通過它來傳輸,這里的意義就重大了。我們可以分析接收到的數據包,或者直接轉發,或者修改后轉發,或者壓住不轉發,甚至偽造我們需要的封包來發送。
下面我們繼續講怎樣來同時欺騙服務器和客戶端,也就是修改封包和偽造封包。通過我們上節的分析,我們已經知道了打多個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都構造這樣一個包,按順序連在一起發送給客戶端,客戶端也就被我們騙過了,很簡單吧。
以后戰斗中其他的事我們就不管了,盡情地開打吧
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -