【乾貨】輔助外掛開發流程

2022-01-06 遊戲安全實驗室

遊戲輔助外掛是修改遊戲進程的數據和代碼的作弊程序,輔助外掛對遊戲負面影響極大,對抗輔助外掛也是勢在必行。而對抗輔助外掛首先需要對外掛的開發流程有一個詳細透徹地了解,本小節將系統地介紹手遊輔助外掛開發流程,揭開外掛的神秘面紗。


一、輔助外掛介紹

隨著手機遊戲產業鏈的壯大,手遊吸引著越來越多地用戶和廠商加入。與此同時,也吸引了一部分外掛開發者從PC端遊戲產業轉移到手遊產業,形成了龐大的外掛地下黑色產業鏈。目前手機端上的輔助外掛種類豐富多樣,包括定製化外掛、內存修改器、變速器、按鍵精靈等,其中定製化外掛是針對特定地遊戲,包含了豐富且強大的作弊功能,在輔助外掛中佔據了重要的地位,也是遊戲安全對抗的重點所在。

因此本章節著重針對定製化輔助外掛的開發流程進行介紹。定製化外掛的開發流程較為複雜,涉及到的技術較多,其中很多技術在對抗輔助外掛時也應用廣泛,了解和掌握這些技術在對抗輔助外掛時也會極具奇效。

二、輔助外掛基礎開發流程2.1 總體流程

如下圖2-1所示,為定製化輔助外掛的總體開發流程。定製化輔助外掛的主最終目的是為了對遊戲進程的數據和代碼進行修改,從而實現特定的作弊功能。下面小節將簡單介紹各流程,具體技術細節可以參考後面章節。

圖2-1 定製化輔助外掛開發流程

2.2 逆向分析遊戲邏輯

在開始進行遊戲的輔助外掛開發前,需要對遊戲進程進行逆向分析,了解遊戲的具體邏輯,才能針對特定的遊戲邏輯來製作輔助外掛。例如針對一個射擊類型的遊戲,輔助外掛功能可以包括無限暴走、秒殺、無敵、敵機不攻擊等。要實現戰機無敵功能需要分析遊戲的傷害邏輯,要實現秒殺和敵機不攻擊功能需要分析遊戲的攻擊邏輯。

在Android平臺上,最常見的就是cocos2d遊戲與unity3d遊戲,cocos遊戲的逆向分析可以藉助IDA Pro工具,使用IDA既可以對遊戲主邏輯模塊進行靜態分析,也可以對遊戲進程進行動態調試,具體分析方法可參見前面《IDA靜態分析》與《Android平臺IDA動態調試》章節。unity遊戲的逆向分析方法與cocos遊戲稍有不同,unity遊戲的主邏輯代碼使用C#語言編寫,代碼一般存放在」Assembly-CSharp.dll」文件中,通過ILSpy等工具可以將dll文件反編譯成C#代碼。在IOS平臺上,同樣可以使用IDA工具對遊戲程序的主邏輯模塊進行靜態分析,但IDA暫不支持IOS平臺上的動態調試,讀者可使用GDB或lldb工具對IOS平臺上的遊戲進程進行動態調試。


2.3 枚舉遊戲進程模塊

遊戲進程在運行過程中會加載很多內部和外部的模塊,其中就包含遊戲的主邏輯模塊,輔助外掛主要目標就是修改主邏輯模塊的代碼和數據。要修改主邏輯模塊的代碼和數據,首先就必須先獲取主邏輯模塊在內存中加載的基地址。

通過枚舉遊戲進程的所有模塊,根據模塊名稱可以定位到指定的模塊加載基地址。在Android平臺上,不注入遊戲進程就可以對遊戲進程的模塊進行枚舉,讀取」/proc/$pid/maps」文件可以獲取遊戲進程的當前加載的所有模塊名稱、基址、權限等信息,其中pid為遊戲進程的ID。在IOS平臺上,必須先注入遊戲進程才能枚舉進程模塊,通過遍歷遊戲進程的虛擬內存,定位dyld模塊以及「_dyld_all_image_infos」符號數據,從符號的內容地址中獲取模塊信息。

2.4 注入遊戲進程

雖然在Android平臺上枚舉遊戲進程模塊不需要注入遊戲進程,但是輔助外掛要修改遊戲進程的代碼和數據就必須注入遊戲進程。注入遊戲進程的方法豐富多樣,但Android設備上動態注入遊戲進程需要先獲得root權限,在IOS設備上注入遊戲進程則需要先進行越獄。

