'外掛猖獗,吃雞王者全部淪陷?深度解析手遊外掛分類及原理介紹'

"

什麼是外掛

外掛,原指一切用來破壞遊戲程序正常遊戲數據和邏輯的工具或破解版。比如可以修改遊戲內存數據的修改器,又比如可以修改網絡數據包的抓包工具。這類外掛或多或少會影響遊戲的內存數據、文件數據、網絡數據,甚至代碼邏輯。

但隨著外掛市場的發展,外掛衍生出其它惡意變種。這類外掛不會影響遊戲數據和邏輯,例如脫機掛、模擬器和腳本精靈。脫機掛是外掛作者逆向遊戲協議後獨立開發的非法客戶端,能讓玩家節約很多時間多開刷遊戲;模擬器能讓玩家在PC上玩移動遊戲,在FPS等遊戲上能獲得更好的操作環境,從而幫助玩家變相碾壓對手;腳本精靈則是能錄製模擬玩家行為,對遊戲事件進行響應,實現自動刷金幣經驗等功能。但這幾類新興外掛有個共同特性:即是欺瞞遊戲服務器,欺瞞客戶端、設備和操作者。

結合上面分析,可以給出一個更適合當下移動遊戲安全狀況的外掛定義:破壞遊戲客戶端正常數據和代碼邏輯,或偽造遊戲客戶端操作狀況的工具或破解版。

外掛的分類

移動遊戲上已經出現過大量外掛樣本,根據其特徵可整理如圖所示分類圖。

"

什麼是外掛

外掛,原指一切用來破壞遊戲程序正常遊戲數據和邏輯的工具或破解版。比如可以修改遊戲內存數據的修改器,又比如可以修改網絡數據包的抓包工具。這類外掛或多或少會影響遊戲的內存數據、文件數據、網絡數據,甚至代碼邏輯。

但隨著外掛市場的發展,外掛衍生出其它惡意變種。這類外掛不會影響遊戲數據和邏輯,例如脫機掛、模擬器和腳本精靈。脫機掛是外掛作者逆向遊戲協議後獨立開發的非法客戶端,能讓玩家節約很多時間多開刷遊戲;模擬器能讓玩家在PC上玩移動遊戲,在FPS等遊戲上能獲得更好的操作環境,從而幫助玩家變相碾壓對手;腳本精靈則是能錄製模擬玩家行為,對遊戲事件進行響應,實現自動刷金幣經驗等功能。但這幾類新興外掛有個共同特性:即是欺瞞遊戲服務器,欺瞞客戶端、設備和操作者。

結合上面分析,可以給出一個更適合當下移動遊戲安全狀況的外掛定義:破壞遊戲客戶端正常數據和代碼邏輯,或偽造遊戲客戶端操作狀況的工具或破解版。

外掛的分類

移動遊戲上已經出現過大量外掛樣本,根據其特徵可整理如圖所示分類圖。

外掛猖獗,吃雞王者全部淪陷?深度解析手遊外掛分類及原理介紹

外掛分類

外掛可分為兩大類:輔助和破解版,這兩類外掛的核心區別在於:是否需要依賴遊戲客戶端。輔助類外掛是需要結合遊戲客戶端運行的;而破解版則是可獨立運行的非法客戶端。

1、輔助

輔助類外掛需要依賴遊戲客戶端,不能獨自生效。根據其作用範圍可以再劃分為兩個小類:專用插件和通用工具。

1.1 專用插件

專用插件類外掛,作用範圍只針對特定遊戲,屬於定製化外掛。其存在形式依據平臺不同而有所區別,在Android下以SO形式,而在IOS下以dylib形式。比如Android上盛行一時的叉叉和圈圈助手,則是專用插件類外掛的典型。其內部集成了多款Android手遊功能插件,針對不同手遊注入不同SO實現外掛功能。類似的IOS上也出現過888輔助,針對多款熱門手遊注入不同Dylib實現無敵、秒怪功能功能。這類專用插件外掛,外掛功能較為靈活,一般都可隨時關閉或者開啟。

"

什麼是外掛

外掛,原指一切用來破壞遊戲程序正常遊戲數據和邏輯的工具或破解版。比如可以修改遊戲內存數據的修改器,又比如可以修改網絡數據包的抓包工具。這類外掛或多或少會影響遊戲的內存數據、文件數據、網絡數據,甚至代碼邏輯。

但隨著外掛市場的發展,外掛衍生出其它惡意變種。這類外掛不會影響遊戲數據和邏輯,例如脫機掛、模擬器和腳本精靈。脫機掛是外掛作者逆向遊戲協議後獨立開發的非法客戶端,能讓玩家節約很多時間多開刷遊戲;模擬器能讓玩家在PC上玩移動遊戲,在FPS等遊戲上能獲得更好的操作環境,從而幫助玩家變相碾壓對手;腳本精靈則是能錄製模擬玩家行為,對遊戲事件進行響應,實現自動刷金幣經驗等功能。但這幾類新興外掛有個共同特性:即是欺瞞遊戲服務器,欺瞞客戶端、設備和操作者。

