【Unity】防反编译之windows平台加密dll

功能取决于需求,在实现这功能之前,却有一个小小的插曲,有同学认为,并不需要去实现游戏加密,再怎样也会被破解,何必浪费精力。虽然这样说,但是我们所做的加密至少也会增加一点破解成本,不会让我们辛苦写的代码随意被人恶意修改。

下面就看看unity在windows平台中防反编译加密dll的实现步骤吧,unity在打包后,会将所有的代码打进一个Assembly-CSharp.dll的文件里面,通过这个文件的反编译,就是详细看见里面的代码内容。我们需要做的就是将这个dll文件加密,让其无法被人反编译出来。其实网上已有很多的关于unity安卓包的加密教程,但是为了让大家在windows平台加密dll少踩一些坑,还是要给大家介绍下unity防反编译的方法。参考链接:http://www.cppcourse.com/u3d-encryption.html

1.反编译测试

先安装一个反编译的工具.NET Reflector,可以在网上轻易找到。然后在通过这个工具打开我们之前一个测试包的Assembly-CSharp.dll,如下图所示,我们是可以完全看到我们所写的内容,这正是我们不想看到的结果。

2.mono源码下载

因为我们准备加密Assembly-CSharp.dll,但是不论我们使用什么加密方法,Assembly-CSharp.dll的文件就肯定有了变化,我们发布的程序就无法正常运行了。于是我们需要在加载Assembly-CSharp.dll文件时,对其解密,让它正常运行。好在unity基于开源的mono,我们只需要在mono里面添加一个解密步骤,再编译,替换掉之前没有解密步骤的mono,就能达到我们的目的。

mono下载链接:https://github.com/Unity-Technologies/mono

mono项目中,我们根本所使用的版本找到自己所需要的分支,我这里使用的时候unity5.5版本,于是我直接切换到unity-5.5的分支,至于下载方式,使用git或者直接打包zip都可以。

3.mono添加解密

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值