加密混淆的目的是让不怀好意者更难对你的项目进行逆向工程,我们可以使用Obfuscator 插件.

该插件的好处是与Unity构建过程无缝链接,源文件的内容保持不变,而混淆只针对于已编译的程序集。

插件下载

obfuscator 插件链接:UnityObfuscator插件-Unity3D文档类资源-CSDN下载

一、导入及配置

1.插件版本:Obfuscator 3.9.0+

2.在Unity项目工程文件中导入该插件

3.导入完成后,先把工程项目打包Build出来一遍,会适配Obfuscator插件

4.Build完成后,控制台会显示Obfuscation successful,说明适配已经完成了

5.在Editor\Beebyte\Obfuscator文件夹目录中会多出了一个ObfuscatorOptions的配置文件

6.选中ObfuscatorOptions文件,在Inspector中可看到它的配置信息面板

二、详细用法解释

1.Obfuscation Enabled勾选即启用混淆代码插件
2.Obfuscate development builds 勾选即在Unity Development Builds模式中启用

3.混淆所有程序集,由Unity构建过程创建的要模糊化的程序集列表,包含文件扩展名
4.需要混淆的程序集文件名称

需要混淆代码的部分,包括:类名、方法名、参数、字段、属性、事件

5.枚举常量的混淆
6.公开的Mono方法、公开的Mono字段、以及MonoBehaviour类名的混淆,MonoBehaviour类名的混淆目前仅可在PC、Mac、Linux中使用
7.添加Obfuscator版本特性,启用此功能可防止意外地多次混淆相同的DLL。如果你选择通过菜单选项手动混淆dll,特别推荐使用它。

8.设置混淆的细节级别。在弹出窗口中显示的细节级别。Detailed会将项目的混淆时间增加40%左右

9.上面都是一些混淆的属性,包括添加虚假的代码的参数,红圈内两个参数建议填写91和1,混淆的代码会呈现的是“[]”,在视觉上会是看到这种效果:

Add fake code(添加虚假代码):推荐使用,它会复制现有的方法,并以误导人们的方式巧妙地修改副本。虽会增加文件大小和增加混淆构建时间,但不会改变代码流。

10.需要添加跳过混淆的命名空间、类、unity方法

11.其他参数就不一一列举了,可根据英文意思推断出其用法

更深入的用法:(必须懂)

[Skip] 和 [SkipRename]的标注
1.在Unity中若有拖拽赋值的点击事件或Animation Clip方法,该方法需要标注[SkipRename]

2.所有的数据类需要注明[Skip]不然调用不到里面的属性

3.插件不会去混淆Plugins文件夹内的代码,若第三方插件失效的话,看看有没有放置到Plugins文件夹内

4.跳过命名空间递归:

当勾选时,所有的AAA的子命名空间也会被跳过

当不勾选时,所有的AAA的子命名空间不会被跳过

三、反编译工具:ILSpy、DotPeek

GitHub - icsharpcode/ILSpy: .NET Decompiler with support for PDB generation, ReadyToRun, Metadata (&more) - cross-platform!
dotPeek: Free .NET Decompiler & Assembly Browser by JetBrains

使用这些工具可对程序进行反编译,查看混淆的效果