在Android平臺上可以通過ptrace直接注入共享連結庫到遊戲進程中,並且執行共享連結庫中的函數。但目前手遊市場上很多遊戲都針對ptrace注入進行了保護,輔助外掛無法簡單地直接ptrace注入到遊戲進程中,此時輔助外掛另闢蹊徑,通過ptrace注入zygote進程來間接注入遊戲進程。在Android系統中,大部分應用程式進程都是由zygote進程創建,遊戲進程也不例外,輔助外掛注入zygote進程後,HOOK zygote創建子進程和加載主Activity的函數來感知遊戲進程的創建,在遊戲進程創建時注入模塊到遊戲進程中。除了動態注入遊戲進程外,還可以通過靜態感染ELF的方式來注入遊戲。在IOS平臺上通過mobilesubstrate庫可以很方便地將dylib注入到遊戲進程中。

2.5 Hook關鍵函數

在注入到遊戲進程後,可以對遊戲進程主邏輯模塊中的代碼進行修改。而輔助外掛為了實現開關控制,一般會對遊戲的關鍵函數進行HOOK,可以在遊戲調用關鍵函數時獲取執行權限,用於實現外掛功能。

Hook又被稱為鉤子,Hook技術不僅僅應用於輔助外掛和惡意軟體的開發,在很多安全軟體上都頻繁使用到Hook技術。函數Hook技術的本質就是劫持函數的調用。在Android平臺上,可以在Java層對API函數進行Hook,也可以在Native層對進程的So庫函數進行Hook。在遊戲外掛對抗領域,由於遊戲的主邏輯核心代碼都在So文件中,所以輔助外掛常採用的就是Native層的Hook技術。Native層的Hook方式多種多樣,包括導入表Hook、基於異常的Hook、Inline Hook等。

導入表Hook是通過替換對應So文件的.Got表中指定函數地址實現對函數的Hook,基於異常的Hook方式是修改指定地址處代碼為異常指令,通過異常處理函數捕獲異常,獲取執行權限和當前執行的上下文環境。Inline Hook在Windows、Linux平臺都有廣泛地應用,Android平臺上的Inline Hook實現原理與其他平臺相似,都是通過修改函數指令跳轉到Hook函數。

Android平臺上也出現了很多第三方的Hook框架工具。其中代表的就是Xposed框架和Cydia Substrate框架。Xposed框架是一款可以在不修改APK程序的情況下影響程序運行的框架,通過替換」/system/bin/app_process」 程序控制 zygote 進程,使 app_process 在啟動過程中加載XposedBridge.jar,從而劫持Zygote進程及其創建的Dalvik虛擬機。Cydia Substrate框架在Android和IOS平臺上都有廣泛地應用,曾名噪一時的叉叉外掛就採用了Substrate框架來對遊戲進程的函數進行Hook。

2.6 遊戲內存數據修改

Hook技術本質上是對代碼的修改,在遊戲進程內存中,代碼也是數據,故Hook也是一種對遊戲內存數據修改的方法。除了對代碼的修改外,輔助外掛也經常對遊戲內存數據進行修改,其中比較典型的就是修改器,市面上流行的修改器有葫蘆俠修改器和燒餅修改器,這兩種修改器都是通過搜索」/proc/$pid/mem」來實現的,」/proc/$pid/mem」是對應進程的內存映射,通過搜索該文件就可以在不注入遊戲進程的情況下搜索和修改遊戲進程內存數據。

*轉載請註明來自遊戲安全實驗室(GSLAB.QQ.COM)

