網頁遊戲常見外掛原理及防護

第一種:動做式
原理:模仿鍵盤鼠標來操做UI
工具:按鍵精靈
例子:錄製(基於GUI)——生成腳本——編輯腳本——回放
防護:增長人機交互(重點是玩家輸入,如登錄口經常使用的驗證碼機制)
第二種:本地修改
1)修改flash LSO本地共享對象

C:\Documents and Settings\(你的Windows用戶名)\Application Data\Macromedia\Flash Player\#SharedObjects\(一些隨機數字和字母)\編程

工具:sol editor服務器

2)修改遊戲在內存中的數值網絡

工具:cheat engineer函數

搜索並修改內存數值的通常步驟:工具

1.運行ceflex

2.運行遊戲加密

3.ce中指定要修改的遊戲spa

4.首次搜索一個數值對象

5.迴游戲中讓這個數值增長或減小接口

6.ce按數值增減的狀況再次搜索

7.重複56直到看到一個或不多的幾個結果

8.在這幾個結果鍾哦你判斷哪個是真正的結果

3)修改flash客戶端

工具:flasm(將swf變成可讀的彙編語言),flare(將swf變成as)

例子:修改遊戲中的積分(不少flash遊戲的邏輯判斷徹底依賴於客戶端),得到更多的遊戲幣

防護:

1)治本防護:驗證邏輯放在服務端

2)治標防護:對每日收入作限制;客戶端防護內存修改(數值加密,完整性驗證)

第三種:加速

原理:提升客戶端的時間節律

1)提升時鐘硬件的節律

2)截獲時間頻率的API好比SetTimer之類的API,替換成本身的函數(對服務器端控制節律的網遊沒有效果)

工具:變速齒輪

防護:檢測系統時鐘的差別,防止加速程序更改系統時鐘

第四種:修改封包

原理:截獲服務端與客戶端的通訊包,修改封包並轉發

工具:WPE

例子:修改物品id,禮包id,物品數量,繞過客戶端限制得到大量物品

WPE修改封包步驟要點:

1.運行wpe

2.運行遊戲

3.wpe中指定要修改的遊戲

4.錄製遊戲操做

5.分析封包

6.重複45對比截獲的封包,直到找出封包的重要字節

7.設置過濾器(查找封包,並替換指定字段)

8.回到遊戲中操做

網遊通訊常見協議格式:

a、直接經過WinSock編程接口進行,自定義協議數據格式,大多數的網絡遊戲採用這個方式。

包結構: 包頭(定長 + 包體(不定長,具體協議具體分析)

b、經過HTTP協議進行通信,有些網絡遊戲利用IE的組件進行通信。不多

C、經過SOAP協議進行通信,尚未見過這樣的大型網絡遊戲,可能很快就會有。

D、經過AMF協議進行通信(flex自定義的高效二進制數據),常見。(能夠用Charles工具捕捉修改封包)

防護:

1)協議加密,防破解

2)協議完整性驗證,防修改

3)序列號加密,防重發

4)客戶端服務端雙重驗證(注:對物品獲取,必定要檢查獲取上限,獲取條件,注意的配置的錯誤,或者是否讀入舊的配置表)

相關文章
相關標籤/搜索