Unity3D避免代码被反编译

我最近研究发现80%以上的Unity3D游戏都没有做代码混淆。而且我觉得反编译后的代码可阅读性更加好。今天把《锁链战记》的代码和资源都反编译出来了。

1.Unity编译后最终会将代码编译在dll里面,无论是ios还是Android解开包以后都可以拿到dll,路径在Data/Managed/Assembly-CSharp.dll

2.IOS其实不用做代码混淆,应该是苹果帮我们做了,反编译以后只能看到变量名,和方法名,但是具体的方法体内的代码是万全看不到的,不过安卓不行!!!

3.所以如果要反编译某游戏的代码,一定要去找它的Android版本,然后解开包,拿出它的Assembly-CSharp.dl

4.在Windows上去下载.NET Reflector 8这个反编译dll的软件,网上一大堆,但是一定要下载最新版本。目前我没找到可以在MAC上反编译dll的软件,如果那位大神知道请一定要告诉我噢。

5.mac 上反编译,请看我的另一篇文章 http://www.xuanyusong.com/archives/2675

使用步骤

把Assembly-CSharp直接拖进去。

这里写图片描述

所有的代码,类名,方法名,方法体,一清二楚。这代码,这缩进,嘿嘿。AssetbundleManager应该就是他们自己写的处理Assetbundle的下载管理类了。

这里写图片描述
如果有心的话你可以全局搜索一下”http”关键字 可能就能找到CDN或者Assetbundle的下载地址了。
如果避免自己的游戏被反编译
大家可以去搜索一下Codeguard这个插件,(网上可以找到破解版)它可以防止你的代码被反编译。它主要是改名,把你的方法名,方法体名子修改了,变量名修改了。虽然有点弱但是它的优点是比较方便,因为可以在打包的时候自动完成代码混淆的工作。不用自己去手工做混淆,我不知道有没有更好的自动混淆方法,如果那位大神知道请一定要告诉我。

另外,还有一个更高级的办法。直接找unity官方,它们有防止代码反编译的服务,绝对有效。还有一个方法 用Crypto Obfuscator for .Net 这东西可以完美混淆Unity for Android的代码,也支持打包APK 时批处理脚本完成混淆部分。但是MAC 上不支持,看了一大堆混淆.net 的方法,全部是基于windows上的。 有哪位大神知道怎么在mac上进行Andorid的混淆工作。。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity3D反编译工具是一种能够将Unity3D编译后的游戏文件进行解密并还原成源代码的工具。在游戏开发行业中,Unity3D被广泛应用于移动游戏、桌面游戏、虚拟现实游戏等众多领域,其强大的游戏开发功能得到了越来越多游戏开发者的青睐。但是,随着Unity3D逐渐成为主流游戏引擎,也吸引了一些不法分子利用其安全漏洞攻击游戏,通过反编译工具获取游戏源代码、敏感信息等,造成了极大的安全风险和禁用使用者发自心底的快乐体验。 因此,Unity3D反编译工具就成了游戏开发者必备的工具之一。它可以有效地抵御黑客攻击,保障游戏安全和用户隐私。通常情况下,一些反编译工具不仅仅能够还原单个C#文件,还可以还原大型游戏项目中的全部代码,这意味着可以轻松获取游戏中的全部资源,包括设计方案、代码文件、音频文件、图片素材等。 Unity3D反编译工具的使用需要对反编译技术有所了解。一般工具的使用过程包括三个步骤:首先,通过工具对目标游戏文件进行逆向分析获取各种关键信息;其次,对分析结果进行处理,尝试还原Lua文件、C#文件、脚本文件、资源文件等;最后,对还原后的文件进行编辑和修改,以进行相关性的开发和制作。 综上所述,Unity3D反编译工具为游戏开发者提供了一种有效的解决Unity3D游戏安全问题的方案。但是,在使用反编译工具时需要遵循相关法律法规,不得违反知识产权和信息安全的相关法律规定。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值