結合上面分析,可以給出一個更適合當下移動遊戲安全狀況的外掛定義:破壞遊戲客戶端正常數據和代碼邏輯,或偽造遊戲客戶端操作狀況的工具或破解版。

外掛的分類

移動遊戲上已經出現過大量外掛樣本,根據其特徵可整理如圖所示分類圖。

外掛猖獗,吃雞王者全部淪陷?深度解析手遊外掛分類及原理介紹

外掛分類

外掛可分為兩大類:輔助和破解版,這兩類外掛的核心區別在於:是否需要依賴遊戲客戶端。輔助類外掛是需要結合遊戲客戶端運行的;而破解版則是可獨立運行的非法客戶端。

1、輔助

輔助類外掛需要依賴遊戲客戶端,不能獨自生效。根據其作用範圍可以再劃分為兩個小類:專用插件和通用工具。

1.1 專用插件

專用插件類外掛,作用範圍只針對特定遊戲,屬於定製化外掛。其存在形式依據平臺不同而有所區別,在Android下以SO形式,而在IOS下以dylib形式。比如Android上盛行一時的叉叉和圈圈助手,則是專用插件類外掛的典型。其內部集成了多款Android手遊功能插件,針對不同手遊注入不同SO實現外掛功能。類似的IOS上也出現過888輔助,針對多款熱門手遊注入不同Dylib實現無敵、秒怪功能功能。這類專用插件外掛,外掛功能較為靈活,一般都可隨時關閉或者開啟。

外掛猖獗,吃雞王者全部淪陷?深度解析手遊外掛分類及原理介紹

圈圈修改器

1.2 通用工具

顧名思義,通用工具是針對所有手遊,其支持的是通用功能。

內存修改器,用來搜索修改遊戲內存數據。在Android平臺上較為主流,有燒餅、葫蘆俠等典型代表,如下圖所示。玩家一般根據遊戲面板中的精確數據,利用修改器搜索相應數值,再根據數值變化規律多次搜索排除定位到相應屬性在內存中的位置,直接修改成誇張效果值。後期也有各種變種,比如模糊搜索,僅通過數據變大變小來搜索;加密搜索,帶有反簡單加密(異或加密等)功能搜索。這類修改器外掛,常見外掛功能是改人物屬性實現秒怪、無敵等。

"

什麼是外掛

外掛,原指一切用來破壞遊戲程序正常遊戲數據和邏輯的工具或破解版。比如可以修改遊戲內存數據的修改器,又比如可以修改網絡數據包的抓包工具。這類外掛或多或少會影響遊戲的內存數據、文件數據、網絡數據,甚至代碼邏輯。

但隨著外掛市場的發展,外掛衍生出其它惡意變種。這類外掛不會影響遊戲數據和邏輯,例如脫機掛、模擬器和腳本精靈。脫機掛是外掛作者逆向遊戲協議後獨立開發的非法客戶端,能讓玩家節約很多時間多開刷遊戲;模擬器能讓玩家在PC上玩移動遊戲,在FPS等遊戲上能獲得更好的操作環境,從而幫助玩家變相碾壓對手;腳本精靈則是能錄製模擬玩家行為,對遊戲事件進行響應,實現自動刷金幣經驗等功能。但這幾類新興外掛有個共同特性:即是欺瞞遊戲服務器,欺瞞客戶端、設備和操作者。

結合上面分析,可以給出一個更適合當下移動遊戲安全狀況的外掛定義:破壞遊戲客戶端正常數據和代碼邏輯,或偽造遊戲客戶端操作狀況的工具或破解版。

外掛的分類

移動遊戲上已經出現過大量外掛樣本,根據其特徵可整理如圖所示分類圖。

外掛猖獗,吃雞王者全部淪陷?深度解析手遊外掛分類及原理介紹

外掛分類

外掛可分為兩大類:輔助和破解版,這兩類外掛的核心區別在於:是否需要依賴遊戲客戶端。輔助類外掛是需要結合遊戲客戶端運行的;而破解版則是可獨立運行的非法客戶端。

1、輔助

輔助類外掛需要依賴遊戲客戶端,不能獨自生效。根據其作用範圍可以再劃分為兩個小類:專用插件和通用工具。

1.1 專用插件

專用插件類外掛,作用範圍只針對特定遊戲,屬於定製化外掛。其存在形式依據平臺不同而有所區別,在Android下以SO形式,而在IOS下以dylib形式。比如Android上盛行一時的叉叉和圈圈助手,則是專用插件類外掛的典型。其內部集成了多款Android手遊功能插件,針對不同手遊注入不同SO實現外掛功能。類似的IOS上也出現過888輔助,針對多款熱門手遊注入不同Dylib實現無敵、秒怪功能功能。這類專用插件外掛,外掛功能較為靈活,一般都可隨時關閉或者開啟。

