导航:首页 > 源码编译 > unity防止反编译

unity防止反编译

发布时间:2022-09-10 06:51:16

A. 如何防止Unity3D代码被反编译

在Unity3D中,代码会编译到Assembly-CSharp.dll。基于以上两点,代码的保护有以下三种:
第一种是对代码进行混淆,诸如混淆软件CodeGuard、CryptoObfuscator、de4dot
第二种是对Assembly-CSharp.dll进行加密后,重新对mono进行编译手动编译mono,能防止反编译

B. Unity3D代码加密如何做到防止反编译

Unity3D主要使用C#语法和开源mono运行开发商的代码逻辑,所有代码都不是编译到EXE,而是位于{APP}\build\game_Data\Managed\Assembly-CSharp.dll。而且mono执行原理跟微软.NET Framework兼容但是执行原理完全不一样。传统的.NET Framework加壳全部失效,因为Assembly-CSharp.dll不是PE格式的动态库也不是.NET的动态库,无法从 .NET Framework 加载,而是由mono.dll读取 Assembly-CSharp.dll的里面C#脚本解释执行。
Virbox Protector 对 Assembly-CSharp.dll 做加密,无需手动加密 Assembly-CSharp.dll 代码,自动编译 mono, Assembly-CSharp.dll 代码按需解密,只有调用到才会在内存解密,不调用不解密,黑客无法一次解出所有的代码。一键加密代码逻辑,无法反编译,无法mp内存。不降低游戏帧数,自带反黑引擎,驱动级别反调试,秒杀市面的所有调试器。
Uinty3D 主要的游戏资源都在 resources.assets ,游戏里面所有放在 resources 文件夹下的东西都会放在这里,DSProtector工具可以对Unity软件中的 .resS和resources等资源文件进行加密防止软件或游戏中的资源被非法提取。

C. 如何防止Unity3D代码被反编译

在Unity3D中,代码会编译到Assembly-CSharp.dll。基于以上两点,代码的保护有以下三种:
第一种是对代码进行混淆,诸如混淆软件CodeGuard、CryptoObfuscator、de4dot
第二种是对Assembly-CSharp.dll进行加密后,重新对mono进行编译。。
Virbox Protector可对Assembly-CSharp.dll直接进行加壳后,无需手动编译mono,能防止反编译

D. 如何防止Unity3D代码被反编译

如果是C#写的,因为C#自己会被编译成IL,所以基本没办法避免被反编译。代码混淆不知道能不能用。

E. 如何防止Unity3D代码被反编译

如果你没有Unity的Source License,这个问题我觉得基本是无解的。
对于iOS平台AOT后Strip掉IL可能有用,但其他平台基本没什么办法。还有一个思路是加壳,但这个至少在移动端上我没试验过,而且基本上也是道高一尺魔高一丈的事情。
还有一个是把一些关键代码写成Native插件,但这样做我觉得完全就没有使用Unity的优势了,所以也不是很推荐。

如果是涉及网络的游戏,另一个相对有效的解决方案是把逻辑放在服务端,基本上不给客户端Gameplay逻辑层的信任,客户端只负责只发送具体操作。对于非在线游戏我确实没看到什么有效的解法。

个人觉得么,也不要太费劲折腾了,人家要搞你总是有办法的。就算你不用Unity,真的高手是Native Binary一样破给你看的。

F. 如何防止Unity3D代码被反编译

根本的解决办法是:先对DLL加密,然后在Unity的源码中加载程序DLL之前进行解密。

这就需要通过逆向工程获得相应的Unity源码或者是直接向Unity购买Source Code License。

G. 如何防止Unity3D代码被反编译

如果你没有统一的源代码,我认为这个问题基本上没有解决。它可能会下降,而IL iOS平台是有用的在AOT,但基本上没有其他平台。


另一个想法是包装,但至少我没有在移动终端上测试过,但基本上是迈出了一步。另一种方法是在本地插件中编写一些关键代码,但我不认为这是使用Unity的优点所以我并没有真正推荐它。

直接使用GDB转储内存运行Android,不管你在内存末端加密的布局是相同的,但都是软的。因此,这是一个本机插件(麻烦),或者简单地加密和过滤80%个新的解决方案。

H. 如何防止Unity3D代码被反编译

在Unity3D中,代码会编译到Assembly-CSharp.dll。基于以上两点,代码的保护有以下三种:
第一种是对代码进行混淆,诸如混淆软件CodeGuard、CryptoObfuscator、de4dot
第二种是对Assembly-CSharp.dll进行加密后,重新对mono进行编译。

Virbox Protector直接进行加壳后,无需手动编译mono,能防止反编译。

I. 如何防止Unity3D代码被反编译

在Unity3D中,代码会编译到Assembly-CSharp.dll。基于以上两点,代码的保护有以下三种:
第一种是对代码进行混淆,诸如混淆软件CodeGuard、CryptoObfuscator、de4dot
第二种是对Assembly-CSharp.dll进行加密后,重新对mono进行编译
Virbox Protector直接进行加壳后,无需手动编译mono,能防止反编译

阅读全文

与unity防止反编译相关的资料

热点内容
卡尔曼滤波算法书籍 浏览:768
安卓手机怎么用爱思助手传文件进苹果手机上 浏览:843
安卓怎么下载60秒生存 浏览:802
外向式文件夹 浏览:235
dospdf 浏览:430
怎么修改腾讯云服务器ip 浏览:387
pdftoeps 浏览:492
为什么鸿蒙那么像安卓 浏览:735
安卓手机怎么拍自媒体视频 浏览:185
单片机各个中断的初始化 浏览:723
python怎么集合元素 浏览:480
python逐条解读 浏览:832
基于单片机的湿度控制 浏览:498
ios如何使用安卓的帐号 浏览:882
程序员公园采访 浏览:811
程序员实战教程要多长时间 浏览:974
企业数据加密技巧 浏览:134
租云服务器开发 浏览:813
程序员告白妈妈不同意 浏览:335
攻城掠地怎么查看服务器 浏览:600