Unity 项目加密插件Obfuscator相关推荐

  1. 给unity项目加密利用mac地址

    今天真是又学了一招,使用mac地址给项目加密,防止被盗用信息, bool isOpen = false;private void Start(){NetworkInterface[] nis = Ne ...

  2. 如何对自己的Unity项目代码进行加密混淆?

    加密混淆的目的是让不怀好意者更难对你的项目进行逆向工程,我们可以使用Obfuscator 插件. 该插件的好处是与Unity构建过程无缝链接,源文件的内容保持不变,而混淆只针对于已编译的程序集. 一. ...

  3. unity 项目实践经验 和 架构体系

    GameRes游资网授权发布 文 / 吴秦(Tyler) 本次分享总结,起源于腾讯桌球项目,但是不仅仅限于项目本身.虽然基于Unity3D,很多东西同样适用于Cocos.本文从以下10大点进行阐述: ...

  4. unity 项目开发——浅谈设计模式的六大原则(一)

    目录 前言 首先,六大原则是谁? 其次,为什么需要学习这六大原则? 正文 一.单一职责原则 示例: 因此我们需要进行拆分,根据具体的职能可将其具体拆分如下: Unity 单一职责原则 二.开闭原则 U ...

  5. Unity使用UMP插件实现接入海康网络摄像头方法

    一.下载UMP插件并且导入到Unity项目中 我这里下载了UMP插件,并且进行了处理,制作了对应播放本地文件夹和海康网络摄像头内容的Unity预设"RemoteVideoControl&qu ...

  6. [团队] 在Unity项目中使用FMOD来管理你的音效

    Hello各位小伙伴, 今天来聊一下Unity项目中的音效管理. 我目前正在研发的项目, 使用了FMOD的来管理音效和背景音乐. FMOD本身是一款免费的音频集成工具. 自身的音效编辑器还拥有强大的编 ...

  7. 【Unity3D插件】Photon Unity Networking(PUN)插件分享《多人联机服务器》

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 QQ群:1040082875 一.前言 Photon Unity Networking (PUN)是一种用 ...

  8. 【狂云歌之unity_vr】unity项目持续集成dailybuild以及多平台打包管理

    [狂云歌之unity_vr]unity项目持续集成dailybuild以及多平台打包管理 前言  持续集成的意义就不多说了.unity通常打包一般就直接build&run,但是在实际项目中,往 ...

  9. 【狂云歌之unity_vr】unity项目持续集成cibuilddailybuild

    [狂云歌之unity_vr]unity项目持续集成dailybuild以及多平台打包管理 前言  持续集成的意义就不多说了.unity通常打包一般就直接build&run,但是在实际项目中,往 ...

最新文章

  1. Redis第三集:redis-benchmark性能测试
  2. ClassPool CtClass浅析
  3. 【nRF51822学习教程】SDK框架分析
  4. 【分享】C# 字节帮助类 ByteHelper
  5. sql limit子句_SQL子句解释的位置:之间,之间,类似和其他示例
  6. openssl生成证书
  7. Matlab中imnoise函数的用法
  8. 你是一名技术管理者还是项目管理者?
  9. ei指什么_SCI、EI、SSCI、CSSCI分别是指什么
  10. 因为相信所以看见,既然看见注定坚信《7》
  11. shimano 型号详解 (zz)
  12. 单片机音频节奏灯_基于单片机的音乐节奏彩灯控制系统设计
  13. 图像分类之:经典机器学习 Battle 深度学习
  14. Dart学习3、数据类型详解
  15. (转)BT下载不死!Magnet(磁力链接)开创网络BT2.0时代!!
  16. KeyShot Pro 9 v9.0 安装教程(含下载文件)
  17. 内网渗透神器CobaltStrike之DNS Beacon(四)
  18. 罗德岛征求政府区块链解决方案建议
  19. PHP 企业级框架 Laravel9 版全新发布
  20. 电信增值业务彩信管理平台软件模块清单

热门文章

  1. CDC::SelectStockObject 与CDC::SelectObject
  2. VMvare百度网盘分享
  3. iis微信缓存html,如何禁止IIS缓存静态文件(png、js、html等)
  4. android导入本地图书_美丽的本地图书馆
  5. 天狼星旗下光伏公司欲参与竞标俄太阳能电站建设
  6. 商标价格与商标好坏成正比吗
  7. 6.6模拟题 2009年汕头市信息学奥林匹克竞赛 过路费1790
  8. (对ArrayList排序)编写以下方法,对一个数值的ArrayList进行排序
  9. mysql日期格式化比较_MYSQL DATE_FORMAT() 函数时间大小比较
  10. mysql设置时间默认值