第一種:動作式
原理:模仿鍵盤滑鼠來操作ui
工具:按鍵精靈
防禦:增加人機互動(重點是玩家輸入,如登陸口常用的驗證碼機制)
第二種:本地修改
1)修改flash lso本地共享物件
c:\documents and settings\
(你的windows
使用者名稱)
\(一些隨機數字和字母)
\工具: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)
防禦: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)客戶端服務端雙重驗證(注:對物品獲取,一定要檢查獲取上限,獲取條件,注意的配置的錯誤,或者是否讀入舊的配置表)
網頁遊戲外掛程式分析及防範
最近在開發社群版網頁遊戲,其實在整個開發過程中碰到了不少問題。而這些問題也被很細心的使用者們發現,並使用外掛程式鑽了空子。例如我在前面曾寫過的一篇部落格 web開發安全守則之永遠不要相信使用者的輸入 中介紹過,因為判斷使用者購買道具時,整個程式遺漏對負數的處理。今天藉著另外乙個外掛程式問題,講講網頁...
遊戲外掛程式的原理及實現
1 遊戲外掛程式的原理 外掛程式現在分為好多種,比如模擬鍵盤的,滑鼠的,修改資料報的,還有修改本地記憶體的,但好像沒有修改伺服器記憶體的哦,呵呵。其實修改伺服器也是有辦法的,只是技術太高一般人沒有辦法入手而已。比如請gm去 送禮 收黑錢等等辦法都可以修改伺服器資料,哈哈 修改遊戲無非是修改一下本地記...
常見網路攻擊及防禦
hardware type 硬體型別,標識鏈路層協議 protocol type 協議型別,標識網路層協議 opcode 操作 標識arp資料報型別,1表示請求,2表示回應 sender mac address 傳送者mac sender ip address 傳送者ip target mac ad...