Unity游戏如何替换游戏内资产与封包逆向技巧

逆向工程 实用技术 其它unity音频替换游戏封包解包
浏览数 - 506发布于 - 2025-12-27 - 00:28

重新编辑于 - 2025-12-29 - 16:39

前言

asset作为一个目录表指引着引擎去resource寻找对应的文件

那么要做的是就是手动更改这个目录

其实文本,音频视频图片都通杀的

这里拿音频作为演示,图像视频文本文件导出推荐使用AssetStudio导出

音频就拿UABEA的快捷导出也行


AssetStudio获取文件的PatchID路径ID,与所在封包的位置

UABEA获取原始文件的offset偏移量与size大小

利用Unity的Build打包shaders0.asset获取二进制字节复制到游戏的原始resource的最下方

记录最下面一行的

16进制,用微软自带的计算机转换为10进制数,保存为新文件offest,记录新文件size

再使用UABEA拖入游戏原始asset,导出对应路径ID的文件的索引

修改索引的offset为新文件offset与新文件size

然后再将索引导入回去,保存asset即可完成替换

图片文本可以直接替换,也可以按照帖子内的方法替换


Asset在游戏\游戏_Data

这里用

猫研社

作为演示

打开AssetStudio

https://github.com/aelurum/AssetStudio/releases/tag/v0.19.0

下载对应.net版本的AssetStudioModGUI

拖入asset后,选择文件类型为AudioCilp

找到你要更改的文件,如果游戏的体量庞大,请自行dump慢慢听

image.png

例如我想更改bgm04与bgm07

在excel建一个表格或者记事本记录文件信息

记录PatchID方便uabea查找对应文件

记录文件所处哪个封包

image.pngimage.png

使用UABEAvalonia查看文件索引信息

UABEAvalonia.exe

https://github.com/nesrak1/UABEA/releases/tag/v8

拖入asset

image.png往下滑按顺序找到记录的PatchID

ViewData

分别查看两文件

image.png

点击StreamResource以展开此栏目查看Offest与Size

image.png

复制

采样率Frequency

深度BitsPerSample

偏移值Offest

大小Size

压缩方式CompressionFormat

image.png

选中文件后点击Plugins

image.pngExport audio file

AU等音乐软件自行替换音效,并且保证时常尽量一致

Unity打包asset

安装UnityEditor

 https://pan.baidu.com/s/1qGsbHSkVvUTzVB7TR8NG8g

提取码: h3ra

别装C盘就是,记住路径

UnityEditor安装完成后

在UnityHub领取个人证书

https://pan.baidu.com/s/1vP0lq9Yc3OEh3NzXUuaJAA

提取码: 56sc

如下

Sign in登录账号

image.png

设置你安装的UnityEditor目录

image.png

右上角齿轮设置add添加证书

image.png

New Project

image.png

3D场景

找个位置储存项目

image.png

等待加载耐心等待绿条走完

image.png

把音频拖入到引擎内的文件管理器内

image.png

再将音频拖入到场景中

image.png

在项目文件夹内设置

image.png

Add Open Scenes

image.png

Buid并导出至指定文件夹

save,如果弹这个

image.png

等编译

image.png

完成后直接关掉引擎还有HUb

记录新offset与size

推荐以offset为0的文件优先进行处理

其实复制过程都一样只是顺序不同罢了

image.png另一个文件也同理

二进制编辑器编辑

\My project_Data的shaders0.resource里头就是我们要的文件

拖入到二进制编辑器010Editor选中范围

image.png

image.png开始0,记得调成十进制

输入之前记录的offset与size

复制到另一个新建16进制文本保存为.fsb

例如第一个文件

BGM7

offset:0

size:5127008

image.png

新建十六进制文件

image.png

将二进制复制到新建16进制文件

image.png保存命名为BGM7.fsb

第二个也同理

offset:5127008

size:7844704

image.png创建一个新的,复制粘贴,命名为BGM4.fsb

在另一游戏请根据文件的具体名字进行编辑

放回游戏原始resource

拖到最下面一行

最底下右边地址

17A60A0

请以实际为准

image.png要将十六进制转十进制

拿微软的计算器啥的也行

或者百度十六进制转十进制计算器在线工具

结果是24797344

image.png

然后记录为游戏原始resourceOffset

image.png

然后复制粘贴第一个二进制文件

image.png

第二个游戏原始resourceOffset

现在有新的一行

1C89C00

image.png结果

29924352

复制粘贴

image.png如果还有第三第四个等等也如此类推

uabea重新修改文件索引

Export Dump

image.pngimage.png

本文版权遵循 CC BY-NC 协议 本站版权政策

2 条回复

c1oud
发布于 2025-12-29 - 17:26

可以讲讲造字体吗,不少日本游戏对汉化文本都显示口口口

kinotern
发布于 2025-12-29 - 21:26
回复 @c1oud#1

可以讲讲造字体吗,不少日本游戏对汉化文本都显示口口口

里头有字体文件可以直接替换字体,其他的话还在研究

(。>︿<。) 已经一滴回复都不剩了哦~