相關焦點

  • 三國志戰略版外掛下載方法 三國志戰略版有外掛輔助嗎
    三國志戰略版有外掛嗎?三國志戰略版外掛怎麼下載?不少玩家都想知道關於這款遊戲外掛輔助下載地址!話不多說,下面,就隨琵琶網小編來了解一下吧!   三國志戰略版有外掛嗎?   三國志戰略版這款遊戲雖然在防外掛上做的非常不錯,可是偶爾還是會出現一些外掛輔助器,玩家可以自動幫忙刷地和完成日常任務。
  • 製作銷售網路遊戲外掛、網遊輔助、腳本插件怎麼判刑,判幾年?
    最近幾年,因為製作、銷售外掛、腳本、遊戲輔助而被抓的人越來越多,甚至有些人最後被判了刑,這應該引起外掛從業者的警惕,雖然網遊外掛、輔助產業作為黑灰產領域存在法律的漏洞,但想在外掛領域撈金的風險越來越大,這裡我就說一下,外掛的一些風險以及如何才能爭取到無罪和最輕的處罰。
  • PUBG反外掛內部流程,雪地地圖12月必出!官方人員爆了一堆猛料!
    當舉報外掛後,PUBG 內部是如何處理的?Nelsen 在採訪中詳細講解了目前 PUBG 內部對外掛的處理流程,主要包括自動處理、半自動處理和手動處理 3 種流程。自動處理應該是客戶端 / 伺服器主動檢測遊戲中是否有開掛玩家,這個採訪中沒具體說,主要講的是半自動和手動處理流程。
  • 微信《彈球王者》外掛工具下載 刷分輔助修改器
    導 讀 彈球王者外掛是一款功能十分強大的微信小遊戲修改工具,內置強大的刷分功能,提供自動刷分的腳本以及無限次數的遊戲外掛,如何上分就看你的選擇了,需要的小夥伴趕緊來下載這款彈球王者外掛吧
  • lol手遊透視輔助下載 lol手遊外掛軟體地址
    而玩lol手遊的玩家,應該都是有玩過王者榮耀的,在王者榮耀遊戲內經常會出現各種外掛工具,比如全圖透視等,然後也會有很多頭腦靈活的玩家想知道lol手遊是不是也可以使用透視外掛呢?        lol手遊透視輔助怎麼下載?
  • 物理遊戲輔助設備算不算外掛?丨問爆觸樂
    所以,本周的問爆觸樂問題是:物理遊戲輔助設備算不算外掛?李惟曉如果脈衝信號實現連點算是外掛,那麼純機械的裝置算不算外掛?比如我做一個指套用電機驅動,可以實現更快速的點擊,這樣是不是也算外掛?我認為,在對這些談不上有大影響的「物理外掛」重拳出擊之前,不如先把那些非物理的,但是對他人遊戲體驗影響更大的外掛處理掉。陳靜我覺得可以換個角度想:不論是硬體還是軟體,這些「輔助設備」能允許出現在官方舉辦的競技(或者競速)比賽裡嗎?
  • 報告顯示:外掛樣本更新頻次越來越高 輔助工具呈現平臺化趨勢
    摘要:系列解讀的第三篇,剖析外掛趨勢和遊戲風險環境趨勢。  近日,國內領先的手遊反外掛服務商網易易盾對外發布了《2019年手遊反外掛報告》(以下將簡稱「報告」),依靠其豐富的數據和深入的洞察,報告全面地呈現了手遊外掛的真實情況。本篇文章,將和大家呈現報告裡提及的外掛趨勢,以及遊戲風險環境趨勢。
  • 全國首例涉王者榮耀遊戲外掛刑案背後:寄生著一條外掛生態鏈
    隨著詢問的進一步深入,民警對這個外掛的來源與功能有了大概了解:一個QQ群:××全網代理分享;兩個QQ好友:超人、Godspeed;三個文件:root軟體、操作流程、王者榮耀內部輔助軟體;一個激活碼。四樣俱全,解鎖封印,便能在遊戲裡開啟無敵模式、亞瑟加速、秒殺、自動刷圖等功能,無需人工操作,怪物血量為零碰到就死,幾秒一局短時刷滿一天金幣。
  • 微信《彈球王者》輔助修改器下載 外掛腳本分享
    導 讀 彈球王者高分輔助可用版是微信上一款火爆的彈球遊戲的輔助工具,內置一鍵刷分功能,讓你不需動手便能獲取超高的遊戲分數,需要的小夥伴趕緊來下載這款彈球王者高分輔助可用版吧
  • 普通外掛弱爆了!那些防不勝防的「物理外掛」
    例如,外掛軟體可以破解遊戲的網絡傳輸數據,破解了協議後甚至不需要開啟遊戲本身就能開掛;又例如,外掛通過注入內存、劫持滑鼠運行軌跡、自動腳本等方法來修改遊戲。軟體開掛破壞力巨大,不過所幸的是,軟體開掛往往有跡可循,大多數網絡對戰遊戲對外掛檢測還是很嚴格的,例如最近外掛泛濫的《絕地求生:大逃殺》就封了數十萬的開掛帳號,開掛開得了一時,很難開一世。
  • 虛假的遊戲外掛,真正的木馬病毒
    對於資深遊戲迷來說,「外掛」這個詞一定不陌生。儘管面臨被封號的危險,但仍有部分遊戲玩家玩兒遊戲喜歡到處找外掛或遊戲輔助工具,而病毒傳播者往往利用遊戲玩家這一點傳播木馬病毒,專門用來遊戲盜號、竊取隱私,甚至遠程控制。
  • 分享:常規遊戲項目開發流程
    在這些階段中,我們都必須注意開發流程中的一些重要因數:角色:定義一些角色,規定其工作權力和責任,避免過度討論或盲進交付物件標準:每個角色都必須按照一定標準來交付工作成果,避免在長長的工作鏈條中出現很多誤差。工作方法細節:由於遊戲開發是一個涉及多個專業的複雜過程,所以這個過程中有一些工作方法,是必須要遵守的,否則將會嚴重降低開發效率。
  • 刺激戰場:物理「透視」外掛!光子絕對不封號,堪稱輔助神器!
    現版本刺激戰場的外掛確實多的可怕,基本上皇冠局以上幾局就能碰到一個外掛「神仙」,不過在10月份光子的嚴打之下,外掛的使用頻率確實下降了很多,畢竟用掛有風險,封號遲早要來了的,只是時間的早晚而已,然而外掛使用頻率最高的就是透視外掛了,這個外掛對於菜雞的作用不大,壓槍不會,打不準,但是對於那些「偽大神
  • 舍友一個月做出的遊戲,我一天做出了外掛(硬核乾貨,建議收藏)
    今天的文章想聽故事有故事,想要乾貨有乾貨,硬核知識還是夠硬核的,歡迎收藏、點讚加在看,一鍵三連。樣子的,我們的外掛想實現什麼樣的功能,實際可以實現什麼樣的功能。從外掛製作的角度外掛的本質在於對數據的修改,我們利用CE這個強大的工具,可以方便的幫我們定位數據在什麼地方,也可以直接修改,也可以直接鎖定讓這個數值不變。但是我們是要製作一個外掛,而不是每次都用CE去找。所以我們需要寫一個程序來幫我們做這件事,什麼事情呢?就是幫我們找到數據的地址然後修改它,沒錯就是這麼簡單。
  • 《跳一跳》2018最新版下載 新版輔助外掛刷高分下載地址
    大家在玩的時候,肯定都已經看到了排行榜上面有著非常多的分數,那麼大家就可以一起來看看,到底什麼外掛輔助好用的一點。 微信跳一跳怎麼自動跳躍? ... 微信跳一跳怎麼自動跳躍?用滑鼠輕鬆刷分辦法是什麼?
  • 最全一級土地開發流程,以及重點問題實操
    Part1一級開發流程 1.1土地一級開發的概念 土地一級開發指由政府或其授權委託的企業,對一定區域範圍內的城市國有土地
  • 暴打外掛!瞬移、無敵功能秒實現
    外掛與反外掛之間的鬥爭,如今早已不是什麼新鮮事,特別是第一人稱射擊遊戲這—「外掛重災區」。聊到被外掛坑慘了的遊戲,拋開CS GO不談,《絕地求生》絕對榜上有名。從當年爆火甚至一度超越LOL成為現象級遊戲,到現在不慍不火,趨於平淡,外掛絕對是關鍵因素。無論是玩家自發還是官方組織,各種反外掛的套路層出不窮,「神仙房」「連坐制」都想到了,可外掛的售賣者依舊大有人在。
  • 絕地大逃殺神仙輔助開發,月入百萬太簡單!
    K哥說,成熟的外掛製作團隊會購置大量電腦用於測試新開發的外掛,甚至搭建自己的伺服器,「因為卡號密碼需要和資料庫核對進行授權購買,有自己的伺服器比較方便安全」。利益鏈條的中間是代理。K哥所在的總代理群就幾十人,下級代理群則有幾千人。一款新的外掛做出來後,工作室會交給總代理測試,然後根據測試的反饋進行修改,再向下級代理群收費、發布。
  • LOL手遊被外掛攻陷,拳頭官方確定,工具是中國玩家開發的
    ,外掛總是無處不在。現在拳頭官方也確定,這個工具就是中國玩家開發的,小編已經想到了後續的結果,那就是拳頭髮文抱怨,中國玩家製作的外掛檢測不完,一個被封之後馬上下一個外掛就出來了,根本無法解決。而最有效的方法就是交給騰訊,騰訊雖然製作遊戲方面可能不如國外,但是在檢測外掛方面騰訊還是有一手的。
  • 外掛還是智商稅?自走棋外掛體驗小報告
    昨天,有網友爆料在觀看直播時發現有主播在使用自走棋「外掛輔助」。