当前位置:首页 » 编程软件 » unity3d代码反编译

unity3d代码反编译

发布时间: 2023-05-16 02:44:13

㈠ Unity打包好的游戏可以反编译得到源码和资源吗

可以,80%以上的Unity游戏都根本没做代码混淆和资源加密,简直都对不起反编译三个字。直接拿来用就可以。
工具的话,看代码用reflector。
资源就是打好包的assetbundle,直接用就好了

㈡ 如何防止Unity3D代码被反编译

加密原理(无需Unity源码):
1. IDA Pro打开libmono.so, 修改mono_image_open_from_data_with_name为
mono_image_open_from_data_with_name_0,
2. 替换实现mono_image_open_from_data_with_name,
extern mono_image_open_from_data_with_name_0(...);
mono_image_open_from_data_with_name(...) {
MonoImage *img = mono_image_open_from_data_with_name_0(...);
//发现数据文件头不是DLL前缀则解密 img->raw_data, 相应修改img->raw_data_len
return img;
}
3. 重新打包libmono.so; 替换Unity3D中的android下的版本.
4. 另外写个加密的工具,植入构建环境(MonoDeveloper或VS,添加一个打包后Build Phase来加密DLL); (IOS下禁用JIT固采用AOT编译,DLL中没有逻辑代码,所以无需操心);
从AndroidManifest.xml中可以看出,腾讯的改造应该是修改并替换了入口的classes.dex,把以前的入口 UnityPlayerProxyActivity替换为com.tencent.tauth.AuthActivity. 然后去加载了自定义的几个so: libNativeRQD.so. 周全考虑,为了防止第三方委托libmono去做解密而做了防护措施. 具体实现我还没做深入分析, 应该也是老套路.
libmono.so中的mono_image_open_from_data_with_name也被替换成了mono_image_open_from_data_with_name_0.
解密(android):
方法一: ROOT android系统(最好是一部手机,别搞模拟器,慢死), 挂载LD_PRELOAD的API hook来实现.
方法二: 内存特征码提取,简单高效无敌; 机器能读,你就能读;

㈢ unity3d反编译能提取场景资源吗

下面我会从头介绍一下提取的全过程:

步骤一:首先下载 DisUnity v0.3.1
解压到了D:\disunity_v0.3.1 这个路径 大家根据自己的需求来选择自己的路径吧

步骤二:确保安装了 java JDK 7
检测是否安装成功 在cmd输入 java -version 可以打印出版本号 说明应该没问题了。如果没有成功这里就不详细介绍了 问下度娘或者google一下(虽然最近google有些杯具了),请大家见谅。

步骤三:获取可以破解的源文件 首先我们需要Android的 .apk 或者 IOS的 .ipa 或者网页游戏的.unity3d 和 .boundle 文件
Android: 先看看 Android 的 apk 安装包吧,把下好的文件后缀名.apk 直接改成 .rar 解压到单独的文件夹 可以反编译的文件的路径就在:解压后的文件夹\assets\bin\Data
IOS: ios的 ipa的安装包 也是同样的原理 把.ipa 改成 .rar 然后解压到单独的文件夹 可以反编译的文件的路径就在: 解压后的文件夹\Payload\godoflight.app\Data (这里我用的是神之光举例子 所以是 godoflight.app)
网页: 这个我们重点讲一下

下面我讲一下如何提取unity3d做的网页游戏的资源

首先我们先要下载 火狐浏览器 请大家自行下载吧。

然后安装 FireBug 插件 上图了

然后搜索 Firebug 找到后点安装

安装成功后这里会有个虫子的图标

准备工作完成了,下面我们找一个unity3d开发的网页游戏 这里我们用 《冰火破坏神》 来举例,

先登录游戏,然后打开firebug 如图 点 [网络] -> [全部] 如果目前网页中有unity的资源的话 就会在下面的列表里出现

这里我先清理了一下因为里面有很多不是unity的资源文件 列表清空了之后 我点 【进入游戏】 就进入了一个加载界面列表里开始加载新的资源

有.boundle 和 .unity3d 的资源 这就是我们需要的 至于其他的资源 我也是刚刚才尝试出来的估计就这两种有用的文件吧 如果不是还请大家补充 大家共同研究哈。

这里已经加载了不少资源了 然后就是蛋疼的下载 因为一直没有很好的批量下载的方法 我目前还是一个一个的下载 如果大家有好的方法的话 希望可以分享一下 感激不尽。

复制链接 然后我用工具下载下来就可以了(我用的QQ旋风)。

到此需要做的准备基本完成下面我们开始反编译。

步骤四: 打开cmd 进入步骤一中的 D:\disunity_v0.3.1 文件夹中