外掛猖獗,吃雞王者全部淪陷?深度解析手遊外掛分類及原理介紹

圈圈修改器

1.2 通用工具

顧名思義,通用工具是針對所有手遊,其支持的是通用功能。

內存修改器,用來搜索修改遊戲內存數據。在Android平臺上較為主流,有燒餅、葫蘆俠等典型代表,如下圖所示。玩家一般根據遊戲面板中的精確數據,利用修改器搜索相應數值,再根據數值變化規律多次搜索排除定位到相應屬性在內存中的位置,直接修改成誇張效果值。後期也有各種變種,比如模糊搜索,僅通過數據變大變小來搜索;加密搜索,帶有反簡單加密(異或加密等)功能搜索。這類修改器外掛,常見外掛功能是改人物屬性實現秒怪、無敵等。

外掛猖獗,吃雞王者全部淪陷?深度解析手遊外掛分類及原理介紹

燒餅修改器

變速器,加快遊戲節奏,節省玩家時間;或者減慢遊戲節奏,減低操作難度。其影響遊戲幀更新頻率,可實現加速過關、減速躲技能等外掛功能。有叉叉變速器、燒餅變速器等典型代表,如下午所示。常見外掛功能均是在遊戲對局中,利用變速器加速功能,主角和怪物AI的攻擊節奏加快,能快速結束戰鬥。

"

什麼是外掛

外掛,原指一切用來破壞遊戲程序正常遊戲數據和邏輯的工具或破解版。比如可以修改遊戲內存數據的修改器,又比如可以修改網絡數據包的抓包工具。這類外掛或多或少會影響遊戲的內存數據、文件數據、網絡數據,甚至代碼邏輯。

但隨著外掛市場的發展,外掛衍生出其它惡意變種。這類外掛不會影響遊戲數據和邏輯,例如脫機掛、模擬器和腳本精靈。脫機掛是外掛作者逆向遊戲協議後獨立開發的非法客戶端,能讓玩家節約很多時間多開刷遊戲;模擬器能讓玩家在PC上玩移動遊戲,在FPS等遊戲上能獲得更好的操作環境,從而幫助玩家變相碾壓對手;腳本精靈則是能錄製模擬玩家行為,對遊戲事件進行響應,實現自動刷金幣經驗等功能。但這幾類新興外掛有個共同特性:即是欺瞞遊戲服務器,欺瞞客戶端、設備和操作者。

結合上面分析,可以給出一個更適合當下移動遊戲安全狀況的外掛定義:破壞遊戲客戶端正常數據和代碼邏輯,或偽造遊戲客戶端操作狀況的工具或破解版。

外掛的分類

移動遊戲上已經出現過大量外掛樣本,根據其特徵可整理如圖所示分類圖。

外掛猖獗,吃雞王者全部淪陷?深度解析手遊外掛分類及原理介紹

外掛分類

外掛可分為兩大類:輔助和破解版,這兩類外掛的核心區別在於:是否需要依賴遊戲客戶端。輔助類外掛是需要結合遊戲客戶端運行的;而破解版則是可獨立運行的非法客戶端。

1、輔助

輔助類外掛需要依賴遊戲客戶端,不能獨自生效。根據其作用範圍可以再劃分為兩個小類:專用插件和通用工具。

1.1 專用插件

專用插件類外掛,作用範圍只針對特定遊戲,屬於定製化外掛。其存在形式依據平臺不同而有所區別,在Android下以SO形式,而在IOS下以dylib形式。比如Android上盛行一時的叉叉和圈圈助手,則是專用插件類外掛的典型。其內部集成了多款Android手遊功能插件,針對不同手遊注入不同SO實現外掛功能。類似的IOS上也出現過888輔助,針對多款熱門手遊注入不同Dylib實現無敵、秒怪功能功能。這類專用插件外掛,外掛功能較為靈活,一般都可隨時關閉或者開啟。

外掛猖獗,吃雞王者全部淪陷?深度解析手遊外掛分類及原理介紹

圈圈修改器

1.2 通用工具

顧名思義,通用工具是針對所有手遊,其支持的是通用功能。

內存修改器,用來搜索修改遊戲內存數據。在Android平臺上較為主流,有燒餅、葫蘆俠等典型代表,如下圖所示。玩家一般根據遊戲面板中的精確數據,利用修改器搜索相應數值,再根據數值變化規律多次搜索排除定位到相應屬性在內存中的位置,直接修改成誇張效果值。後期也有各種變種,比如模糊搜索,僅通過數據變大變小來搜索;加密搜索,帶有反簡單加密(異或加密等)功能搜索。這類修改器外掛,常見外掛功能是改人物屬性實現秒怪、無敵等。

外掛猖獗,吃雞王者全部淪陷?深度解析手遊外掛分類及原理介紹

