找回密码
 立即注册
楼主: Zephus

[笔记] 如何防止Unity3D代码被反编译?

[复制链接]
发表于 2021-4-12 10:25 | 显示全部楼层
运行安卓直接用gdb dump内存,不管你什么加密的最终到了内存都是一样的布局,然并软。所以这个问题要么用native的插件(麻烦),要么就简单加密过滤掉80%新手破解
发表于 2021-4-12 10:26 | 显示全部楼层
在Unity3D中,代码会编译到Assembly-CSharp.dll。基于以上两点,代码的保护有以下两种:
第一种是对代码进行混淆,诸如混淆软件CodeGuard、CryptoObfuscator、de4dot
第二种是对Assembly-CSharp.dll进行加密后搜索,重新对mono进行编译。。
Virbox Protector可对Assembly-CSharp.dll直接进行加壳后,无需手动编译mono,能防止反编译
发表于 2021-4-12 10:36 | 显示全部楼层
腾讯的游戏用一些工具破解不了,只能看接口
发表于 2021-4-12 10:41 | 显示全部楼层
我们项目就不用担心这个问题,因为我们使用脚本。开发了一年多(5个人), C#代码 才100个文件。。。
发表于 2021-4-12 10:46 | 显示全部楼层
之前听我老大说的,直接修改mono解释器的逻辑,这样如果他想破解那就必须破解你的mono代码,我觉得这个应该可以过滤大部分破解选手,我觉得是可行的,
发表于 2021-4-12 10:52 | 显示全部楼层
用unity2018,il2cpp编译成本地代码
发表于 2021-4-12 10:58 | 显示全部楼层
代码方面:如果你是希望别人不要看到程序的大体思想而不是破解某部分(增加广告等)的话。可以尽可能地使用coroutine。
 楼主| 发表于 2021-4-12 11:03 | 显示全部楼层
首先要知道如何反编译,才能知道如何防止被反编译,unity3d反编译入门:
SkyNote:新手到大神反编译unity3d游戏系列教程【一】
发表于 2021-4-12 11:05 | 显示全部楼层
到 unity 官网买个插件吧, 我试试好多方法. 最后生成 .apk 都不行.
发表于 2021-4-12 11:11 | 显示全部楼层
nity3D使用开源mono C#语法
,所有代码都不是编译到EXE,而是位于{APP}\build\game_Data\Managed\Assembly-CSharp.dll(对于最新的Unity3D 2017不是这样),而且mono语法只是跟C#兼容,但是原理完全不一样,传统的C#加壳全部失效,因为Assembly-CSharp.dll 不是标准的DLL加载过程,既不是PE的DLL也不是dotNet的DLL加载,而是由mono.dll读取 Assembly-CSharp.dll的C#脚本解释执行。这一切不用等官方IL2CPP和自己定制mono引擎!
Virbox Protector核心优点:
1.一键加密你的代码逻辑,无法反编译,无法dump内存。
2.不降低游戏帧数, 甚至某些情况下还能提高游戏帧数。
3. Assembly.DLLL代码按需解密,只有调用到才会在内存解密,不调用不解密,黑客无法一次解出所有的代码。
4.完整授权方案,支持云授权 软锁授权,USB加密锁授权 网络锁授权 ,支持限制时间 限制次数 限制网络并发。
5.自带反黑引擎,驱动级别反调试,秒杀市面的所有调试器。(注意:如果需要最高安全强度的游戏反外挂,请参考反黑引擎 http://www.sense.com.cn/ahs.html )
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-12-23 02:30 , Processed in 0.124589 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表