• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      游戲反作弊系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

      2017-05-30 11:23:41周標(biāo)強(qiáng)
      企業(yè)科技與發(fā)展 2017年3期

      周標(biāo)強(qiáng)

      【摘 要】隨著智能手機(jī)的不斷普及,手機(jī)游戲用戶將在2018年接近6億人,預(yù)計(jì)到2018年中國手游市場規(guī)模將接近700億元。如此大的市場規(guī)模,必定會引起手游產(chǎn)品的激烈競爭。手游產(chǎn)品若想獲得更長的生命周期,留住忠實(shí)“粉絲”用戶,守護(hù)在市場中應(yīng)得的盈利,除了手游產(chǎn)品本身完整精美之外,游戲任玩家操作搗鼓、抗第三方工具或黑客惡意修改、防止競爭對手對游戲核心成果的竊取和篡改也是至關(guān)重要的。

      【關(guān)鍵詞】Unity;反作弊;DllAPK

      【中圖分類號】TP311.52 【文獻(xiàn)標(biāo)識碼】A 【文章編號】1674-0688(2017)03-0059-03

      游戲反作弊系統(tǒng)是一款A(yù)ndroid端游戲加固型通用工具,可以對任意一款A(yù)ndroid游戲apk純凈包進(jìn)行加固,包括對游戲代碼的加密,防止用戶使用模擬器游戲,防止用戶修改游戲貨幣、道具和資源等數(shù)據(jù),防止用戶修改游戲速度,防止用戶因修改游戲內(nèi)容阻礙其他玩家正常游戲,保障其他正常玩家及付費(fèi)玩家能順利游戲。

      1 目前市場上已有的加固產(chǎn)品的缺點(diǎn)分析

      (1)大多數(shù)加固服務(wù)產(chǎn)品都是基于為app應(yīng)用類apk安裝包加固為設(shè)計(jì)標(biāo)準(zhǔn),極少有針對游戲apk安裝包加固而設(shè)計(jì)的加固服務(wù)產(chǎn)品,特別是針對unity 3d版制作生成的游戲apk安裝包,其加固要求、加固內(nèi)容與加固app應(yīng)用還是有區(qū)別的。

      (2)如果先給游戲apk安裝包加固,每個加固服務(wù)商都要求加固前后的apk安裝包證書一致。對于開發(fā)者來說,開發(fā)者并沒有渠道發(fā)行商的打包證書,即便是簽了合作合同,渠道發(fā)行商也不會將打包證書外流供開發(fā)者使用,打包證書只是由開發(fā)者將apk上傳至渠道發(fā)行商后臺時(shí),由渠道發(fā)行商的系統(tǒng)自動更換,如若采用此操作,加固過后無法更換證書,游戲無法發(fā)行;如果不加固直接發(fā)行,發(fā)行后游戲有可能會被黑客使用模擬器、修改器等工具進(jìn)行危害,各種腳本、外掛、作弊器、分析調(diào)試、內(nèi)存數(shù)據(jù)竊取和篡改都是對游戲造成不安全的因素,最終還有可能破解游戲,造成玩家失去游戲的公平和快樂,開發(fā)者的創(chuàng)作產(chǎn)品和制作心血也將付水東流。

      (3)有些渠道發(fā)行平臺根本沒有針對apk安裝包的后臺操作系統(tǒng),作為開發(fā)者,不知道apk安裝包的各環(huán)節(jié)的流程進(jìn)度,是否審核成功被發(fā)行,上傳apk包打上簽名證書后,也不知道在哪里下載。

      (4)有些渠道發(fā)行平臺收到apk安裝包后,就開始審核,審核成功后立即發(fā)行,沒有加固的apk安裝包就已經(jīng)流入市場。作為開發(fā)者,并不能要求發(fā)行商先將apk打上證書,再交由開發(fā)者和加固服務(wù)商加固apk,此過程,開發(fā)者和加固服務(wù)商都完全接觸不到渠道發(fā)行平臺的審核人員,無法溝通發(fā)行進(jìn)程。

      (5)對于適用的個別渠道發(fā)行平臺,受到時(shí)間的極大限制。開發(fā)者上傳apk安裝包到渠道打上apk簽名證書時(shí),需要單獨(dú)聯(lián)系客服人員,取回簽名過后的apk安裝包,并中斷此次審核,則之前的審核時(shí)間就白白耗費(fèi)。此外,如果游戲因BUG或其他緊急原因需臨時(shí)調(diào)整更新一個新的apk安裝包,此時(shí)恰遇節(jié)假日或非工作時(shí)間,無法聯(lián)系到客服人員,開發(fā)者就只能等待,眼睜睜地看著有問題的游戲安裝包繼續(xù)在市場上運(yùn)行,已經(jīng)修改好的bug不能立即更新到市場上,忍受著玩家不斷的抱怨卻束手無策。

      (6)也有個別加固服務(wù)公司提供了定制的加固服務(wù),但服務(wù)價(jià)格非常昂貴。

      2 系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)思想

      (1)系統(tǒng)基于游戲apk安裝包結(jié)構(gòu),針對黑客玩家經(jīng)常對游戲操作的工具和手段,加入模擬器檢測單元、加速檢測單元、內(nèi)存修改檢測單元和加密單元等幾個重要的部分,防止利用反編譯工具對游戲中DLL文件進(jìn)行調(diào)試源碼、修改源代碼,防止黑客玩家對游戲中內(nèi)存數(shù)據(jù)的竊取、篡改和游戲速度的隨意調(diào)整,防止黑客玩家在電腦端使用模擬器對游戲外掛、作弊、分析調(diào)試,保證玩家在游戲既定的環(huán)境下操作及游戲。

      (2)系統(tǒng)通過對游戲核心模塊的保護(hù),攔截了黑客對游戲資源的入侵、竊取、攻擊,有效地保護(hù)了游戲開發(fā)者及游戲利益相關(guān)者的權(quán)益,游戲開發(fā)者可以把全部心思都放在游戲的創(chuàng)造和制作,不必再為游戲遭受黑客的入侵而擔(dān)心,不必再為游戲遭受黑客的攻擊而煩惱,不必再面對煩瑣的發(fā)行流程而束手無策。

      (3)游戲apk安裝包經(jīng)本系統(tǒng)加固,游戲開發(fā)者可使用自己的簽名證書打包apk,加固后,可上傳至各渠道發(fā)行平臺進(jìn)行審核發(fā)行,如平臺要求apk安裝包需修改為渠道發(fā)行平臺的簽名證書,上傳后由渠道自行修改,且不會影響加固效果;如渠道沒有修改簽名證書的要求,apk安裝包可直接發(fā)行投放市場使用。

      (4)系統(tǒng)簡單易用,游戲開發(fā)者只需準(zhǔn)備好游戲apk安裝包和簽名證書即可。相較于使用第三方加固服務(wù)產(chǎn)品,大大減少了加固階段消耗的時(shí)間。比如上傳apk到加固服務(wù)方的網(wǎng)絡(luò)耗時(shí),加固異常時(shí)聯(lián)系服務(wù)商處理加固異常問題的溝通耗時(shí),加固環(huán)節(jié)到發(fā)行環(huán)節(jié)的操作耗時(shí)等,加固完成后可直接上傳渠道發(fā)行平臺進(jìn)行審核發(fā)行運(yùn)營,進(jìn)一步提高了游戲發(fā)行上線的速度效率;同時(shí),也為專門的游戲開發(fā)者降低了游戲發(fā)行成本,可節(jié)省一筆游戲加固服務(wù)費(fèi)用用于游戲技術(shù)創(chuàng)新和游戲品質(zhì)的提升。游戲開發(fā)者如果有多款游戲產(chǎn)品,也可統(tǒng)一使用此系統(tǒng)加固,方便可靠。

      3 系統(tǒng)的單元結(jié)構(gòu)描述

      系統(tǒng)包括解析單元、加密單元、生成單元、檢測庫啟動包、加固單元、加速檢測單元、模擬器檢測單元、內(nèi)存修改檢測單元;解析單元與加密單元進(jìn)行連接,加密單元與加固單元進(jìn)行連接,生成單元與加固單元進(jìn)行連接,檢測庫啟動包與加固單元進(jìn)行連接,加速檢測單元與加固單元進(jìn)行連接,模擬器檢測單元與加固單元進(jìn)行連接,內(nèi)存修改單元與加固單元進(jìn)行連接。各單元關(guān)系連接圖如圖1所示。以下是對各單元進(jìn)行描述。

      (1)解析單元:本單元將要加固的apk安裝包按Android工程格式解析并還原,本單元將游戲apk安裝包無縫還原,保證游戲中所有的資源的完整性。

      (2)加密單元:本單元是系統(tǒng)的核心部分,安卓平臺的apk安裝包本質(zhì)上是一個zip文件,其結(jié)構(gòu)如圖2所示。

      classes.dex:Android下的可執(zhí)行文件,也就是Java在Android系統(tǒng)下的字節(jié)碼文件。

      resources.arsc:資源文件的索引文件,提供資源文件id到文件路徑的映射關(guān)系及字符串value。

      AndroidManifest.xml:清單文件,注冊應(yīng)用中的四大組件、Application、權(quán)限等信息。

      assets文件夾:存放應(yīng)用的資源文件,包括運(yùn)行在U3D上的DLL文件及其他圖形、聲音、視頻、模型資源文件。

      lib文件夾:存放so文件,包括U3D的libmain/libmono/libunity 3個so文件。

      META-INF:存放簽名相關(guān)的文件。

      res文件夾:存放原生Android應(yīng)用的資源文件。

      加密方式有很多種,目前主要包括以下幾種。①dex文件保護(hù):采用分片式按需加載技術(shù),攻擊者無法在內(nèi)存中獲取完整的dex文件,再加上dex內(nèi)存分散功能,攻擊者無法從一片連續(xù)的內(nèi)存中Dump出dex文件。②so文件保護(hù);御安全加固保護(hù)邏輯,通過源碼級的混淆,采取多種混淆方式,攻擊者無法逆向其代碼邏輯,此外,基于動態(tài)加載的so加殼技術(shù),也使得攻擊者無法逆向保護(hù)邏輯及原apk中so的代碼邏輯。③資源文件保護(hù):防御安全加固系統(tǒng),可以針對apk的Assets及Res目錄下的所有文件進(jìn)行加密保護(hù)并進(jìn)行完整性校驗(yàn),經(jīng)過御安全加固系統(tǒng)加固后的apk,資源無法被篡改,例如無法增加廣告界面,也無法盜版apk里面的資源,可以很好地保護(hù)開發(fā)者的知識產(chǎn)權(quán)。

      本系統(tǒng)采用第3種加密方式,加密單元對unity 3d編譯生成apk安裝包中的游戲代碼dll文件安全加密與解密保護(hù),保護(hù)dll文件不被非法竊取、篡改;防止非開發(fā)人員利用Reflector反編譯工具、Reflexil分析插件對unity 3d游戲的dll文件進(jìn)行調(diào)試源代修改、源代碼等。

      (3)檢測庫啟動包:此包用來啟動模擬器檢測庫、加速檢測庫、內(nèi)存檢測庫等檢測程序。

      (4)加固單元:本單元是系統(tǒng)的關(guān)鍵部分,本單元將加密后的文件加入模擬器檢測庫、加速檢測庫、內(nèi)存修改檢測庫,最后加入檢測庫啟動包。經(jīng)過加固后的文件會基于以下方式運(yùn)行:首先運(yùn)行檢測庫啟動包,其次通過檢測庫啟動包啟動模擬器檢測庫、加速檢測庫、內(nèi)存檢測庫,最后運(yùn)行安裝包程序。

      (5)加速檢測單元:本單元檢測有關(guān)加速模塊是否被修改,一般是檢測gettimeofday、clock_gettime或其他相關(guān)變量值或函數(shù)。

      (6)模擬器檢測單元:本單元檢測模擬器是否存在,是否開啟,是否含有模擬器特征的程序在運(yùn)行,防止模擬器非法運(yùn)行,進(jìn)行非法刷量與惡意調(diào)試等。模擬器可以使android apk在電腦端運(yùn)行,這是非常危險(xiǎn)的,受保護(hù)后,可以防止運(yùn)行在PC上的任何類型的android模擬器,防止電腦端的腳本、外掛、作弊器、分析調(diào)試工具的運(yùn)行,防止電腦端各種不安全因素對游戲造成的危害。

      (7)內(nèi)存修改檢測單元:本單元檢測內(nèi)存中相關(guān)的模塊名、是否有相關(guān)修改內(nèi)存的包名、是否有修改器功能的特征。本單元是對內(nèi)存數(shù)據(jù)的專業(yè)高級保護(hù),可防止內(nèi)存調(diào)試,防止內(nèi)存數(shù)據(jù)被修改,避免黑客通過內(nèi)存信息破解游戲。如果不對游戲進(jìn)行高級內(nèi)存數(shù)據(jù)保護(hù),游戲在運(yùn)行時(shí)可能存在內(nèi)存中的數(shù)據(jù)被篡改和竊取的風(fēng)險(xiǎn)。系統(tǒng)工作流程圖如圖3所示。

      4 結(jié)語

      設(shè)計(jì)實(shí)現(xiàn)一款通用游戲反作弊系統(tǒng),對已經(jīng)完成制作的游戲apk安裝包進(jìn)行加固是很有必要的,它對游戲產(chǎn)業(yè)的健康發(fā)展具有重大意義。

      本系統(tǒng)通過對游戲核心模塊的加固阻礙黑客直接竊取游戲開發(fā)者的勞動成果,阻礙黑客或者非開發(fā)者利用反編譯工具對游戲源代碼及支付模塊代碼的竊取和修改,保障了玩家在游戲中支付后,得到應(yīng)得的商品和服務(wù),促進(jìn)游戲中正常交易的順利進(jìn)行,保障了玩家的利益。只要玩家利益得到了保障,玩家才會繼續(xù)在游戲中投入充值,給開發(fā)者和營運(yùn)者帶來收益;同時(shí),也保障了游戲的收益屬于開發(fā)者和發(fā)行商,利益不被竊取,促進(jìn)游戲行業(yè)、游戲產(chǎn)業(yè)的發(fā)展,保障游戲行業(yè)及游戲產(chǎn)業(yè)鏈帶來的經(jīng)濟(jì)效益,是游戲產(chǎn)業(yè)鏈經(jīng)濟(jì)體制中不可缺少的保護(hù)工具。

      參 考 文 獻(xiàn)

      [1]簡靖韡.Android智能手機(jī)信息安全問題與對策分析[J].通訊世界,2015(24):33.

      [2]佚名.Unity3D[EB/OL].http://Unity3D.com,2016-

      12-05.

      [3]佚名.細(xì)說安卓模擬器和真實(shí)設(shè)備的區(qū)別[EB/OL].http://

      bbs.ednchina.com/FORUM_POST_17_520621_0.HTM,

      2013-03-26.

      [4]佚名.Felix Matenaar,PatrickSchulz,Detecting An-

      droid Sandboxes[EB/OL].http://www.dexlabs.org/blog/

      btdetect,2012-08-10.

      [5]佚名.手游通用加速器功能分析及匯總[EB/OL].http://

      gslab.qq.com/article-12-1.html,2015-12-01.

      [6]張躍騫.Android APP保護(hù)及破解[J].中國教育網(wǎng)絡(luò),2016(Z1):44-46.

      [7]豐生強(qiáng).Android軟件安全與逆向分析[M].北京:人民郵電出版社,2013:78-90.

      [8]杜吉志,徐明昆.Android系統(tǒng)內(nèi)存管理研究及優(yōu)化[J].軟件,2012,24(5):69-80.

      [責(zé)任編輯:鐘聲賢]

      女性| 类乌齐县| 汉沽区| 桑日县| 香河县| 保靖县| 柳江县| 宕昌县| 瑞丽市| 千阳县| 吉水县| 大理市| 涞源县| 桑植县| 泸水县| 措美县| 察隅县| 上林县| 西平县| 襄樊市| 惠州市| 南江县| 犍为县| 平利县| 塔城市| 南宫市| 温泉县| 库尔勒市| 尖扎县| 喜德县| 衡阳市| 赣榆县| 读书| 阜阳市| 泰兴市| 阿拉善左旗| 贵定县| 平原县| 盐山县| 淳安县| 页游|