網域查詢: www.
返回首頁
當前位置: 首頁 > 站長學院 > 平面設計 > Flash >

Flash MX 編程深層次應用-復雜游戲(4)

時間:2010-02-12 02:12來源: 作者: 點擊:
5.4 如何對付游戲修改工具 在本書的精華集 1 中講解了游戲計算得分的方法。這些方法對普通的小游戲足夠用了,但是在一些大型的、商業的游戲中會顯得不足。玩游戲的人都知道有個整
  
5.4 如何對付游戲修改工具

    

在本書的精華集1中講解了游戲計算得分的方法。這些方法對普通的小游戲足夠用了,但是在一些大型的、商業的游戲中會顯得不足。玩游戲的人都知道有個整人專家(FPE),是專門來修改游戲的。它的運行方式就是從內存中查找出游戲主角的某些屬性的存放地址,然後將這些屬性改成需要的任何數值;或者把某些數值(比如生命值)鎖定,然後游戲就成了不死版本。這類工具對于Flash游戲同樣適用,這就給Flash游戲編程人員提出了更高的要求。如何來對付這種游戲修改工具呢?辦法是有的,下面列出幾種方法來對付這種工具。

分數加密法

在客戶端積分使用加密保存,而且使用圖形量化顯示(比如街霸那樣的生命血),這樣作弊者除非跟蹤傳送的數據(還有一種工具是可以截取並修改這種傳送數據的),否則就無法看到最後呈報給服務器的積分。至于分數加密的辦法就多了,比如說按位異或,加大或者減小相應的倍數、轉換成字符串保存,轉換成其他進制字符串保存等。

時間控制法

可以把分數和游戲的事件聯系起來。首先設定一個定時器,定時去判斷分數變化是否異常,比如說分數增加得快到游戲中不可能的情況時,就用備份的分數覆蓋分數變量。如果沒問題,用當前分數的值覆蓋備份的分數變量。這種辦法從理論上看可行,但是實際上有一個新問題,就是如何保證備份的分數數據不被修改。這個當然也有辦法,就是對備份的分數進行運算。這等于在第一種辦法上加了一個雙保險。

欺騙法

在用前面的辦法處理這些數據之後,有意用一個變量來存放這個數值,然後根本不用這個變量來控制,結果就是通過修改工具的確找到了要找的內容,但是改了之後根本不會影響游戲的得分。

拆分法

可以把得分的值分解成兩塊甚至更多塊,其中一塊的值用隨機數產生,然後再用得分減去這個隨機數,得到實際的值。結果不言而喻,兩個地方的值全是隨機數,讓修改工具無法找到。而每次得分變化時就取這兩個地方的值拼起來,然後再加上新增加的分數減去隨機數來計算出另一個位置的值。

存放地址重新分配法

前面用的方法都是數值保護法,還有一種辦法就是地址保護法,也就是讓這些數據每次存放的地址不同,這樣通過修改工具無法鎖定一個地址來查找!在Flash中有new命令,可以創建新的對象,通過這個命令就可以動態修改變量存放的地址。

上面提到的這些辦法都是一些理論上的辦法,而且不一定是針對得分的,還可以保護生命值、戰斗力等相關數據。當然,在實際應用過程中還要根據游戲的內容來創新,創造出一些更好的加密方法。


頂一下
(0)
0%
踩一下
(0)
0%
------分隔線----------------------------
最新評論 查看所有評論
發表評論 查看所有評論
請自覺遵守互聯網相關的政策法規,嚴禁發佈色情、暴力、反動的言論。
評價:
表情:
用戶名: 密碼: 驗證碼:
推薦內容