隨著移動網際網路的發展,手遊行業經歷了巨大的變遷,不僅僅是從技術上的革新,遊戲實現能力更是有了飛躍式發展,但是在手遊市場競爭日趨激烈的背後,其安全正受到網路黑產的巨大威脅,非正當獲利在移動遊戲領域屢見不鮮,外掛等安全性問題成了開發者們不得不面對的難題。
據《2020移動遊戲質量白皮書》資料統計,國內定製類外掛比例達到66%,較19年增長6.5倍。海外定製類外掛比例已經達到了62%,較2019年增長了足足3倍,尤其是強競技遊戲品類的外掛對抗挑戰持續增大。
在2020年,造成嚴重影響的安全漏洞佔比增長至51.34%,致命影響的安全漏洞佔比降低至25.57%。透過對所有安全漏洞的分析,最為頻繁的手遊安全漏洞問題為“繞過狀態限制”。在遊戲中使用未擁有的皮膚和表情、未完成任務就領取獎勵等是常見的外掛現象。
面對層出不窮的遊戲外掛,遊戲廠商能夠做些什麼呢?本文就主要危害遊戲平衡的外掛分類、特性進行介紹,並提供針對性解決辦法,希望對遊戲從業人員和愛好者有所幫助。
01 外掛分類
根據不同的遊戲型別,相對應的定製外掛的型別也有所不同,因而防禦外掛的前提便是先了解外掛,只有先了解外掛,遊戲廠商才能根據定製遊戲外掛的特性進行針對性防禦。
手遊外掛中外掛破解主要往三個大方向出發,即動態破解、靜態破解與協議破解。
1.1. 動態破解
動態破解主要以修改器與加速器為主,其主要原理為不修改遊戲檔案,使用外部輔助軟體修改遊戲記憶體資料。憑藉資料修改,動態破解往往會增加遊戲中的金錢、技能傷害數值、時間數值等,以打破遊戲的公平性。
在外掛工具中,遊戲修改器是出現頻率最高的,修改器可以輕易將武器傷害從18%改成999.9%,使得攻擊傷害提升幾十倍。類似的原理也可以實現無敵、秒殺、無限藍、技能無 CD 等效果。因此,遊戲修改器嚴重危害遊戲平衡性。而加速器則主要分為兩種,一種是手機加速器,通常遊戲修改器都會附帶加速功能,另一種是模擬器加速。
1.2. 靜態破解
靜態破解常常被稱為“端改”,即玩家常說的“XXX遊戲的破解版”。這種破解版是透過修改遊戲裡面的檔案或者指令碼,重新打包後再遊玩,其往往以“科技版”“輔助版”的形式線上上進行售賣,甚至由各個遊戲工作室使用。
破解版提供了眾多新奇、怪異的功能來吸引玩家,售賣時大多支援月付,價格上甚至可以超過很多遊戲的ARPU值。這種形式不光影響普通玩家體驗,也給遊戲收入和口碑造成損傷。
1.3. 協議破解
協議破解即玩家所稱的“離線掛”,部分遊戲協議一旦被分析出來,可以實現純協議的客戶端,或者是半離線,以此來修改遊戲封包來修改遊戲行為。可以透過搭建代理服務來動態修改封包,實現10倍血量10倍攻擊等效果。相當於半離線外掛。
02 應對方式
在瞭解外掛原理與特性之後,遊戲廠商可以有針對性地對外掛進行防護反擊。
2.1. 動態破解
針對各類修改器、加速器,外掛防治需要主攻“檢測”環節。遊戲廠商可透過對遊戲程式的讀寫,在識別遊戲行為的同時,一併識別修改器、加速器,並強制關閉遊戲程式,以防止外掛作弊。
另一種應對方向是針對動態除錯的保護,其中包括防動態注入、防動態除錯和防記憶體dump。反除錯機制能夠拒絕除錯工具的附加操作,阻止偵錯程式對移動應用開展除錯分析,保護其業務邏輯程式碼,一旦被加固的程式檢測到諸如gdb一類的除錯操作,應用程式將自動退出執行。防記憶體dump保護能有效阻止gdb dump等操作,同時因為程式碼採用函式體分離方式和native化保護,程式碼都是以單個函式還原到記憶體中,而記憶體中的程式碼也是經過native處理,及時dump出當前程式碼片段,也是經過native方式處理後的程式碼,不會還原成原始碼。
2.2. 靜態破解
針對各類“破解版”、“輔助版”,外掛防治需要主攻“加密”這一點。遊戲保護模組都帶有檔案校驗功能,透過加密指令碼、資原始檔(如assetbundle資源加密)、簽名保護等方式,防止遊戲被破解,且同時採用驗證系統,檔案被修改時遊戲就不能正常執行,以此防止二次打包、二次開發,生成“破解版”“輔助版”。
此外,治理該類外掛還可以從程式碼校驗上著手,並配合虛擬機器保護,必要時候加上簡單的驅動。一整套機制可以將封包加密、解密,獨立形成一個動態連線庫(DLL),供遊戲主程式呼叫,進行封包加解密。
隨後,更換封包加密、解密方式,防止破解者採用替換舊客戶端的方式進入遊戲。在加密、解密函式里加入對反外掛執行緒的檢測,檢測反外掛執行緒是否正常執行,如果檢測到非法情況,同樣對伺服器進行報告,並主動切斷與遊戲伺服器的連線。
最後,遊戲廠商再加入一些反除錯和驅動技術,對遊戲進行保護。
2.3. 離線掛
針對離線掛,外掛防治需要主攻“獨特性”這一點。可採取資料簽名保護,客戶端對輸入資料進行簽名,生成一個簽名值。如果破解者無法分析出簽名演算法,就無法模擬協議,也不能篡改資料。
除了以上三大類的外掛作弊防治手段之外,遊戲廠商需要加強對反編譯漏洞、記憶體漏洞以及除錯漏洞的防護,瞭解並應用存檔加密、行為檢測、反多開器、反地理位置模擬等技術,充分適應反外掛工作的長期性和複雜性。
03 總結
在外掛情形如此嚴峻的情況下,遊戲廠商建立專門的軟體安全小組,或與遊戲安全類公司開展合作是必然趨勢。其部門需要做到及時的收集外掛資訊、分析外掛所使用的技術和尋求防治外掛的最佳方式,寫出相應的檢測及防護程式碼,及時更新遊戲。
如今,遊戲製作應用的技術原理日趨複雜,涉及廣泛的專業人員,移動端遊戲已形成巨大的產業鏈,所涉及的商業價值也越來越大,因而所衍生的外掛防治問題也愈為重要。移動端遊戲安全系統價值在於維護公平的遊戲環境、保護玩家財產、提高使用者體驗感。