燒餅修改器

變速器,加快遊戲節奏,節省玩家時間;或者減慢遊戲節奏,減低操作難度。其影響遊戲幀更新頻率,可實現加速過關、減速躲技能等外掛功能。有叉叉變速器、燒餅變速器等典型代表,如下午所示。常見外掛功能均是在遊戲對局中,利用變速器加速功能,主角和怪物AI的攻擊節奏加快,能快速結束戰鬥。

外掛猖獗,吃雞王者全部淪陷?深度解析手遊外掛分類及原理介紹

叉叉變速器

按鍵精靈,模擬用戶按鍵。簡單版本是直接錄製一段固定按鍵序列,然後循環模擬該按鍵序列。後續發展成可識別圖像觸發特定按鍵。這類外掛典型有觸動精靈、按鍵精靈等,常見於刷部分等重複性操作較多的手遊。比如某飛機遊戲中,可利用按鍵精靈隨機移動飛機刷副本攢取金幣經驗。

"

什麼是外掛

外掛,原指一切用來破壞遊戲程序正常遊戲數據和邏輯的工具或破解版。比如可以修改遊戲內存數據的修改器,又比如可以修改網絡數據包的抓包工具。這類外掛或多或少會影響遊戲的內存數據、文件數據、網絡數據,甚至代碼邏輯。

但隨著外掛市場的發展,外掛衍生出其它惡意變種。這類外掛不會影響遊戲數據和邏輯,例如脫機掛、模擬器和腳本精靈。脫機掛是外掛作者逆向遊戲協議後獨立開發的非法客戶端,能讓玩家節約很多時間多開刷遊戲;模擬器能讓玩家在PC上玩移動遊戲,在FPS等遊戲上能獲得更好的操作環境,從而幫助玩家變相碾壓對手;腳本精靈則是能錄製模擬玩家行為,對遊戲事件進行響應,實現自動刷金幣經驗等功能。但這幾類新興外掛有個共同特性:即是欺瞞遊戲服務器,欺瞞客戶端、設備和操作者。

結合上面分析,可以給出一個更適合當下移動遊戲安全狀況的外掛定義:破壞遊戲客戶端正常數據和代碼邏輯,或偽造遊戲客戶端操作狀況的工具或破解版。

外掛的分類

移動遊戲上已經出現過大量外掛樣本,根據其特徵可整理如圖所示分類圖。

外掛猖獗,吃雞王者全部淪陷?深度解析手遊外掛分類及原理介紹

外掛分類

外掛可分為兩大類:輔助和破解版,這兩類外掛的核心區別在於:是否需要依賴遊戲客戶端。輔助類外掛是需要結合遊戲客戶端運行的;而破解版則是可獨立運行的非法客戶端。

1、輔助

輔助類外掛需要依賴遊戲客戶端,不能獨自生效。根據其作用範圍可以再劃分為兩個小類:專用插件和通用工具。

1.1 專用插件

專用插件類外掛,作用範圍只針對特定遊戲,屬於定製化外掛。其存在形式依據平臺不同而有所區別,在Android下以SO形式,而在IOS下以dylib形式。比如Android上盛行一時的叉叉和圈圈助手,則是專用插件類外掛的典型。其內部集成了多款Android手遊功能插件,針對不同手遊注入不同SO實現外掛功能。類似的IOS上也出現過888輔助,針對多款熱門手遊注入不同Dylib實現無敵、秒怪功能功能。這類專用插件外掛,外掛功能較為靈活,一般都可隨時關閉或者開啟。

外掛猖獗,吃雞王者全部淪陷?深度解析手遊外掛分類及原理介紹

圈圈修改器

1.2 通用工具

顧名思義,通用工具是針對所有手遊,其支持的是通用功能。

內存修改器,用來搜索修改遊戲內存數據。在Android平臺上較為主流,有燒餅、葫蘆俠等典型代表,如下圖所示。玩家一般根據遊戲面板中的精確數據,利用修改器搜索相應數值,再根據數值變化規律多次搜索排除定位到相應屬性在內存中的位置,直接修改成誇張效果值。後期也有各種變種,比如模糊搜索,僅通過數據變大變小來搜索;加密搜索,帶有反簡單加密(異或加密等)功能搜索。這類修改器外掛,常見外掛功能是改人物屬性實現秒怪、無敵等。

外掛猖獗,吃雞王者全部淪陷?深度解析手遊外掛分類及原理介紹

燒餅修改器

變速器,加快遊戲節奏,節省玩家時間;或者減慢遊戲節奏,減低操作難度。其影響遊戲幀更新頻率,可實現加速過關、減速躲技能等外掛功能。有叉叉變速器、燒餅變速器等典型代表,如下午所示。常見外掛功能均是在遊戲對局中,利用變速器加速功能,主角和怪物AI的攻擊節奏加快,能快速結束戰鬥。

