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