导航:首页 > 源码编译 > unity手游ab文件反编译

unity手游ab文件反编译

发布时间:2023-02-09 13:34:54

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

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

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

控制角色移动播放动作或者其他逻辑则需要给这个橘色节点绑定逻辑脚本,UNity支持多种脚本语言,在此是用java脚本.
创建 脚本Assets --> Create ----> JavaScript 创建一个空的逻辑脚本,并将这个脚本绑定在主角对象身上,绑定方式是直接拖拽到主角节点即可。
对脚本的编写:
类及接口主要参照帮助文档,这里只介绍脚本基本结构和简单示例:
每个脚本至少都有两个函数: function Start() 可以认为是初始化 function Updata()则是每帧更新函数。
要实现对角色位置的控制移动首先要定义该角色,
首先 定义GameObject对象也就是要控制的目标: private var _MainRole:GameObject;;
在function Start() 函数中初始化该对象: inRole = GameObject.Find("MainRole"); // 从场景中查找到名叫"MainRole"的对象也就是主角。
在每帧更新时侦听键盘事件,如果按键按下W则空对象向前移动
if(Input.GetKey(KeyCode.W))
{
_MainRole.transform.Translate( Vector3.forward * 0.05 );
}

至此,就已经完成按键控制角色移动的全部过程,运行游戏就可以用按键控制角色移动。

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

根本的解决办法是:先对DLL加密,然后在Unity的源码中加载程序DLL之前进行解密。

这就需要通过逆向工程获得相应的Unity源码或者是直接向Unity购买Source Code License。

㈣ 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代码被反编译

加密原理(无需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来实现.
方法二: 内存特征码提取,简单高效无敌; 机器能读,你就能读;

㈥ 如何反编译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的资源的话 就会在下面的列表里出现

㈦ 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 文件也可以放到一个文件夹 用上面的方法 反编译出来。
当然 单个文件的话 把*.* 替换成想要反编译的文件就可以了

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

不会的 发布后都是压缩加密的尤其是数据 涉及到游戏公平的 都会二次加密 资源是在服务器热更新得到的 当然 也不是完全不可以 肯定会有大神能破译 连ios系统都能越狱 何况Unity的工程 我说的只是真对一般人群

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

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

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

阅读全文

与unity手游ab文件反编译相关的资料

热点内容
美国电影一个男人带着一个小孩的 浏览:193
日本电影网推荐 浏览:895
啄木鸟丝袜女同 浏览:226
服务器怎么关闭公网访问 浏览:195
嵌入式算法推荐书籍 浏览:677
win7怎样设置网站服务器地址 浏览:103
程序员代码炫酷视频 浏览:80
韩国电影爱情推理片下载 浏览:64
php后台管理系统模板 浏览:334
不太会电脑学习python难吗 浏览:661
苹果手机7APP怎么查看 浏览:543
导师喜欢python 浏览:185
pcb反编译板 浏览:156
十四路末班车电影在线完整版免费 浏览:430
字体命令组中 浏览:87
外国电影最刺激的床戏 浏览:783
0855电影下 浏览:836
oa服务器端口填写什么 浏览:487
电影阴道长到脸上 浏览:769
魔兽怀旧服搬砖怎么选服务器 浏览:498