WPE封包外挂教程(上)
生活随笔
收集整理的這篇文章主要介紹了
WPE封包外挂教程(上)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
國家新聞出版署和信息產業部嚴厲打擊私服和外掛,本教程轉載于此處僅做學習和研究之用,如若因此導致任何后果,本站概不負責!
Wpe工作原理和可行性分析
wpe所要改的,不是[游戲里面的數值],而是[偽造信息封包]。 什么意思咧??就是我們用wpe所要改的,并不是"生命力由100變成10000"之類的東西, 這種東西無法用wpe改, 我們要改的可能是把"我賣了一個500元的東西" 改成"我賣了一個50000元的東西"或把"我得了10的exp"改成"我得了10000的exp"之類 的, 或者是明明身上沒東西還一直賣"500元的東西"或沒怪物還"一直打10的exp"。
因為wpe是個一封包截取軟件,它能截取網絡上的數據封包,《傳奇》采用了Client/server模式,我們的信息全在服務器上面,想從服務器上修改我們的個人用戶信息,可能性為微乎其微,客戶端安裝在你的機器上, 玩游戲的時候,你發出指令,其實就是向服務器發送封包,服務器接收到封包后進行分析,然后返回結果,結果也是以封包的形式發送到你的機器上,你的機器接收到後就可以看到結果了。
這就給我們修改造成了機會,如果我們把封包里的數據改了會怎么樣呢??比如我發了一小火球,截取到代碼,然后改成閃電的代碼,那么我在機器上的效果應該就是閃電的效果了(已經試驗過,可行)。這種方法理論上是可行的,可是為什么有時實現不了呢??因為服務器還有應對措施,對一些重要的數據往往需要檢測多項,我們修改的時候只是修改了其中一項,是不行的。而且往往數據包是加密傳輸的,這也給我們找正確的數據制造了麻煩。
但是服務器的監測工作是有限度的,因此不可能全部都由服務器完成,很多耗資源的監測都放到了客戶端上,早期的免臘,半月,穿人都是在本機上進行了監測,服務端并沒有相應的監測機制,只有最近的更新才加入了一些監測,但也造成了整個服務端的狂慢。所以對一些服務器并沒有監測的東西我們還是可以修改的,當然這些東西需要大家一起探索。
一點技術提示:
傳奇 的c/s通信采用了字節流套接字,這種通信可靠,雙向,順序,因此,封包只要按照原來的順序就可以了。游戲采用了32位加密(crc/32),故我們不能隨便篡改其中的信息,否這服務器在校驗時,發現出錯,就會斷開服務器連接哦,故采用李代桃疆之法更有效。身份認證信息的篡改當然沒問題了(通一臺機器,同一用戶嘛!)我們發送的數據含有坐標碼,改包時不要改坐標哦。
WPE教學之-截取操作篇
一開始,當然是執行游戲了,進入游戲后再按[Alt+Tab]跳出游戲 ,打開wpe程序(WPE ver1.3 界面如下圖)
雙擊SELECT GAME打開如上圖中.
我們以傳奇為例,當你運行傳奇的時候在這里我們可以看見傳奇的執行文件,雙擊mir.dat,現在我們將攔截傳奇的封包!
請看上圖標題欄現在顯示的是攔截傳奇的封包.
雙擊TRACE,打開如圖中所示,用來截取封包,按圖中三角按鈕開始截取封包,按紅色方塊按紐停止.
若您沒按下紅色方形停止鍵,追蹤的動作將依照OPTION里的設定值自動停止.
截獲封包后,s框后面的數字是發送封包的內容,r框后面的數字是接收封包的內容,以16進制數和acsII兩種方式體現!整個程序的上面有儲存清除查找3個選項!至此,第一步截取完成了。下面進行的是要過濾了,呵呵,不要打瞌睡,重頭戲出場了!
WPE教學之-Filter篇
Filter 執行的是濾鏡功能,它能把截獲到的封包中的數據進行修改,然后將修改后的數據傳輸到服務器,達到欺騙服務器的目的,這也是我們所要完成的任務。
首先作一下介紹,首先雙擊Filter打開Filter窗口
詳細功能如下圖所示
當FILTER在啟動狀態時 ,ON的按鈕會呈現紅色。當您啟動FILTER時,您隨時可以關閉這個視窗。FILTER將會保留在原來的狀態,直到您再按一次 on / off 鈕。只有FILTER啟用鈕在OFF的狀態下,才可以勾選Filter前的方框來編輯修改。 當您想編輯某個Filter,只要雙擊該Filter的名字即可。
雙擊Filter名字(如Filter 1)進入編輯狀態,請看下圖
這里有幾個名詞,需要注意一下:
Normal 一般模式
如果你所修改的數據在數據包中的位置是固定的,可以用一般模式,這也是我們常用的模式
Advanced 遞進模式
如果你所修改的數據在數據包中的位置不是固定的,只能用遞進模式,后面會有例子說明
以下兩項只有選擇了Advanced模式后才可以選擇
Form the beginning of the packet
從截獲到的封包的第一個位置開始替換
Form the position of the chain found
從數值被發現的位置開始替換連續數值
例一:
下面舉一個例子,修改游戲中的大火球變閃電術:
在游戲中發兩次次大火球,截獲到的封包如下
SEND-> 0000 23 33 60 4C 43 60 3C 48 60 47 3C 3C 3C 41 3C 3C 3C 3C 21
SEND-> 0000 23 34 60 4C 43 60 3C 48 60 47 3C 3C 3C 41 3C 3C 3C 3C 21
在游戲中發兩次次閃電,截獲到的封包如下
SEND-> 0000 23 31 60 4C 43 60 3C 48 60 47 3C 3C 3C 47 3C 3C 3C 3C 21
SEND-> 0000 23 32 60 4C 43 60 3C 48 60 47 3C 3C 3C 47 3C 3C 3C 3C 21
先進性分析
因為游戲中都是在同一位置發的魔法,排除位置因素,分析只有2處不同,而每次封包中只有第2處的位置上相同,故很有可能第2出代表的就是魔法的代碼
這種情況下有正常模式就行了,封包中數值的位置是固定的:
例二:
當您在一個游戲中,您不想要用真實姓名,您想用修改過的假名傳送給對方。
在您使用TRACE後,您會發現有些封包里面有您的名字出現。
假設您的名字是Shadow,換算成16進位則是"53 68 61 64 6F 77〔;而您打算用moon"6D 6F 6F 6E 20 20〔來取代他。
1) SEND-> 0000 08 14 21 06 01 04 ......
2) SEND-> 0000 01 06 99 53 68 61 64 6F 77 00 01 05 ...Shadow...
3) SEND-> 0000 03 84 11 09 11 09 ......
4) SEND-> 0000 0A 09 C1 10 00 53 68 61 64 6F 77 00 11 .....Shadow.
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位置開始遞換
退出編輯狀態,享受我們的修改成果吧!!
WPE教學之-Trainer Maker篇
至此我們已經可以進行撲獲,過濾數據包了,也可以進行修改游戲了。但是每次修改都要進WPE,好羅嗦啊,有沒有簡單的辦法呢???有!!!WPE自帶了修改器生成器,就是TRAINER MAKER功能 ,可以把你自己做好的FLT文件做成單獨運行的一個程序。 這樣每次用到你就不需要打開WPE進行煩瑣的操作進入傳奇,打開WPE,點選SELECT GAME雙攻擊MIR.DAT 接著再點選TRAINER MAKER。
按NEXT繼續,如下圖,這里是讓你填入你所要生成的EXE文件的文件名和執行后的窗口欄名稱
輸入完畢后按NEXT,你會看到
點“打開文件”的按鈕,選擇你所要生成EXE程序的FLT濾鏡文件。
下一步輸入本程序的說明。
這里選擇winsock的版本,及其選項(推薦使用默認值)。
OK了一路NEXT,捎后片刻你的WPE目錄下就 會生成一個EXE文件。
注意:該程序不能與WPE同一時間運行
哈哈,看看我們的程序吧!現在你就可以拿到別的機器上用了!
Wpe工作原理和可行性分析
wpe所要改的,不是[游戲里面的數值],而是[偽造信息封包]。 什么意思咧??就是我們用wpe所要改的,并不是"生命力由100變成10000"之類的東西, 這種東西無法用wpe改, 我們要改的可能是把"我賣了一個500元的東西" 改成"我賣了一個50000元的東西"或把"我得了10的exp"改成"我得了10000的exp"之類 的, 或者是明明身上沒東西還一直賣"500元的東西"或沒怪物還"一直打10的exp"。
因為wpe是個一封包截取軟件,它能截取網絡上的數據封包,《傳奇》采用了Client/server模式,我們的信息全在服務器上面,想從服務器上修改我們的個人用戶信息,可能性為微乎其微,客戶端安裝在你的機器上, 玩游戲的時候,你發出指令,其實就是向服務器發送封包,服務器接收到封包后進行分析,然后返回結果,結果也是以封包的形式發送到你的機器上,你的機器接收到後就可以看到結果了。
這就給我們修改造成了機會,如果我們把封包里的數據改了會怎么樣呢??比如我發了一小火球,截取到代碼,然后改成閃電的代碼,那么我在機器上的效果應該就是閃電的效果了(已經試驗過,可行)。這種方法理論上是可行的,可是為什么有時實現不了呢??因為服務器還有應對措施,對一些重要的數據往往需要檢測多項,我們修改的時候只是修改了其中一項,是不行的。而且往往數據包是加密傳輸的,這也給我們找正確的數據制造了麻煩。
但是服務器的監測工作是有限度的,因此不可能全部都由服務器完成,很多耗資源的監測都放到了客戶端上,早期的免臘,半月,穿人都是在本機上進行了監測,服務端并沒有相應的監測機制,只有最近的更新才加入了一些監測,但也造成了整個服務端的狂慢。所以對一些服務器并沒有監測的東西我們還是可以修改的,當然這些東西需要大家一起探索。
一點技術提示:
傳奇 的c/s通信采用了字節流套接字,這種通信可靠,雙向,順序,因此,封包只要按照原來的順序就可以了。游戲采用了32位加密(crc/32),故我們不能隨便篡改其中的信息,否這服務器在校驗時,發現出錯,就會斷開服務器連接哦,故采用李代桃疆之法更有效。身份認證信息的篡改當然沒問題了(通一臺機器,同一用戶嘛!)我們發送的數據含有坐標碼,改包時不要改坐標哦。
WPE教學之-截取操作篇
一開始,當然是執行游戲了,進入游戲后再按[Alt+Tab]跳出游戲 ,打開wpe程序(WPE ver1.3 界面如下圖)
雙擊SELECT GAME打開如上圖中.
我們以傳奇為例,當你運行傳奇的時候在這里我們可以看見傳奇的執行文件,雙擊mir.dat,現在我們將攔截傳奇的封包!
請看上圖標題欄現在顯示的是攔截傳奇的封包.
雙擊TRACE,打開如圖中所示,用來截取封包,按圖中三角按鈕開始截取封包,按紅色方塊按紐停止.
若您沒按下紅色方形停止鍵,追蹤的動作將依照OPTION里的設定值自動停止.
截獲封包后,s框后面的數字是發送封包的內容,r框后面的數字是接收封包的內容,以16進制數和acsII兩種方式體現!整個程序的上面有儲存清除查找3個選項!至此,第一步截取完成了。下面進行的是要過濾了,呵呵,不要打瞌睡,重頭戲出場了!
WPE教學之-Filter篇
Filter 執行的是濾鏡功能,它能把截獲到的封包中的數據進行修改,然后將修改后的數據傳輸到服務器,達到欺騙服務器的目的,這也是我們所要完成的任務。
首先作一下介紹,首先雙擊Filter打開Filter窗口
詳細功能如下圖所示
當FILTER在啟動狀態時 ,ON的按鈕會呈現紅色。當您啟動FILTER時,您隨時可以關閉這個視窗。FILTER將會保留在原來的狀態,直到您再按一次 on / off 鈕。只有FILTER啟用鈕在OFF的狀態下,才可以勾選Filter前的方框來編輯修改。 當您想編輯某個Filter,只要雙擊該Filter的名字即可。
雙擊Filter名字(如Filter 1)進入編輯狀態,請看下圖
這里有幾個名詞,需要注意一下:
Normal 一般模式
如果你所修改的數據在數據包中的位置是固定的,可以用一般模式,這也是我們常用的模式
Advanced 遞進模式
如果你所修改的數據在數據包中的位置不是固定的,只能用遞進模式,后面會有例子說明
以下兩項只有選擇了Advanced模式后才可以選擇
Form the beginning of the packet
從截獲到的封包的第一個位置開始替換
Form the position of the chain found
從數值被發現的位置開始替換連續數值
例一:
下面舉一個例子,修改游戲中的大火球變閃電術:
在游戲中發兩次次大火球,截獲到的封包如下
SEND-> 0000 23 33 60 4C 43 60 3C 48 60 47 3C 3C 3C 41 3C 3C 3C 3C 21
SEND-> 0000 23 34 60 4C 43 60 3C 48 60 47 3C 3C 3C 41 3C 3C 3C 3C 21
在游戲中發兩次次閃電,截獲到的封包如下
SEND-> 0000 23 31 60 4C 43 60 3C 48 60 47 3C 3C 3C 47 3C 3C 3C 3C 21
SEND-> 0000 23 32 60 4C 43 60 3C 48 60 47 3C 3C 3C 47 3C 3C 3C 3C 21
先進性分析
因為游戲中都是在同一位置發的魔法,排除位置因素,分析只有2處不同,而每次封包中只有第2處的位置上相同,故很有可能第2出代表的就是魔法的代碼
這種情況下有正常模式就行了,封包中數值的位置是固定的:
例二:
當您在一個游戲中,您不想要用真實姓名,您想用修改過的假名傳送給對方。
在您使用TRACE後,您會發現有些封包里面有您的名字出現。
假設您的名字是Shadow,換算成16進位則是"53 68 61 64 6F 77〔;而您打算用moon"6D 6F 6F 6E 20 20〔來取代他。
1) SEND-> 0000 08 14 21 06 01 04 ......
2) SEND-> 0000 01 06 99 53 68 61 64 6F 77 00 01 05 ...Shadow...
3) SEND-> 0000 03 84 11 09 11 09 ......
4) SEND-> 0000 0A 09 C1 10 00 53 68 61 64 6F 77 00 11 .....Shadow.
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位置開始遞換
退出編輯狀態,享受我們的修改成果吧!!
WPE教學之-Trainer Maker篇
至此我們已經可以進行撲獲,過濾數據包了,也可以進行修改游戲了。但是每次修改都要進WPE,好羅嗦啊,有沒有簡單的辦法呢???有!!!WPE自帶了修改器生成器,就是TRAINER MAKER功能 ,可以把你自己做好的FLT文件做成單獨運行的一個程序。 這樣每次用到你就不需要打開WPE進行煩瑣的操作進入傳奇,打開WPE,點選SELECT GAME雙攻擊MIR.DAT 接著再點選TRAINER MAKER。
按NEXT繼續,如下圖,這里是讓你填入你所要生成的EXE文件的文件名和執行后的窗口欄名稱
輸入完畢后按NEXT,你會看到
點“打開文件”的按鈕,選擇你所要生成EXE程序的FLT濾鏡文件。
下一步輸入本程序的說明。
這里選擇winsock的版本,及其選項(推薦使用默認值)。
OK了一路NEXT,捎后片刻你的WPE目錄下就 會生成一個EXE文件。
注意:該程序不能與WPE同一時間運行
哈哈,看看我們的程序吧!現在你就可以拿到別的機器上用了!
總結
以上是生活随笔為你收集整理的WPE封包外挂教程(上)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 86年版五笔和98年版五笔区别
- 下一篇: 美国邮政编码ZIP Code(转载)