外掛猖獗,吃雞王者全部淪陷?深度解析手遊外掛分類及原理介紹

叉叉變速器

按鍵精靈,模擬用戶按鍵。簡單版本是直接錄製一段固定按鍵序列,然後循環模擬該按鍵序列。後續發展成可識別圖像觸發特定按鍵。這類外掛典型有觸動精靈、按鍵精靈等,常見於刷部分等重複性操作較多的手遊。比如某飛機遊戲中,可利用按鍵精靈隨機移動飛機刷副本攢取金幣經驗。

外掛猖獗,吃雞王者全部淪陷?深度解析手遊外掛分類及原理介紹

按鍵精靈

模擬器,讓玩家可在PC上運行手遊。這類工具是在PC端運行,主流是海馬玩、天天、TGP等。由於PC有較好的鼠標、鍵盤操作手感,這類外掛工具用在FPS或格鬥手游上非常imba。FPS上能快速滑動視角瞄準開槍,格鬥手游上能風騷走位釋放連招等。

"

什麼是外掛

外掛,原指一切用來破壞遊戲程序正常遊戲數據和邏輯的工具或破解版。比如可以修改遊戲內存數據的修改器,又比如可以修改網絡數據包的抓包工具。這類外掛或多或少會影響遊戲的內存數據、文件數據、網絡數據,甚至代碼邏輯。

但隨著外掛市場的發展,外掛衍生出其它惡意變種。這類外掛不會影響遊戲數據和邏輯,例如脫機掛、模擬器和腳本精靈。脫機掛是外掛作者逆向遊戲協議後獨立開發的非法客戶端,能讓玩家節約很多時間多開刷遊戲;模擬器能讓玩家在PC上玩移動遊戲,在FPS等遊戲上能獲得更好的操作環境,從而幫助玩家變相碾壓對手;腳本精靈則是能錄製模擬玩家行為,對遊戲事件進行響應,實現自動刷金幣經驗等功能。但這幾類新興外掛有個共同特性:即是欺瞞遊戲服務器,欺瞞客戶端、設備和操作者。

結合上面分析,可以給出一個更適合當下移動遊戲安全狀況的外掛定義:破壞遊戲客戶端正常數據和代碼邏輯,或偽造遊戲客戶端操作狀況的工具或破解版。

外掛的分類

移動遊戲上已經出現過大量外掛樣本,根據其特徵可整理如圖所示分類圖。

外掛猖獗,吃雞王者全部淪陷?深度解析手遊外掛分類及原理介紹

外掛分類

外掛可分為兩大類:輔助和破解版,這兩類外掛的核心區別在於:是否需要依賴遊戲客戶端。輔助類外掛是需要結合遊戲客戶端運行的;而破解版則是可獨立運行的非法客戶端。

1、輔助

輔助類外掛需要依賴遊戲客戶端,不能獨自生效。根據其作用範圍可以再劃分為兩個小類:專用插件和通用工具。

1.1 專用插件

專用插件類外掛,作用範圍只針對特定遊戲,屬於定製化外掛。其存在形式依據平臺不同而有所區別,在Android下以SO形式,而在IOS下以dylib形式。比如Android上盛行一時的叉叉和圈圈助手,則是專用插件類外掛的典型。其內部集成了多款Android手遊功能插件,針對不同手遊注入不同SO實現外掛功能。類似的IOS上也出現過888輔助,針對多款熱門手遊注入不同Dylib實現無敵、秒怪功能功能。這類專用插件外掛,外掛功能較為靈活,一般都可隨時關閉或者開啟。

外掛猖獗,吃雞王者全部淪陷?深度解析手遊外掛分類及原理介紹

圈圈修改器

1.2 通用工具

顧名思義,通用工具是針對所有手遊,其支持的是通用功能。

內存修改器,用來搜索修改遊戲內存數據。在Android平臺上較為主流,有燒餅、葫蘆俠等典型代表,如下圖所示。玩家一般根據遊戲面板中的精確數據,利用修改器搜索相應數值,再根據數值變化規律多次搜索排除定位到相應屬性在內存中的位置,直接修改成誇張效果值。後期也有各種變種,比如模糊搜索,僅通過數據變大變小來搜索;加密搜索,帶有反簡單加密(異或加密等)功能搜索。這類修改器外掛,常見外掛功能是改人物屬性實現秒怪、無敵等。

外掛猖獗,吃雞王者全部淪陷?深度解析手遊外掛分類及原理介紹

燒餅修改器

變速器,加快遊戲節奏,節省玩家時間;或者減慢遊戲節奏,減低操作難度。其影響遊戲幀更新頻率,可實現加速過關、減速躲技能等外掛功能。有叉叉變速器、燒餅變速器等典型代表,如下午所示。常見外掛功能均是在遊戲對局中,利用變速器加速功能,主角和怪物AI的攻擊節奏加快,能快速結束戰鬥。