下面是disunity_v0.3.1中的目录结构

然后我们可以用命令 disunity extract 需要反编译的文件的路径\*.* 就可以了
我的反编译文件放在了E:\Downloads\szgPJB(jb51.net)\assets\bin\Data 这个文件夹中 用 *.* 就可以把里面的文件全部反编译 当然无法识别的文件是没法反编出来的

从.ipa和.apk中解压出来的资源 貌似只有 .assets 文件可以反编译出来

从网页上下载的.boundle和.unity3d 文件也可以放到一个文件夹 用上面的方法 反编译出来。
当然 单个文件的话 把*.* 替换成想要反编译的文件就可以了

㈣ 如何防止Unity3D代码被反编译

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


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

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

㈤ 如何将已经打包好的unity游戏反编译为工程文件夹(不是提取资源,是直接反编译成能用的工程文件夹)

首先想通过此方法完全复刻一个游戏工程,这是不可能的 不要想了

对于反编译脚本的话
1、基于il2cpp编译的 目前来说虽然可以 但是对于新手还是有点困难的
2、基于mono编译的 可以把dll文件推到反编译软件比如ilspy即可

㈥ unity3d 反编译后怎么用

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

㈦ 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等资源文件进行加密防止软件或游戏中的资源被非法提取。

㈧ 如何反编译unityengine

首先从 https://github.com/ata4/disunity/releases 下载 DisUnity v0.3.1
也可以直接用工具下载 https://github.com/ata4/disunity/releases/download/v0.3.1/disunity_v0.3.1.zip
我解压到了D:\disunity_v0.3.1 这个路径 大家根据自己的需求来选择自己的路径吧

步骤二:确保安装了 Java JDK 7
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
检测是否安装成功 在cmd输入 java -version 可以打印出版本号 说明应该没问题了。如果没有成功这里就不详细介绍了 问下度娘或者google一下(虽然最近google有些杯具了),请大家见谅。

步骤三:获取可以破解的源文件 首先我们需要Android的 .apk 或者 IOS的 .ipa 或者网页游戏的.unity3d 和 .boundle 文件
Android: 先看看 Android 的 apk 安装包吧,把下好的文件后缀名.apk 直接改成 .rar 解压到单独的文件夹 可以反编译的文件的路径就在:解压后的文件夹\assets\bin\Data
IOS: ios的 ipa的安装包 也是同样的原理 把.ipa 改成 .rar 然后解压到单独的文件夹 可以反编译的文件的路径就在: 解压后的文件夹\Payload\godoflight.app\Data (这里我用的是神之光举例子 所以是 godoflight.app)
网页: 这个我们重点讲一下

下面我讲一下如何提取unity3d做的网页游戏的资源

首先我们先要下载 火狐浏览器 http://www.firefox.com.cn/ 这是官方网站 请大家自行下载吧。

然后安装 FireBug 插件 上图了

然后搜索 Firebug 找到后点安装

安装成功后这里会有个虫子的图标

准备工作完成了,下面我们找一个unity3d开发的网页游戏 这里我们用 《冰火破坏神》 来举例,算是给完美做广告了 虽然他们一定会恨我的(坏笑)。

先登录游戏,然后打开firebug 如图 点 [网络] -> [全部] 如果目前网页中有unity的资源的话 就会在下面的列表里出现

㈨ 如何使用dnSpy反编译unity代码并修改

unity项目打包后的代码都在Assembly-CSharp.dll里,直接使用dnSpy打开即可修改,并且编译

㈩ 如何防止Unity3D代码被反编译

如果你是说的怕生成出来的应用程序被一些破译工具修改数据的话那罩枝就需要自己在内部设一个内部检查即可,燃李如果你说的篡改代码的话,那需要破解unity程序,这个一般人是做皮闷迟不到的

热点内容
存储行业发展趋势 发布:2025-07-15 10:25:22 浏览:242
怎么删除配置提示 发布:2025-07-15 10:21:27 浏览:245
java深入学习 发布:2025-07-15 10:13:50 浏览:534
linux应用程序开发pdf 发布:2025-07-15 10:11:37 浏览:911
解压冷知识 发布:2025-07-15 10:11:35 浏览:78
outlook邮件的服务器是什么 发布:2025-07-15 09:45:59 浏览:482
如何安排资产配置 发布:2025-07-15 09:33:24 浏览:906
更新传送服务器目的地址失败 发布:2025-07-15 09:27:05 浏览:484
c语言else的用法 发布:2025-07-15 09:19:54 浏览:119
tnt苹果核安卓怎么加好友 发布:2025-07-15 09:05:15 浏览:239