趙一燃 梁爽 賴洋萍 張浩天
【摘要】隨著手機(jī)游戲行業(yè)的迅猛發(fā)展,游戲外掛開發(fā)的重心也從端游轉(zhuǎn)向了手游,手機(jī)游戲安全問題愈發(fā)嚴(yán)重,與此同時,手機(jī)游戲外掛領(lǐng)域的研究仍較薄弱。為營造一個公平的游戲環(huán)境,手機(jī)游戲外掛技術(shù)的研究愈發(fā)重要。本文對手機(jī)游戲外掛進(jìn)行分類,并分析其實現(xiàn)原理,羅列其主要功能點,為反外掛提供了理論支持。
【基金項目】四川大學(xué)2019年度大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計劃項目(C2019104213)
游戲外掛是一種可以幫助玩家自動完成游戲操作、修改游戲數(shù)據(jù)、達(dá)成自己作弊行為的游戲外部輔助程序。2019年中國手機(jī)游戲用戶達(dá)到6.2億人,市場規(guī)模高達(dá)1581億元。手機(jī)游戲市場的繁榮,與之對應(yīng)的是手機(jī)游戲外掛的猖獗。騰訊安全云鼎實驗室發(fā)布的《2018年游戲安全行業(yè)報告》顯示,2018年共檢測到手游外掛達(dá)4000多款。而游戲外掛熱度分布榜前四名分別為:刺激戰(zhàn)場、荒野行動、終結(jié)者、全軍出擊,它們都屬于射擊求生類手機(jī)游戲??梢?,游戲外掛逐漸向競技類手游輔助轉(zhuǎn)型。游戲外掛損害了游戲的平衡性,破壞了其他用戶的游戲體驗,影響了游戲服務(wù)器的穩(wěn)定,阻礙了游戲產(chǎn)業(yè)的發(fā)展。因此,研究手機(jī)游戲外掛技術(shù),有利于反外掛工作的開展,具有重大意義。
1. 手機(jī)游戲外掛綜述
1.1 通用類外掛
1.1.1 模擬器
模擬器是一種在個人電腦上運行并能夠模擬出手機(jī)ios系統(tǒng)或者Android系統(tǒng)的軟件,可以如同使用手機(jī)一般安裝、使用和卸載應(yīng)用,利用模擬器,玩家能夠在電腦上運行手機(jī)游戲軟件。相較于手機(jī),個人電腦的各項性能更好,所以玩家在使用模擬器玩游戲時,操作更加方便、運行更加流暢、網(wǎng)絡(luò)連接更穩(wěn)定、游戲視線更好。目前比較主流的模擬器主要有騰訊手游助手、mumu模擬器、逍遙安卓模擬器、夜神模擬器等。模擬器界面如圖1。
從外掛開發(fā)者的角度看,手游模擬器對使用者來說可以視為一個“黑盒”,能夠方便的在外部實現(xiàn)內(nèi)存修改和函數(shù)hook操作。而手游本身難以檢測個人電腦上的外掛程序,也很難通過對內(nèi)存注入渠道進(jìn)行監(jiān)控以達(dá)到防修改的目的,因此很多手游外掛也需要借助模擬器去實現(xiàn)外掛功能。
1.1.2 按鍵精靈
按鍵精靈需要預(yù)先輸入一段按鍵序列,在收到用戶請求后,軟件自動模擬該按鍵序列以及點擊鼠標(biāo),以實現(xiàn)自動簽到、自動掛機(jī)等功能,該類型外掛主要用于RPG游戲。有的還加入了圖像識別功能并分析客戶端的內(nèi)存情況進(jìn)而能夠?qū)崿F(xiàn)自動打怪,自動補血,自動補兵等功能,如圖2。在實現(xiàn)思路上,可以通過AccessibilityService輔助類、Instrumentation方法和adb shell命令方法去實現(xiàn)按鍵精靈的功能。
1.1.3 變速齒輪
變速齒輪通過利用HOOK 時間API,如GetTickCount、timeGetTime、QueryPerformanceCounter等,來修改每幀更新相關(guān)的變量,進(jìn)而改變游戲時間。以手游全民槍戰(zhàn)為例,使用變速齒輪后,計分板顯示的時間變化加快,同時玩家移動速度、更換彈夾速度、開槍速度加快,而正常的玩家移動、更換彈夾都是正常的速度。目前主流的變速齒輪實現(xiàn)原理如圖3。
1.2 專用插件
專用插件類外掛是指針對特定游戲定制的外掛,其在實現(xiàn)方式上,類似插件,能夠?qū)⒐δ苣K注入到游戲進(jìn)程空間中,同時執(zhí)行功能模塊的入口函數(shù)。而該類外掛的功能較通用類外掛更豐富,多涉及內(nèi)存操作,比如FPS游戲中的飛天、無后座、秒殺等功能。如圖4
從注入過程上,Android系統(tǒng)一般采用ptrace注入、Zygote注入和感染ELF文件的方式實現(xiàn)注入過程。IOS系統(tǒng)在越獄后可以利用Cydia框架注入dylib。如圖5,開啟外掛并成功注入游戲后,加在外掛界面引導(dǎo)玩家使用其功能。收到玩家的指令后,外掛通過調(diào)用接口函數(shù)以HOOK操作游戲的關(guān)鍵函數(shù)和修改游戲內(nèi)存數(shù)據(jù),以實現(xiàn)外掛功能。
2. 結(jié)語
手游外掛嚴(yán)重影響了手游產(chǎn)業(yè)的發(fā)展,我們不能否認(rèn)游戲外掛技術(shù)的客觀存在。深入學(xué)習(xí)外掛技術(shù),有利于反外掛方案的提出。當(dāng)然,外掛防治,不單單是技術(shù)問題,更需要公安、玩家、游戲廠商等多方共同參與,一同維護(hù)游戲產(chǎn)業(yè)的健康發(fā)展。
參考文獻(xiàn):
[1]羅平,徐倩華.網(wǎng)絡(luò)游戲外掛技術(shù)及檢測[J].計算機(jī)工程與設(shè)計,2007(06):1273-1276.
[2]騰訊游戲安全實驗室技術(shù)入門[EB/OL].https://gslab.qq.com/portal.php?mod=view&aid=167
[3]安全報告|2018年游戲行業(yè)安全監(jiān)測報告及五大趨勢[EB/OL].https://www.freebuf.com/articles/paper/188153.html