外掛猖獗,吃雞王者全部淪陷?深度解析手遊外掛分類及原理介紹

叉叉變速器

按鍵精靈,模擬用戶按鍵。簡單版本是直接錄製一段固定按鍵序列,然後循環模擬該按鍵序列。後續發展成可識別圖像觸發特定按鍵。這類外掛典型有觸動精靈、按鍵精靈等,常見於刷部分等重複性操作較多的手遊。比如某飛機遊戲中,可利用按鍵精靈隨機移動飛機刷副本攢取金幣經驗。

外掛猖獗,吃雞王者全部淪陷?深度解析手遊外掛分類及原理介紹

按鍵精靈

模擬器,讓玩家可在PC上運行手遊。這類工具是在PC端運行,主流是海馬玩、天天、TGP等。由於PC有較好的鼠標、鍵盤操作手感,這類外掛工具用在FPS或格鬥手游上非常imba。FPS上能快速滑動視角瞄準開槍,格鬥手游上能風騷走位釋放連招等。

外掛猖獗,吃雞王者全部淪陷?深度解析手遊外掛分類及原理介紹

TGP模擬器

抓包工具,用於攔截遊戲的上下行數據包,可篡改、重發、丟棄。比如XXX。針對沒有進行協議加密的遊戲,這類外掛工具的危害較大。比如某格鬥遊戲中曾出現下發人物屬性數據包是明文的現象,被玩家發現後玩家直接修改相應屬性成較大值即實現了秒怪功能。該工具主要是利用遊戲協議方面的漏洞,一方面是協議內容是否加密好;另一方面是協議設計是否存在邏輯漏洞(重發、丟棄數據包是否會出現外掛功能)。

"

什麼是外掛

外掛,原指一切用來破壞遊戲程序正常遊戲數據和邏輯的工具或破解版。比如可以修改遊戲內存數據的修改器,又比如可以修改網絡數據包的抓包工具。這類外掛或多或少會影響遊戲的內存數據、文件數據、網絡數據,甚至代碼邏輯。

但隨著外掛市場的發展,外掛衍生出其它惡意變種。這類外掛不會影響遊戲數據和邏輯,例如脫機掛、模擬器和腳本精靈。脫機掛是外掛作者逆向遊戲協議後獨立開發的非法客戶端,能讓玩家節約很多時間多開刷遊戲;模擬器能讓玩家在PC上玩移動遊戲,在FPS等遊戲上能獲得更好的操作環境,從而幫助玩家變相碾壓對手;腳本精靈則是能錄製模擬玩家行為,對遊戲事件進行響應,實現自動刷金幣經驗等功能。但這幾類新興外掛有個共同特性:即是欺瞞遊戲服務器,欺瞞客戶端、設備和操作者。

結合上面分析,可以給出一個更適合當下移動遊戲安全狀況的外掛定義:破壞遊戲客戶端正常數據和代碼邏輯,或偽造遊戲客戶端操作狀況的工具或破解版。

外掛的分類

移動遊戲上已經出現過大量外掛樣本,根據其特徵可整理如圖所示分類圖。

外掛猖獗,吃雞王者全部淪陷?深度解析手遊外掛分類及原理介紹

外掛分類

外掛可分為兩大類:輔助和破解版,這兩類外掛的核心區別在於:是否需要依賴遊戲客戶端。輔助類外掛是需要結合遊戲客戶端運行的;而破解版則是可獨立運行的非法客戶端。

1、輔助

輔助類外掛需要依賴遊戲客戶端,不能獨自生效。根據其作用範圍可以再劃分為兩個小類:專用插件和通用工具。

1.1 專用插件

專用插件類外掛,作用範圍只針對特定遊戲,屬於定製化外掛。其存在形式依據平臺不同而有所區別,在Android下以SO形式,而在IOS下以dylib形式。比如Android上盛行一時的叉叉和圈圈助手,則是專用插件類外掛的典型。其內部集成了多款Android手遊功能插件,針對不同手遊注入不同SO實現外掛功能。類似的IOS上也出現過888輔助,針對多款熱門手遊注入不同Dylib實現無敵、秒怪功能功能。這類專用插件外掛,外掛功能較為靈活,一般都可隨時關閉或者開啟。

外掛猖獗,吃雞王者全部淪陷?深度解析手遊外掛分類及原理介紹

圈圈修改器

1.2 通用工具

顧名思義,通用工具是針對所有手遊,其支持的是通用功能。

內存修改器,用來搜索修改遊戲內存數據。在Android平臺上較為主流,有燒餅、葫蘆俠等典型代表,如下圖所示。玩家一般根據遊戲面板中的精確數據,利用修改器搜索相應數值,再根據數值變化規律多次搜索排除定位到相應屬性在內存中的位置,直接修改成誇張效果值。後期也有各種變種,比如模糊搜索,僅通過數據變大變小來搜索;加密搜索,帶有反簡單加密(異或加密等)功能搜索。這類修改器外掛,常見外掛功能是改人物屬性實現秒怪、無敵等。

