Ylisar 发表于 2021-4-12 10:25

运行安卓直接用gdb dump内存,不管你什么加密的最终到了内存都是一样的布局,然并软。所以这个问题要么用native的插件(麻烦),要么就简单加密过滤掉80%新手破解

acecase 发表于 2021-4-12 10:26

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

mastertravels77 发表于 2021-4-12 10:36

腾讯的游戏用一些工具破解不了,只能看接口

RedZero9 发表于 2021-4-12 10:41

我们项目就不用担心这个问题,因为我们使用脚本。开发了一年多(5个人), C#代码 才100个文件。。。

RhinoFreak 发表于 2021-4-12 10:46

之前听我老大说的,直接修改mono解释器的逻辑,这样如果他想破解那就必须破解你的mono代码,我觉得这个应该可以过滤大部分破解选手,我觉得是可行的,

fwalker 发表于 2021-4-12 10:52

用unity2018,il2cpp编译成本地代码

ChuanXin 发表于 2021-4-12 10:58

代码方面:如果你是希望别人不要看到程序的大体思想而不是破解某部分(增加广告等)的话。可以尽可能地使用coroutine。

Zephus 发表于 2021-4-12 11:03

首先要知道如何反编译,才能知道如何防止被反编译,unity3d反编译入门:
SkyNote:新手到大神反编译unity3d游戏系列教程【一】

xiangtingsl 发表于 2021-4-12 11:05

到 unity 官网买个插件吧, 我试试好多方法. 最后生成 .apk 都不行.

xiangtingsl 发表于 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 )
页: 1 [2] 3
查看完整版本: 如何防止Unity3D代码被反编译?