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,做加密及授权的开发。

看完上述内容,你们掌握unity发布出来的安卓apk该如何加密的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

文章标题:unity发布出来的安卓apk该如何加密,发布者:亿速云,转载请注明出处:https://worktile.com/kb/p/24497

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
亿速云的头像亿速云
上一篇 2022年9月13日
下一篇 2022年9月13日

相关推荐

  • 2024年9款优质CRM系统全方位解析

    文章介绍的工具有:纷享销客、Zoho CRM、八百客、红圈通、简道云、简信CRM、Salesforce、HubSpot CRM、Apptivo。 在选择合适的CRM系统时,许多企业面临着功能繁多、选择困难的痛点。对于中小企业来说,找到一个既能提高客户关系管理效率,又能适应业务扩展的CRM系统尤为重要…

    2024年7月25日
    1600
  • 数据库权限关系图表是什么

    数据库权限关系图表是一种以图表形式展示数据库权限分配和管理的工具。它可以有效地帮助我们理解和管理数据库中的各种权限关系。数据库权限关系图表主要包含以下几个部分:数据对象、用户(或用户组)、权限类型、权限级别、权限状态等。其中,数据对象是权限关系图表中的核心元素,它代表了数据库中的各种数据资源,如表、…

    2024年7月22日
    200
  • 诚信数据库是什么意思

    诚信数据库是一种收集、存储和管理个人或组织诚信信息的系统。它是一种用于评估和管理个人或组织行为的工具,通常由政府、商业组织或者非营利组织进行运营。诚信数据库的主要功能包括:1、评估个人或组织的诚信状况;2、提供决策支持;3、预防和控制风险;4、促进社会信用体系建设。 在这四大功能中,评估个人或组织的…

    2024年7月22日
    400
  • 数据库期末关系代数是什么

    关系代数是一种对关系进行操作的代数系统,是关系模型的数学基础,主要用于从关系数据库中检索数据。其操作包括选择、投影、并集、差集、笛卡尔积、连接、除法等。其中,选择操作是对关系中的元组进行筛选,只保留满足某一条件的元组;投影操作则是从关系中选择出一部分属性构造一个新的关系。 一、选择操作 选择操作是关…

    2024年7月22日
    700
  • mysql建立数据库用什么命令

    在MySQL中,我们使用"CREATE DATABASE"命令来创建数据库。这是一个非常简单且基础的命令,其语法为:CREATE DATABASE 数据库名。在这个命令中,“CREATE DATABASE”是固定的,而“数据库名”则是你要创建的数据库的名称,可以自己设定。例如,如…

    2024年7月22日
    500
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部