Unity游戏资源逆向工具

article/2025/10/11 5:54:23

Unity游戏资源逆向工具

https://www.cnblogs.com/kekec/p/12175547.html

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

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

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

java.exe  -jar "disunity.jar"  bundle-extract  "F:\\Resources\unity_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库

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

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

StreamingAssets\Windows目录:项目工程中的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 打包后的文件都是什么 

 

 

 

 

 

 

 

 

 

 

 


http://chatgpt.dhexx.cn/article/HCCkW1qp.shtml

相关文章

Distillation

蒸馏&#xff0c;把有杂质的东西变成纯度高的 知识从教师网络集成到学生网络&#xff0c;这个过程叫迁移&#xff0c;这么做的原因是终端的算力有限&#xff0c;需要高效率 有关嵌入式开发也有教程&#xff01;&#xff01; 问题的引入&#xff1a;标签有问题&#xff0c;马更…

Unity 提取资源 Disunity、Unity Studio

提取Unity3d资源&#xff0c;用过2个工具 Disunity https://github.com/ata4/disunityUnity Studio https://github.com/RaduMC/UnityStudio 解压XXX.apk.&#xff0c;如果能在XXXX\assets\bin\Data\Managed路径下找到UnityEngine.dll&#xff0c;则表明该游戏由Unity3d打包。…

【逆向工程】 disunity的使用

1. 下载并安装好jdk: 下载地址&#xff1a;http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 安装教程&#xff1a;http://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html 2.下载disunity: https:/…

oracle怎么ping监听,请教TNSPING无监听的问题

请教各位高人&#xff0c;我在自己的虚拟机上装的是solaris10&#xff0c;数据库是oracle10.1.0.3.0&#xff0c;主机名如下&#xff1a; $ hostname fanww $ 在TELNET到虚拟机上之后可以正常启动监听&#xff0c;数据库也能启动&#xff0c;如下&#xff1a; $ lsnrctl start …

oracle数据库怎么ping,Oracle中tnsping命令解析

Oracle Net 工具(命令)tnsping&#xff0c;是一个OSI会话层的工具&#xff0c;它用来&#xff1a; 1)验证名字解析(name resolution&#xff0c;是oracle自己的网络服务名) 2)远程的listener是否启动 1.远程tnsping 2.关闭监听 3.启动监听&#xff0c;重新验证 总结&#xff1a…

Linux下Oracle的tnsping不显示sqlnet.ora文件路径

Tnsping在Linux与Windows下显示不一样 我的环境是&#xff1a;Centos7.6Oracle11.2.0.4 区别是&#xff1a;Linux下没有显示sqlnet.ora的路径名。 Linux下&#xff1a;Used parameter files:是空的 Windows下&#xff1a;Used parameter files显示路径名。 误导 因为我经常…

Oracle中tnsping无响应

1、tnsping 127.0.0.1&#xff08;数据库服务器地址&#xff09;无返回结果&#xff1b; 2、重启数据库服务或者重启数据库服务器问题依然不能解决&#xff1b; 3、最后发现&#xff0c;是 listener.log文件到4G了&#xff0c;删了这个文件 就正常了&#xff1b; 文件路径&…

tnsping命令解析

tnsping命令格式: tnsping <service_name> n n的意义是可以让tnsping ping多次 例: c:\Documents and Settings\Tony>tnsping orcl Oracle Net 工具&#xff08;命令&#xff09;tnsping&#xff0c;是一个OSI会话层的工具&#xff0c;它用来&#xff1a; 1&…

DOM4J及SAXReader解析xml文件数据

1、DOM4J简介 DOM4J是 dom4j.org 出品的一个开源 XML 解析包。DOM4J应用于 Java 平台&#xff0c;采用了 Java 集合框架并完全支持 DOM&#xff0c;SAX 和 JAXP。DOM4J 使用起来非常简单。只要了解基本的 XML-DOM 模型&#xff0c;就能使用。Dom&#xff1a;把整个文档作为一个…

告别996-SAXReader读取xml配置文件