外掛猖獗,吃雞王者全部淪陷?深度解析手遊外掛分類及原理介紹

燒餅修改器

變速器,加快遊戲節奏,節省玩家時間;或者減慢遊戲節奏,減低操作難度。其影響遊戲幀更新頻率,可實現加速過關、減速躲技能等外掛功能。有叉叉變速器、燒餅變速器等典型代表,如下午所示。常見外掛功能均是在遊戲對局中,利用變速器加速功能,主角和怪物AI的攻擊節奏加快,能快速結束戰鬥。

外掛猖獗,吃雞王者全部淪陷?深度解析手遊外掛分類及原理介紹

叉叉變速器

按鍵精靈,模擬用戶按鍵。簡單版本是直接錄製一段固定按鍵序列,然後循環模擬該按鍵序列。後續發展成可識別圖像觸發特定按鍵。這類外掛典型有觸動精靈、按鍵精靈等,常見於刷部分等重複性操作較多的手遊。比如某飛機遊戲中,可利用按鍵精靈隨機移動飛機刷副本攢取金幣經驗。

外掛猖獗,吃雞王者全部淪陷?深度解析手遊外掛分類及原理介紹

按鍵精靈

模擬器,讓玩家可在PC上運行手遊。這類工具是在PC端運行,主流是海馬玩、天天、TGP等。由於PC有較好的鼠標、鍵盤操作手感,這類外掛工具用在FPS或格鬥手游上非常imba。FPS上能快速滑動視角瞄準開槍,格鬥手游上能風騷走位釋放連招等。

外掛猖獗,吃雞王者全部淪陷?深度解析手遊外掛分類及原理介紹

TGP模擬器

抓包工具,用於攔截遊戲的上下行數據包,可篡改、重發、丟棄。比如XXX。針對沒有進行協議加密的遊戲,這類外掛工具的危害較大。比如某格鬥遊戲中曾出現下發人物屬性數據包是明文的現象,被玩家發現後玩家直接修改相應屬性成較大值即實現了秒怪功能。該工具主要是利用遊戲協議方面的漏洞,一方面是協議內容是否加密好;另一方面是協議設計是否存在邏輯漏洞(重發、丟棄數據包是否會出現外掛功能)。

外掛猖獗,吃雞王者全部淪陷?深度解析手遊外掛分類及原理介紹

WPE網絡封包編輯器

2、破解版

破解版類外掛本質上是一個非法客戶端。常見能分為兩類:脫機掛和小修小改的破解版。

脫機掛,是外掛作者基於遊戲協議的分析,自己開發的一個遊戲客戶端。通常情況下,這類客戶端都可用來多開直接刷副本等功能,收益巨大。工作室對這類外掛的需求較大。

受損破解版,這裡採用受損來定義是因為此類破解版是基於正版客戶端修修改改實現的。其功能相對輔助類外掛靈活性不夠,一般是一類破解版固定開啟一類外掛功能,遊戲過程中無法關閉。

外掛實現原理簡介

不同類型的外掛,其實現原理相差較大。這裡根據上述每個外掛分類介紹下其大致實現原理。

1、輔助

輔助類外掛是基於遊戲客戶端,動態修改遊戲數據類型外掛。

1.1 專用插件

專用插件類外掛,屬於定製化外掛,每個外掛只針對一款遊戲。這類外掛的實現顧名思義,是插件形式:利用注入技術將功能模塊注入到遊戲進程空間中,並執行功能模塊入口函數。在不同的移動設備上,有不同的注入手段。Android平臺上的Zygote注入、直接ptrace注入技術;IOS上利用Cydia框架注入dylib。

外掛功能模塊在被注入到遊戲進程後,會執行HOOK操作實現外掛功能。外掛作者事先需要逆向分析遊戲代碼邏輯,找到一些遊戲功能函數地址,比如說怪物扣血處理函數。然後在外掛功能模塊中通過HOOK操作,掛鉤相應函數,改寫參數或者調用邏輯(多次回調,或者步調用)。

在底層彙編,HOOK操作可以理解為在特定代碼地址,增加個跳轉指令跳轉到外掛作者自定義函數中。目前已經有封裝優秀的三方庫支持HOOK操作,外掛作者只需要調用相應接口函數,即可實現對指定函數進行HOOK操作,如substrate。

因此,專用輔助可以很靈活修改遊戲代碼邏輯,通過多次回調怪物扣血函數實現秒怪、通過屏蔽玩家扣血函數實現無敵等。

1.2 通用工具

該類外掛工具,平臺或者遊戲引擎相關,跟具體遊戲無關,實現的是跨遊戲的一類外掛功能。

