如何反編譯UNITY遊戲?

更新 發佈閱讀 4 分鐘
vocus|新世代的創作平台

在撰寫這篇文章之前,我曾認為Unity的遊戲比使用JavaScript編寫的網頁遊戲更安全。因為編譯出的遊戲apk檔案是以二進制形式儲存,相較於使用純文字JavaScript程式碼建立的遊戲,要逆向工程遊戲應該非常困難。

然而,在進行了一些實驗後,我發現我的理論是錯誤的,因此決定寫下這篇教學文章。

通過使用IL2CPP作為腳本後端來編譯遊戲,可以輕鬆從apk檔案中逆向還原出C#源代碼,這讓惡意駭客有能力查看您在遊戲中實現了哪些類、方法、函數、屬性,甚至是邏輯。

在本教學中,您將了解在Android平台上逆向工程基於Unity的遊戲有多容易。

這是何時發生的?

自2019年8月1日起,Google要求所有遊戲支持64位架構,Unity開發者需要在構建和發布遊戲到Google Play商店時啟用IL2CPP腳本後端功能。 這可能存在公開發現遊戲代碼的風險。

參考資料:https://developer.android.com/distribute/best-practices/develop/64-bit

使用Unity的IL2CPP模式編譯Android遊戲

選擇IL2CPP的後台模式來編譯遊戲

vocus|新世代的創作平台

反組譯 apk 檔案

  • 下載和設定 apktool
  • 執行apktool指令來解壓縮 apk 檔案
apktool d -r -s [your game].apk
  • 你可看到解出來的檔案如下
vocus|新世代的創作平台

/Assets/ : 包含美術和聲音文件,

/lib/arm64-v8a/libil2cpp.so: 包含遊戲代碼

Assets/bin/data/Managed/Metadata/global-metadata.dat: 包含ill2cpp.so中的類名、屬性、字符串映射表。


逆向工程DLL文件

  • 下載 Il2CppDumper
  • 將global-metadata.dat和libil2cpp.so複製到ll2CppDumper-v6.6.2文件夾中
cp Assets/bin/data/Managed/Metadata/global-metadata.dat to ll2CppDumper-v6.6.2
cp lib/armeabi-v7a/libil2cpp.so ll2CppDumper-v6.6.2

執行Il2CppDumper.exe並選擇global-metadata.dat 和 libil2cpp.so檔案

vocus|新世代的創作平台

你可看到會產生出一個DummyDll檔案目錄

vocus|新世代的創作平台

下載 dnSpy

使用dnSpy打開DummyDLL中的Assembly-CSharp.dll

  • Assembly-CSharp.dll包含您的遊戲源代碼和相關庫文件。
  • 這個工具讓您查看公開的代碼和類別。


總結

在本教學中,您學到了只要您熟悉一些工具,逆向工程Unity Android遊戲是件非常容易的事。

接下來,我將會分享一系列文章。關於如何保護您的Unity遊戲免受黑客攻擊和其他主題。

朋友們,如果您喜歡這篇文章,請給按點👏來支持一下。

謝謝您的閱讀!


原文發佈於 Game Tech Tutorial

留言
avatar-img
遊戲技術部落格與生活筆記
4會員
8內容數
分享技術文章解決問題及生活點滴。技術包括雲端技術(AWS, GCP, Azure)的實戰經驗、雲端證照考試指南、Unity遊戲開發、DevOps、SDK,手機遊戲和應用程式及網站開發。
你可能也想看
Thumbnail
在撰寫這篇文章之前,我曾認為Unity的遊戲比使用JavaScript編寫的網頁遊戲更安全。因為編譯出的遊戲apk檔案是以二進制形式儲存,相較於使用純文字JavaScript程式碼建立的遊戲,要逆向工程遊戲應該非常困難。 然而,在進行了一些實驗後,我發現我的理論是錯誤的,因此決定寫下這篇教學文章。
Thumbnail
在撰寫這篇文章之前,我曾認為Unity的遊戲比使用JavaScript編寫的網頁遊戲更安全。因為編譯出的遊戲apk檔案是以二進制形式儲存,相較於使用純文字JavaScript程式碼建立的遊戲,要逆向工程遊戲應該非常困難。 然而,在進行了一些實驗後,我發現我的理論是錯誤的,因此決定寫下這篇教學文章。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
Unity UPR 是一款資源檢測軟體,用於不同平台的基本規範來進行專案優化的指導,這篇就要來教學怎麼在 Windows 系統上使用 cmd 來導入專案資訊到網站的 Unity UPR 進行資源檢測。
Thumbnail
Unity UPR 是一款資源檢測軟體,用於不同平台的基本規範來進行專案優化的指導,這篇就要來教學怎麼在 Windows 系統上使用 cmd 來導入專案資訊到網站的 Unity UPR 進行資源檢測。
Thumbnail
Steam上的遊戲製作工具那麼多,到底哪個比較好用呢? 我只能說,每個人的能力和想製作的遊戲類型都不同,適合的工具當然也不會一樣,只能你自己去選擇最適合的。 雖然沒有辦法推薦最適合你的,但可以告訴你避開地雷工具的訣竅!
Thumbnail
Steam上的遊戲製作工具那麼多,到底哪個比較好用呢? 我只能說,每個人的能力和想製作的遊戲類型都不同,適合的工具當然也不會一樣,只能你自己去選擇最適合的。 雖然沒有辦法推薦最適合你的,但可以告訴你避開地雷工具的訣竅!
Thumbnail
C# 9.0 給 Unity 程式設計上帶來的便利
Thumbnail
C# 9.0 給 Unity 程式設計上帶來的便利
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
如何使用Game CI 提供的Github Action 將建置專案自動化
Thumbnail
如何使用Game CI 提供的Github Action 將建置專案自動化
Thumbnail
完成了Debug.log()的測試,接著還是要跟各位簡單講一下C#的一些規則,之後看程式會(比較)看得懂。 又講到變數? 在Unity中,變數是重要的工具,用來儲存和管理資料。讓開發者能夠靈活調整遊戲的行為和性能,減少代碼的重複性,使得遊戲開發更加高效和簡潔。透過使用變數,開發者可以輕鬆修改資料
Thumbnail
完成了Debug.log()的測試,接著還是要跟各位簡單講一下C#的一些規則,之後看程式會(比較)看得懂。 又講到變數? 在Unity中,變數是重要的工具,用來儲存和管理資料。讓開發者能夠靈活調整遊戲的行為和性能,減少代碼的重複性,使得遊戲開發更加高效和簡潔。透過使用變數,開發者可以輕鬆修改資料
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News