在公司某一模块开发中,可以获取全部字段,但是需要取出某些不需要的字段,于是采取动态方法结合xml,将不需要的字段写在xml里面.或者根据下拉框中的值动态的获取某一个筛选条件集合sql筛选出需要的条件 前提准备 文件名:xxxxxxx.xml <?xml version"1.0" encoding…

Java 应用SAXReader 解析网络地址 XML

xml格式&#xff1a; 依赖于dom4j 框架自带该依赖包springboot框架中 工具类如下&#xff1a; import com.alibaba.fastjson.JSONObject; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.io.SAXReader;import java.net.URL;/*** SAXReader 解析 xml 工…

XML学习总结(三)——SAXReader解析xml文件数据

第一种方式&#xff1a; 1. 加入jar包 注意 1.1 xml文件解析时编码要一致&#xff08;默认UTF-8&#xff09;&#xff0c;出现报错可以在记事本中另存为来更改编码格式。 2.2 jar包两个都需要。 2.gao.xml数据如下&#xff1a; <?xml version"1.0" encoding&qu…

SAXReader解析xml

SAXReader解析xml文件 要使用SAXReader解析xml文件&#xff0c;就需要导入两个架包&#xff1a;版本自己选择。 &#xff08;1&#xff09;dom4j-1.6.1.jar dom4j下载地址 &#xff08;2&#xff09;jaxen-1.1-beta-6.jar jaxen下载地址 项目的搭建如下&#xff1a; 项目的配置…

SAXReader的使用

一&#xff1a;导入依赖 <dependency><groupId>dom4j</groupId><artifactId>dom4j</artifactId><version>1.6.1</version> </dependency>假设xml文件内容如下 <?xml version"1.0" encoding"utf-8"?…

SAXReader解析xml文件

dom4j是Java的XML API&#xff0c;作用是读写XML文件 第1步&#xff1a;导入maven依赖 <!--测试SaxReader解析xml文件--> <dependency><groupId>dom4j</groupId><artifactId>dom4j</artifactId><version>1.6.1</version> &l…

AWS 创建 pem 文件

创建后会根据你输入的名字创建一个pem文件&#xff0c;并根据提示下载到本地&#xff0c;然后上传到 Linux 服务器上&#xff0c; 用 pscp 命令&#xff1a; 1. 下载 pscp.exe, 存放在 windows/system32 目录下, 下载地址&#xff1a;https://www.chiark.greenend.org.uk/~sgta…

openssl cer文件转pem文件

在windows机器上安装openssl工具&#xff0c;如果已经安装Loadrunner工具&#xff0c;则可以直接使用。因为在Loadrunner的安装目录bin下&#xff0c;已经有openssl工具直接点击运行即可 如果没装LR,在windows中&#xff0c;点击【开始】&#xff0c;在输入框输入【cmd】&#…

使用pem文件进行ssh登录

一、简介 在这篇文章中,我们将详细的介绍如何使用pem文件实现ssh登录。 ssh作为基础服务,与我们每天的工作息息相关,其登录方式也多种多样,在这篇文章中我们将讲解安全性比较高的pem登录方式如何配置。 从ssh客户端来看,大致可以分为windows客户端,比如Putty,SecureC…

使用Java代码生成RSA公私钥的.pem文件

大家好&#xff0c;我是神韵&#xff0c;是一个技术&生活博主。出文章目的主要是两个&#xff0c;一是好记忆不如烂笔头&#xff0c;记录总结中提高自己。二是希望我的文章可以帮到大家。欢迎大家留言讨论&#xff0c;你们的行动将是我无限的动力。 本篇主题是&#xff1a;…

妙借Git自带的OpenSSL生成RSA公私钥的.pem 文件

大家好&#xff0c;我是神韵&#xff0c;是一个技术&生活博主。出文章目的主要是两个&#xff0c;一是好记忆不如烂笔头&#xff0c;记录总结中提高自己。二是希望我的文章可以帮到大家。欢迎来点赞打卡&#xff0c;你们的行动将是我无限的动力。 本篇主题是&#xff1a;妙…