內存修改器,其功能本質是實現對指定進程內存數據的讀寫。其實現技術主要體現在如何讀寫遊戲內存數據上。可分為兩類實現方式,一類和專用插件類似實現,注入一個通用功能模塊到遊戲進程中,根據本地socket接收操作(搜索修改),直接遍歷內存等方式實現;另一類實現,是根據平臺加載機制取巧實現,如Android平臺下通過/proc/[pid]/maps可讀寫遊戲內存鏡像。

變速器,影響遊戲時間度量。通常遊戲需要以幀為單位播放畫面,播放畫面過程中計算每幀動畫播放所需時間(也可理解為兩個畫面切換的間隔時間),遊戲需要調用C庫函數獲取系統時間以供計算每幀更新。目前外網主流的遊戲加速器,針對不同引擎,加速器修改了不同Libc.so相關函數,如gettimeofday、clock_getime。修改方式則是上面提到的HOOK實現,針對此類lic的導出函數,具體點還可以有導入表HOOK等方式。

按鍵精靈,調用系統API,發送特定操作序列,模擬用戶按鍵。這類外掛功能的實現,和系統相關性較大,因為其實現是通過相應系統API發送操作事件模擬全局按鍵。在Android上,可通過Instrumentation接口的sendPointerSync函數實現;也可通過ROOT權限驅動級調用Runtime.getRuntime().exec()執行sendevent等命令。

模擬器,讓玩家可在PC上運行手遊。PC上的模擬器,目前主要流行的是Android模擬器,其具體產品有TGP、海馬玩、天天等模擬器。其核心實現,還是基於VirtualBox模擬Android系統,可直接模擬x86架構的Android系統。

抓包工具,本質是網絡數據包編輯器。一類實現方式是基於硬件,比如讓網卡處於混亂模式,即可攔截數據包;另一類則是通過HOOK,針對send和recv類函數進行攔截,獲得網絡數據包。

2、破解版

破解版是通過事先靜態修改後的獨立的遊戲客戶端。

前面提到的一種脫機掛,在端游上盛行一時。外掛作者前期逆向分析了遊戲的網絡協議後,可自己編寫獨立三方客戶端。這類外掛技術難度較高,主要體現在逆向分析遊戲協議上面。

另一類則是對遊戲客戶端修修改改後實現的遊戲破解版。可以根據修改的客戶端數據不同分類:邏輯代碼和數據資源。

邏輯代碼:Android平臺下邏輯代碼的修改,根據遊戲引擎不同,改的東西也有所區別。常見的cocos遊戲,其邏輯代碼保存在so,可通過IDA等工具讀取修改ARM、THUMB彙編指令;Unity遊戲,其C#腳本代碼則是保存在/assets/bin/Data/Managed/Assembly-CSharp.dll中,也可通過ildasm等工具轉成IL代碼進行修改操作。而在IOS平臺下,代碼都在app的bin文件中,和Android中的so類似,只需要瞭解THUMB即可。同樣的,還有Lua等代碼,根據遊戲語言不同改的方式也不同。直接修改彙編指令,可改動空間較小,一般實現是修改跳轉、參數賦值。比如死亡判斷、通關判斷、扣血函數參數修改等。IL、Lua等的修改,則相對較為簡單。

數據資源:這裡的資源,包括除去代碼外的一切遊戲客戶端資源,譬如圖片資源、配置資源、音樂資源等。一些破解版是純粹的美化破解版,沒有任何收益,比如說替換背景美女圖片等打打廣告。但更多的是通過修改資源文件去實現遊戲邏輯修改,這類實現需要較多逆向積累,哪些資源較為敏感可能導致外掛功能。找到後,如何去修改也是一個技術難點。有些遊戲的安全性不夠,資源文件明文存放則非常方便壞人修改;但很多資源會有多多少少進行加密。這裡提兩個常用的替換資源破解版的實現方法:無腦替換和分析調試。

無腦替換,不管三七二十一,嘗試刪除資源文件或者替換成空的,甚至將同類型資源文件重命名過來覆蓋。這類方法實現的外掛和修改器外掛數量不相上下,一方面是遊戲安全性不足;另一方面是這類外掛實現較為簡單。比如某飛機遊戲上,刪除子彈資源即可實現敵機無子彈效果;又比如某酷跑遊戲上,覆蓋一份XXX_1配置文件到其它前綴相同的配置文件(XXX_2、XXX_3...)中,可實現關卡難度降低等。

分析調試,這類實現效果和替換法一樣,但其前期是通過靜態分析或者動態調試分析確認資源的作用和加密方式。

由於手遊中,總有邏輯相關數據是存放到客戶端資源上面,所以此類方法百試不爽。

展望

本篇幅普及了移動遊戲上的外掛知識,旨在讓行業相關從業者意識到移動遊戲的安全問題,並能以此為起點深思促進行業技術發展。

來源:遊戲安全實驗室(GSLAB.QQ.COM)https://gslab.qq.com/

"

相關推薦

推薦中...