防外掛


  • 0
    即使加密放在服務器端,客戶端也得有解密方法,只要破解了客戶端照樣能做外掛 – 至尊寶 2011-09-19
  • 0
    放服務器端可以不定期改算法。不要有規律。不過顯然這不是好辦法 – 程序員1999 2011-09-19
  • 0
    在易被外掛操控的任務的關鍵步驟,如接受任務、提交任務時添加類似驗證碼的機制,可用性如何。。 – 楊玉廷 2011-10-13
  • 0
    如果是webGame,可以有這樣一種方式,原則上不相信任何客戶端發送過來的數據,例如:Client和Server同時跑一次戰鬥過程,如果Client發送過來的結果和Server得出的結果不一致,則判斷client作弊

總的說來,道高一尺魔高一丈,外掛不可能100%被杜絕,只能通過不同的手段來防止大部分的外掛,具體可以從以下幾個方面考慮:
1. 協議層加密
以flash客戶端爲例,在與後端做數據通信時,可採用amf協議,它雖然也是基於http協議,但是對傳輸的內容做了加密。當然,amf協議是透明的,所以該方法只能幹掉一部分只知道用httpwatch/firebug等查看明文http包傳輸工具的小白。
如果需要繼續增加門檻,可以自定義加密協議。但由於客戶端需要知道解密方式,所以客戶端本身也需要做好加密。關於flash本身格式的加密解密是另一個比較大的話題,在此就不展開贅述了。
2. checksum校驗
客戶端發送數據時增加一段checksum校驗碼,服務器端根據相應的算法進行校驗,如果校驗不通過則返回錯誤。與(1)一樣,只要破解了客戶端就可以知道checksum的校驗算法。因此一方面需要注意客戶端的安全,另一方面checksum生成算法需要不定期更換。
3. 通過任務策劃來防治
外掛主要是代替人工來做些重複性的工作,這樣玩家可以不操作電腦也能在遊戲中獲得收益。外掛的出現一般都是和利益有關,最好的治理方式是引導而不是打壓,因此我們可以在產品設計方面做些降低外掛的工作:
1)降低長時間重複性任務所獲得收益,或者同一種獲得收益的任務隨時間的增加收益減少。
2)遊戲本身提供一些類似外掛的功能:比如自動打怪等輔助工具。
4. 定期檢查數據
通過排行榜等數據統計,可以通過發現一些異常的數據來檢測是否有外掛存在
5. 深入玩家內部,瞭解外掛行情
這個是客服們的工作,與技術關係不大,但有時能起到意想不到的作用。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章