网页游戏常见外挂原理及防御
網頁游戲常見外掛原理及防御??
原理:模仿鍵盤鼠標來操作UI
工具:按鍵精靈
例子:錄制(基于GUI)——生成腳本——編輯腳本——回放
防御:增加人機交互(重點是玩家輸入,如登陸口常用的驗證碼機制)
第二種:本地修改
1)修改flash LSO本地共享對象
C:\Documents and Settings\(你的Windows用戶名)\Application Data\Macromedia
????\Flash Player\#SharedObjects\(一些隨機數字和字母)\
工具:sol editor
2)修改游戲在內存中的數值
工具:cheat engineer
搜索并修改內存數值的一般步驟:
1.運行ce
2.運行游戲
3.在ce中指定要修改的游戲
4.首次搜索一個數值
5.回游戲中讓這個數值增加或減少
6.回ce按數值增減的情況再次搜索
7.重復5,6直到看到一個或很少的幾個結果
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.重復4,5,對比截獲的封包,直到找出封包的重要字節
7.設置過濾器(查找封包,并替換指定字段)
8.回到游戲中操作
網游通信常見協議格式:
a、直接通過WinSock編程接口進行,自定義協議數據格式,大多數的網絡游戲采用這個方式。
包結構: 包頭(定長)?+?包體(不定長,具體協議具體分析)
b、通過HTTP協議進行通訊,有些網絡游戲利用IE的組件進行通訊。很少
C、通過SOAP協議進行通訊,還沒有見過這樣的大型網絡游戲,可能很快就會有。
D、通過AMF協議進行通訊(flex自定義的高效二進制數據),常見。(可以用Charles工具捕捉修改封包)
防御:
1)協議加密,防破解
2)協議完整性驗證,防修改
3)序列號加密,防重發
4)客戶端服務端雙重驗證(注:對物品獲取,一定要檢查獲取上限,獲取條件,注意的配置的錯誤,或者是否讀入舊的配置表)
總結
以上是生活随笔為你收集整理的网页游戏常见外挂原理及防御的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java报表工具FineReport使用
- 下一篇: 【SEO案例】百度快照劫持怎么处理