找回密码
 立即注册
查看: 683|回复: 0

[笔记] Unity中反编译脚本代码与提取游戏资源

[复制链接]
发表于 2020-11-25 14:34 | 显示全部楼层 |阅读模式
在Unity的脚本代码的学习之中,我们除了通过看教程中的脚本演示,Unity博客,论坛,知识板块等网站的学习,还可以通过看已上线的游戏的源码,通过这种看已上线游戏源码方式的优点在于相比上述的方式要更加的规范深入全面(毕竟是已完成的游戏),当我们缺少优质素材用于练习时我们也可以通过提取游戏资源的方式,提取你想要的风格的游戏资源,这将会大大方便我们在学习游戏开发中的进程。

1.Unity中反编译脚本代码

1.1 、反编译工具
dnSpy 是一款针对 .NET 程序的逆向工程工具,基于 ILSpy 发展而来的 .net 程序集的编辑,反编译,调试神器。。该项目包含了反编译器,调试器和汇编编辑器等功能组件,而且可以通过自己编写扩展插件的形式轻松实现扩展。该项目使用 dnlib 读取和写入程序集,以便处理有混淆代码的程序(比如恶意程序)而不会崩溃。
1.2、Unity源码文件位置
unity的源码都存放在dll中,那么反编译的工作就是把从dll 中提取出源码,基本上我们的代码都在Assembly-CSharp.dll这个文件中
1.3、破解Unity源码文件
将Assembly-CSharp.dll文件拖动到dnspy反编译工具中就实现了破解
我用一个的独立游戏做的示例:




上图可以看出反编译出了编码者完整的代码逻辑
2.提取游戏中的资源

游戏中的美术资源没法完全加密,即便使用特别复杂的加密方式,也有办法将其中的资源提出来,这里只借助现成的工具,做些浅显的资源提取。
2.1、资源提取工具
相比于Disunity与UnityAssetsExplorer工具,UnityStudio 拥有可视化界面,可以批量导出贴图,模型,字体,音频等,可以预览,最新版支持Unity5.x,所以在这使用UnityStudio作为资源提取工具。
2.2、下载地址
https://github.com/Perfare/UnityStudio
2.3、Unity中资源位置
点击菜单 File 中的“Load folder…”,载入 unity 游戏的 Assets -> bin -> data 文件夹。也可以选择“Load file…”,载入 .unity3d 或者 .boundle ,.assets文件。
2.4、预览资源
选择 Assets List,可以看到里面有很多资源文件。点击即可在右侧窗口进行预览,可以预览贴图,Shader,模型的资源,还可以直接播放音频。
2.5、保存资源
选中需要的资源,点击菜单工具栏里的 Export -> Selected assets,即可将选中的资源保存到本地。
用一个的独立游戏做的示例:



上图中在seneHierarghy界面中可以查看资源的结构目录,资源中的音乐文件都可以直接播放测试,在右边的视图中可以使用wsad将对模型进行旋转查看
其他相关博客:

如何避免代码被反编译 : http://www.xuanyusong.com/archives/2664
Unity3d 反编译破解游戏 简单示例: http://blog.csdn.net/huutu/article/details/46573327)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-23 00:19 , Processed in 0.101453 second(s), 29 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表