Unity3D 程式的核心組件檔案Assembly-CSharp.dll 是標準的.NET 檔案格式,附帶了方法名稱、類別名、類型定義等豐富的元資料訊息,使用DnSpy 等工具可以輕易地將其反編譯和篡改,程式碼邏輯、類別名稱和方法名稱等一覽無餘。程式碼邏輯一但被反編譯,很容易滋生各種類型的外掛,破壞遊戲平衡,如果程式碼邏輯中存在漏洞,也容易被挖掘和利用,可能對開發商造成無法預料的損失。
Unity3D 程式在編譯打包階段會透過Unity 編輯器將資源打包成Asset Bundle 文件,Asset Bundle 是一種公開的壓縮類別檔案格式,使用Asset Studio 等工具可以對其解析、展示和提取。如果不保護,很容易被竊取進行二次開發。對於網路遊戲,也可以將一些場景資源的材質屬性改為透明,達到透視效果。
兩種編譯方式:ill2cpp和mono。不同的編譯方式,加密方式也不同。將Android Unity3D apk解壓縮,查看lib庫目錄,若是lib目錄下含有libmono.so函式庫,那麼說明Unity3D編譯選項時選擇的是mono,此時需要對apk整個目錄進行加殼。
若是lib目錄下含有libil2cpp.so函式庫,那麼說明Unity3D編譯選項時選擇的是IL2CPP,此時需要對lib目錄下的so函式庫進行保護。
Virbox Protector 1.6版本。試用下載:https://shell.virbox.com/apply.html
加密範例:angrybots5.5.3.apk(編譯選項:mono)
#將angrybots5.5.3.apk匯入VirboxProtector
設定加密選項與資源加密
開始保護
加殼成功後會產生ssp.apk,然後重新對加殼後的ssp.apk進行簽章打包,才能正常安裝。
加密前程式碼反編譯效果
#加密後程式碼反編譯效果
精銳5加密鎖是一款USB加密鎖,安卓裝置上必須能支援插USB設備,精銳5可以控制軟體的使用時間、次數、功能模組等。拔掉加密鎖,設備則無法執行U3D的程式。
#防止隨意拷貝軟體
#限制軟體使用時間
限制軟體使用次數
功能特點
經過授權的裝置會產生本地快取文件,和裝置硬體綁定,有效防止透過拷貝文件的方式盜用授權
授權智慧化
聯通授權啟動、使用情況、設備資訊的壁壘,綜合匯總為開發者提供詳盡的經營數據,輔助開發者執行行銷策略,改善產品
授權自動化
授權的自動啟動及自動恢復減少開發者的管理工作,降低產品推廣過程中的支援工作量,提升產品的體驗。
視覺化資料展板
視覺化資料展現讓開發者掌控授權使用情況
支持廣泛,應用靈活
支援硬體產品包括(不限於)華為海思、大華、海康螢石等智慧攝影機;支援連網或不聯網的裝置上使用
Smart License提供免費試用,首先需要註冊一個Virbox LM開發者帳號(https://developer.lm.virbox.com/),註冊後登入VirboxLM即可進行授權碼的生成和管理。可聯絡深思數盾客製化SDK,做加密及授權的開發。
以上是unity發佈出來的安卓apk該如何加密的詳細內容。更多資訊請關注PHP中文網其他相關文章!