使⽤Dotfuscator代码混淆⼯具给unity⼯程加密(给dll做代码混
淆处理)
使⽤Dotfuscator代码混淆⼯具给unity⼯程加密(给dll做代码混淆处理)
1.下载并安装Dotfuscator⼯具,去⽹上搜下载链接,此教程主要是教⼤家如何将代码重命名(也就是将类,变量,函数改为⽆意义的名
字)。
2.打开Dotfuscator,点Settings → Build Settings,设置Destination Directory位置,也就是混淆之后的dll⽂件位置。
3.点Input,载⼊dll,如下图SprayCore.dll。
4.打开dll,注意Libray选项勾选了就默认此dll⾥⾯所有的公有的类,函数,变量名都不会被加密,此例⼦就是。
5.打开Rename。 注意左边的Exclude的意思是排除,想要不被重命名的话就勾选。
6.例如WebServiceManager脚本中的勾选中的私有的Awake函数就不会被重命名,还有其他的公有的也不会,左下⾓有个锁的图标就
表⽰私有,特别要注意的是⼀定要把私有的Awake,Start等继承于MonoBehaviour的函数都要排除掉,因为不排除unity会不到它⽽报错,如如果不想排除也可以,就是将使⽤到它的地⽅都重命名,这是个很繁琐的⼯作。
7.Rename⾥⾯也可以设置使⽤哪种⽅式重命名,例如下图,有四个选项,⼤写字母,⼩写字母,数字,⽆效字符,这个看个⼈喜好,
我选的是⽆效字符。
8.点build按钮,等待下⽅窗⼝打印出Build Finished提⽰,则为混淆成功,Output窗⼝可以查看混淆之后的具体名字,如下图⽆效字
符就是已经被重命名了,其中函数⾥的代码也会被转化成⽆效的代码。
9.在混淆的时候报错了,错误描述⼤致如下:
unity 教程Could not find a compatible version of ildasm to run on assembly C:\xxx.dll This assembly was originally built with .NET Framework v4.0.30319
要混淆不同的.Net Framework版本需要在Settings,Project Properties,添加配置如下。
其中ILASM和ILDASM后⾯必需要加上对应版本的版本号,然后⽂件引⽤对应的版本⽂件即可。
ILASM_v4.0.30319
C:\Windows\Microsoft.NET\Framework\v4.0.
ILDASM_v4.0.30319
C:\Program Files\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论