zoukankan      html  css  js  c++  java
  • Unity游戏资源逆向工具

    disunity是一款Java编写(需安装jdk1.8,即Java8)的解析Unity asset和asset bundle文件(流式加载,支持热更新)的命令行工具(已开源)

    disunity0.3.4支持untiy5及以下版本,除了解析分析文件之外,还能使用extract参数提取某些类型资源(模型、纹理)

    最新disunity0.5重新梳理了命令行参数,并进行了重构,比较可惜地是,这个版本去掉了资源提取功能

    java.exe  -jar "disunity.jar"  bundle-extract  "F:\Resourcesunity_builtin_extra"

    Disunity Gui Helper是一款封装disunity的gui工具(已开源),最新的0.21版本可与disunity0.3.4版本配合进行工作

    DisunityGui.exe下载后,要放在disunity.jar所在目录中

    UnityAssetsExplorer可提取Unity asset和asset bundle文件中的某些类型资源(如:shader、tex等)

    并且还支持将资源修改后,写回Unity asset和asset bundle文件

    该工具对tex纹理提供了自动转换dds的功能

    最新版本为v1.5,支持untiy5及以下版本

    选择对应资源项,点击右键菜单“Extra This File”,就会在UnityAssetsExplorer.exe所在目录中新建一个当前打开的Asset文件名的文件夹,并将解压后的文件保存在其中
    如:上图所示的资源UnityWatermark-dev.tex,会在unity default resources目录中生成出
    UnityWatermark-dev.tex
    UnityWatermark-dev.tex.dds
    修改完dds(可使用Paint.net来修改)后,可通过右键菜单“Import This File From DDS”即可。
    注1:导出的dds像素格式与mipmap要与原始dds保持一致(可使用nVidia的Windows Texture Viewer工具来查看)
    注2:当dds的长宽不为2的n次幂时,会导入失败,提示:ERROR! Wrong size dds!
    这种情况只能通过修改UnityWatermark-dev.tex,并通过右键菜单“Import This File From original-format”来导入

    AssetsBundleExtractor是一款分析Unity asset和asset bundle文件的工具(已开源)

    并且还支持将资源修改后,写回Unity asset和asset bundle文件

    最新版本为2.2 stable d,支持untiy2019.2.0f1及以下版本

    UABE开发日志记录:https://github.com/DerPopo/UABE

    版本下载:Unity Assets Bundle Extractor   github

    Unity3d Obfuscator可以提取 unity web player.unity3d ,webplayer平台的的资源

    该工具作者还开发了一些更强大的破解工具(收费),详见:DevXDevelopment

    AssetStudio,又叫UnityStudio,是一款C#编写的十分强大的提取Unity asset和asset bundle文件中资源的工具(已开源)

    支持Unity2.5~2019.1版本,支持的资源类型包括:Texture2D、Sprite、AudioClip、Font、Mesh、TextAsset、Shader、MovieTexture、VideoClip、MonoBehaviour、Animator

    该项目一直保持着活跃,github地址为:https://github.com/Perfare/AssetStudio

    AssetStudio导出贴图格式为dds,需要转成其他格式,可使用DDS Converter

    ProjectExodus    github开源的Untiy转UE4工具

    https://github.com/NegInfinity/ProjectExodus

    最后,一些图形相关资源可以用Tegra Graphics Debugger、高通Adreno、RenderDoc等抓帧调试工具来获取

    从Unity asset文件中查看当前使用Unity版本

    当前游戏使用是Unity2018.3.11f1版本制作的

    从asset bundle文件中查看当前使用Unity版本

    当前游戏使用是Unity2018.4.13f1版本制作的

    asset bundle包会有一个manifest文本文件与之对应,如:suitcase_plastic_lootable.bundle.manifest

    Unity PC端游XXX_Data目录结构

    Managed目录:存放unity引擎、第三方和游戏逻辑托管dll    如:Assembly-CSharp.dll、Assembly-CSharp-firstpass.dll

    Mono目录:Mono虚拟机相关的文件

    Plugins目录:第三方Native dll库

    Resourcesunity default resources:unity引擎自带缺省资源

    Resourcesunity_builtin_extra:内置shader(如:Standard.shader)、缺省material等   里面99%是shader文件

    StreamingAssetsWindows目录:项目工程中的StreamingAssets文件夹的内容不会压缩原封不动的拷贝到该目录下

    globalgamemanagers:所有gameobject、shader、monobehaviour脚本、mesh、material、transform、audio,texture、spirite等的总览以及setting信息

    globalgamemanagers.assets:playersetting中用到的资源

    resources.assets:项目工程中的Resources文件夹的内容会打包到该文件中,但如果有资源被某场景使用,该资源则会存储于该场景对应的sharedassets<0~n>.assets中

    level0、level1、level2、level44、level165:地图关卡文件,有几张地图就对应几个level文件

    sharedassets0.assets、sharedassets1.assets、sharedassets2.assets、sharedassets44.assets、sharedassets165.assets:各关卡引用的texture,material,shader,material,animator,monobehaviour脚本等外部资源

    参考

    [反编译U3D]Decompile Unity Resources

    Unity3D研究院之提取游戏资源的三个工具支持Unity5(八十四)

    Unity3D asset bundle 格式简析 

    unity 打包后的文件都是什么 

  • 相关阅读:
    WAMP 2.2 配置与IIS共用单IP,多域名多网站配置方法
    [.NET MVC4 入门系列00]目录
    [.NET MVC4 入门系列04]Controller和View间交互原理
    [.NET MVC4 入门系列05]添加自定义查询页Search
    [.NET MVC4 入门系列02]MVC Movie 为项目添加Model
    [.NET MVC4 入门系列07] 在Model模型模块中添加验证
    [.NET MVC4 入门系列03]使用Controller访问Model中数据
    DateTime 类常用技巧
    Access 注意地方
    互联网公司老板的十大谎言,别对号入座
  • 原文地址:https://www.cnblogs.com/kekec/p/12175547.html
Copyright © 2011-2022 走看看