unity發布出來的安卓apk該如何加密

Unity3D程序的安全問題

代碼安全問題

unity3d 程序的核心程序集文件 assembly-csharp.dll 是標準的 .net 文件格式,附帶了方法名、類名、類型定義等豐富的元數據信息,使用 dnspy 等工具可以輕易地將其反編譯和篡改,代碼邏輯、類名和方法名等一覽無余。代碼邏輯一但被反編譯,很容易滋生各種類型的外掛,破壞游戲平衡,如果代碼邏輯中存在漏洞,也容易被挖掘和利用,可能對開發商造成無法預料的損失。

資源安全問題

Unity3D 程序在編譯打包階段會通過 Unity 編輯器將資源打包成 Asset Bundle 文件,Asset Bundle 是一種公開的壓縮類文件格式,使用 Asset Studio 等工具可以對其解析、展示和提取。如果不保護,很容易被竊取進行二次開發。對于網絡游戲,還可以將一些場景資源的材質屬性改為透明,實現透視效果。

需求一:安卓U3D-APK的加密保護

兩種編譯方式:ill2cpp和mono。不同的編譯方式,加密方式也不同。將android Unity3D apk解壓,查看lib庫目錄,若是lib目錄下含有libmono.so庫,那么說明Unity3D編譯選項時選擇的是mono,此時需要對apk整個目錄進行加殼。

unity發布出來的安卓apk該如何加密

若是lib目錄下含有libil2cpp.so庫,那么說明Unity3D編譯選項時選擇的是IL2CPP,此時需要對lib目錄下的so庫進行保護。

unity發布出來的安卓apk該如何加密

加密工具

Virbox Protector 1.6版本。試用下載:https://shell.virbox.com/apply.html

加密例子:angrybots5.5.3.apk(編譯選項:mono)

加密過程

  1. 將angrybots5.5.3.apk導入VirboxProtector

unity發布出來的安卓apk該如何加密

  1. 設置加密選項和資源加密

unity發布出來的安卓apk該如何加密

  1. 開始保護

unity發布出來的安卓apk該如何加密

加殼成功后會生成ssp.apk,然后重新對加殼后的ssp.apk進行簽名打包,才能正常安裝。

加密效果

代碼加密效果

加密前代碼反編譯效果

unity發布出來的安卓apk該如何加密

加密后代碼反編譯效果

unity發布出來的安卓apk該如何加密

資源加密效果對比

unity發布出來的安卓apk該如何加密

需求二:控制設備程序的授權使用

解決方案1:精銳5加密鎖

方案簡介

精銳5加密鎖是一款USB加密鎖,安卓設備上必須能支持插USB設備,精銳5可以控制軟件的使用時間、次數、功能模塊等。拔掉加密鎖,設備則無法運行U3D的程序。

unity發布出來的安卓apk該如何加密

解決問題
  • 防止隨意拷貝軟件

  • 限制軟件使用時間

  • 限制軟件使用次數

如何使用

精銳5加密鎖可配合Virbox Protector一起使用,一方面做代碼及資源加密,同時做軟件的授權管控。同時精銳5加密鎖也提供了SDK,可快速實現寫鎖的授權,不需要做代碼開發。全程使用工具操作加密及寫鎖。只需要到深思數盾商城購買一套開發套件即可開始測試。

解決方案2:Smart License

方案簡介

Smart License支持安卓及ARM平臺下的程序授權控制,使用形式為授權碼(16位字母和數字),可快速實現一碼一機和一碼多機方案。同時可快速實現軟件的限時及功能模塊的限制使用。

unity發布出來的安卓apk該如何加密

?功能特點

  • 綁定硬件,防止拷貝

經過授權的設備會生成本地緩存文件,和設備硬件綁定,有效防止通過拷貝文件的方式盜用授權

  • 授權智能化

聯通授權激活、使用情況、設備信息的壁壘,綜合匯總為開發者提供詳實的經營數據,輔助開發者執行營銷策略,改善產品

授權的自動激活及自動恢復減少開發者的管理工作,降低產品推廣過程中的支持工作量,提升產品的體驗。

  • 可視化數據展板

可視化數據展現讓開發者掌控授權使用情況

  • 支持廣泛,應用靈活

支持硬件產品包括(不限于)華為海思、大華、海康螢石等智能攝像頭;支持聯網或不聯網的設備上使用

如何使用

Smart License提供免費試用,首先需要注冊一個Virbox LM開發者賬號(https://developer.lm.virbox.com/),注冊后登錄VirboxLM即可進行授權碼的生成和管理。可聯系深思數盾定制SDK,做加密及授權的開發。

? 版權聲明
THE END
喜歡就支持一下吧
點贊15 分享