软录 · 2022年12月28日

unity3dapp反编译|如何反编译unityengine

『壹』 如何使用dnSpy反编译unity代码并修改

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

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

『叁』 unity3d与android交互的sdk怎么接

1、打开Android Studio——>configure——Android SDK。

注意事项:

SDK可能附带了使其不能在不兼容的许可证下开发软件的许可证。例如产品供应商提供一个专有的SDK可能与自由软件开发抵触。

『肆』 如何将已经打包好的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反编译能提取场景资源吗

下面我会从头介绍一下提取的全过程:步骤一:首先下载 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\DataIOS: 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 文件也可以放到一个文件夹 用上面的方法 反编译出来。当然 单个文件的话 把*.* 替换成想要反编译的文件就可以了

『柒』 如何反编译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\DataIOS: ios的 ipa的安装包 也是同样的原理 把.ipa 改成 .rar 然后解压到单独的文件夹 可以反编译的文件的路径就在: 解压后的文件夹\Payload\godoflight.app\Data (这里我用的是神之光举例子 所以是 godoflight.app)网页: 这个我们重点讲一下下面我讲一下如何提取unity3d做的网页游戏的资源首先我们先要下载 火狐浏览器 http://www.firefox.com.cn/ 这是官方网站 请大家自行下载吧。然后安装 FireBug 插件 上图了 然后搜索 Firebug 找到后点安装 安装成功后这里会有个虫子的图标 准备工作完成了,下面我们找一个unity3d开发的网页游戏 这里我们用 《冰火破坏神》 来举例,算是给完美做广告了 虽然他们一定会恨我的(坏笑)。先登录游戏,然后打开firebug 如图 点 [网络] -> [全部] 如果目前网页中有unity的资源的话 就会在下面的列表里出现

『捌』 如何防止Unity3D代码被反编译

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

『玖』 unity3D项目打包成apk安装包后,用apk改之理反编译和用disunity反编译有什么区别

Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity类似于Director,Blender game engine, Virtools 或 Torque Game Builder等利用交互的图型化开发环境为首要方式的软件。其编辑器运行在Windows 和Mac OS X下,可发布游戏至Windows、Mac、Wii、iPhone、WebGL(需要HTML5)、Windows phone 8和Android平台。也可以利用Unity web player插件发布网页游戏,支持Mac和Windows的网页浏览

『拾』 如何防止Unity3D代码被反编译

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


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

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