Unity 项目加密插件Obfuscator
加密混淆的目的是让不怀好意者更难对你的项目进行逆向工程,我们可以使用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相关推荐
- 给unity项目加密利用mac地址
今天真是又学了一招,使用mac地址给项目加密,防止被盗用信息, bool isOpen = false;private void Start(){NetworkInterface[] nis = Ne ...
- 如何对自己的Unity项目代码进行加密混淆?
加密混淆的目的是让不怀好意者更难对你的项目进行逆向工程,我们可以使用Obfuscator 插件. 该插件的好处是与Unity构建过程无缝链接,源文件的内容保持不变,而混淆只针对于已编译的程序集. 一. ...
- unity 项目实践经验 和 架构体系
GameRes游资网授权发布 文 / 吴秦(Tyler) 本次分享总结,起源于腾讯桌球项目,但是不仅仅限于项目本身.虽然基于Unity3D,很多东西同样适用于Cocos.本文从以下10大点进行阐述: ...
- unity 项目开发——浅谈设计模式的六大原则(一)
目录 前言 首先,六大原则是谁? 其次,为什么需要学习这六大原则? 正文 一.单一职责原则 示例: 因此我们需要进行拆分,根据具体的职能可将其具体拆分如下: Unity 单一职责原则 二.开闭原则 U ...
- Unity使用UMP插件实现接入海康网络摄像头方法
一.下载UMP插件并且导入到Unity项目中 我这里下载了UMP插件,并且进行了处理,制作了对应播放本地文件夹和海康网络摄像头内容的Unity预设"RemoteVideoControl&qu ...
- [团队] 在Unity项目中使用FMOD来管理你的音效
Hello各位小伙伴, 今天来聊一下Unity项目中的音效管理. 我目前正在研发的项目, 使用了FMOD的来管理音效和背景音乐. FMOD本身是一款免费的音频集成工具. 自身的音效编辑器还拥有强大的编 ...
- 【Unity3D插件】Photon Unity Networking(PUN)插件分享《多人联机服务器》
推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 QQ群:1040082875 一.前言 Photon Unity Networking (PUN)是一种用 ...
- 【狂云歌之unity_vr】unity项目持续集成dailybuild以及多平台打包管理
[狂云歌之unity_vr]unity项目持续集成dailybuild以及多平台打包管理 前言 持续集成的意义就不多说了.unity通常打包一般就直接build&run,但是在实际项目中,往 ...
- 【狂云歌之unity_vr】unity项目持续集成cibuilddailybuild
[狂云歌之unity_vr]unity项目持续集成dailybuild以及多平台打包管理 前言 持续集成的意义就不多说了.unity通常打包一般就直接build&run,但是在实际项目中,往 ...
最新文章
- Redis第三集:redis-benchmark性能测试
- ClassPool CtClass浅析
- 【nRF51822学习教程】SDK框架分析
- 【分享】C# 字节帮助类 ByteHelper
- sql limit子句_SQL子句解释的位置:之间,之间,类似和其他示例
- openssl生成证书
- Matlab中imnoise函数的用法
- 你是一名技术管理者还是项目管理者?
- ei指什么_SCI、EI、SSCI、CSSCI分别是指什么
- 因为相信所以看见,既然看见注定坚信《7》
- shimano 型号详解 (zz)
- 单片机音频节奏灯_基于单片机的音乐节奏彩灯控制系统设计
- 图像分类之:经典机器学习 Battle 深度学习
- Dart学习3、数据类型详解
- (转)BT下载不死!Magnet(磁力链接)开创网络BT2.0时代!!
- KeyShot Pro 9 v9.0 安装教程(含下载文件)
- 内网渗透神器CobaltStrike之DNS Beacon(四)
- 罗德岛征求政府区块链解决方案建议
- PHP 企业级框架 Laravel9 版全新发布
- 电信增值业务彩信管理平台软件模块清单
热门文章
- CDC::SelectStockObject 与CDC::SelectObject
- VMvare百度网盘分享
- iis微信缓存html,如何禁止IIS缓存静态文件(png、js、html等)
- android导入本地图书_美丽的本地图书馆
- 天狼星旗下光伏公司欲参与竞标俄太阳能电站建设
- 商标价格与商标好坏成正比吗
- 6.6模拟题 2009年汕头市信息学奥林匹克竞赛 过路费1790
- (对ArrayList排序)编写以下方法,对一个数值的ArrayList进行排序
- mysql日期格式化比较_MYSQL DATE_FORMAT() 函数时间大小比较
- mysql设置时间默认值