提取游戏《Limbus Company》(边狱公司)内素材
授人以鱼,不如授人以渔。
目录
注意事项
寻找音频文件
.bytes转为.fsb
必备工具
步骤
解决乱码
必备工具
步骤
提取.fsb文件
必备工具
可备工具
步骤
注意事项
文章关于出现乱码的处理方法和与编码相关的部分有误,已于2023/3/10更正。
相关工具会传到网盘。链接如下(如果没链接那就是过期还没更新/文章没更新)。
BGM:点击此处
解包工具合集(不包含uestdio,assetstdio):点击此处
网易云链接:点击此处
此文章主要是讲解如何提取游戏内的音频文件,所以默认各位会使用assetstdio,并且已经解包出了texture2D和sprite等文件夹下的图片素材。不会这一步的可以参考本人其他文章。
AssetStdio使用例
寻找音频文件
电脑用户直接load folder就行。
如果你是手机用户,可以把手机上的文件(可以只传游戏文件夹下的名字为_data的文件)用数据线传到电脑上。由于手机上的_data文件都没有文件后缀,所以需要你自己一个个补上.asset后缀。(或者自己写个bat,详细可见此篇文章点击此处)
补后缀只是图个直观易懂,不补也行
以你游为例,音频文件类型均为TextAsset。用AssetsStdio的时候可以先预览,看看右边开头是不是RIFF,如果是的话那这就是你待会要处理的音频文件。
.bytes转为.fsb
必备工具
UEStdio 支持十六进制转十进制计算器(网页版也可以,方便自己用就行。当然你自己写个也完全没问题)
步骤
会解决这个后面的就很简单了。
首先导出你要解包的文件(文件后缀应为.bytes),然后用UEStdio打开,如下图。
按ctrl+f搜索“fsb”,找到fsb第一次出现的位置,记住此时的地址。(图中为9900)
注:一般来说第一次出现fsb的位置应在某段开头,不是的话看看你是不是找错了。
然后你需要删除从开头RIFF一直到这段FSB之间的所有内容,通过十六进制计算器我们得到这个区间内一共有39168个字节。
为什么是十六进制而不是二进制八进制balabala?因为图中00009900h后面的这个h代表的就是十六进制(hex)。
重新回到并点击开头也就是RIFF那行,框里输入39168后回车,这样我们就删掉了从RIFF开始一直到fsb前一共39168字节的内容。
请确保此时FSB这三个字母在第一行的开头位置。
然后保存。再把文件后缀从.bytes改为.fsb即可。
多出来的.bak是改动即删掉RIFF那块结构前的备份文件,如果你不确定自己有没有搞错删错啥的可以先留着。
现在,你应该得到了一个后缀为.fsb的文件(或者还有一个.bak的备份文件)。那么这一步就算完成了。
解决乱码
附:注意,改这个会导致你电脑里同样是非Unicode编码的字符变成乱码,如果你电脑里文件名之类的包含的中文或者其他非英文字符多的话还是不要看这个步骤了。(主要是每次解包都要改设置重启有点麻烦)
当然想恢复也很简单,解包之后再把“使用Unicode UTF-8提供全球语言支持”这个选项去掉,每次解包前再把它勾上。详细请看下面的步骤。
你已经完成了最困难的一步,现在你所需的bgm都在.fsb文件中。但或许你在使用UEStdio的时候就已经发现了--那些乱码到底是三小玩意?
我试过FsbExtractor直接导出音频,可以得到.raw或.ogg。前者我试过用matlab的audioread函数得到音频样本和采样率,试过用github上的raw2wav直接转换,试过用linux虚拟机的sox直接播放音频,试过用audacity一个一个试采样率和解码格式得到样本,但无论是哪种方法最后都没法得到原曲;而后者更逆天,导出后直接无法播放甚至无法删除。无论是cmd输入rmdir还是直接shift+delete都没法删除,最后还是趁刚重启电脑还没反应过来才把它删了。
我试过用FMOD Stdio直接打开.fsb。我试过用GameExtractor直接导出.wav。我试过用UEStdio直接删去原文件名里的那些乱码,因为我怀疑是因为文件名乱码太多导致string数组越界才无法导出,而且这个问题我在vs里头就碰见过类似的(详细可见这篇文章)。
其实看到这里相信大家就应该已经意识到是哪出了问题,而且还很明确的知道该如何解决。而当我真正意识到这个问题是在看推特发现Mili要出新歌的时候。
看到Mil新歌“Between Two World"在3月5号发布,我就突然发现,自己平时老说什么”月计“”月计“。”月计“?ProjectMoon?诶,好像是个外国而且是个韩国公司来着?到这里我就意识到了问题--为什么会出现乱码?那当然是你的电脑不支持这些字符的编码,导致它无法正常显示才会变成乱码。那月计会把一堆名字混着乱码的文件打包进RIFF里吗?当然不可能。
个人推测,出现乱码是因为我们的编码和解码过程使用了不同的编码方式。大概率是因为你的电脑默认是gbk编码(cmd输入chcp查,如果是936那就是gbk中文编码),而gkb是不支持韩语的非汉字字符部分的,这导致你只能看到部分正常显示的韩文,而大部分都是以乱码的形式呈现。
其实当我发现解包出来的其他文件名也有韩文字符时,而且还混着一堆乱码时我就应该知道问题了,真正发现的时候真的想骂自己是真蠢。到这里大伙也知道问题该怎么解决了--直接改系统设置就完事了。
必备工具
FsbExtractor
步骤
先改系统设置,把非Unicode程序的语言改为韩语。
记得勾选“使用Unicode UTF-8....",重启后你的电脑就会从GBK编码转为UTF-8编码。如果发现打开cmd有乱码的话吧这个选项再去掉就行。
首选语言不知道有没有影响,因为我之前就有下过韩语的输入法,各位如果不放心的话也可以下一下。

先不着急重启电脑。
这里以bgm.fsb作为例子。下载完fsbextractor后,自己创个快捷方式。方便后面的步骤。做完之后你的文件夹下应该是这个样子。

用FsbExtractor打开.fsb文件。
这里我没乱码的截图了,各位在电脑重启前这些文件名应该还是有乱码的。
记住现在文件名大概的情况,然后重启电脑。

再用fsbextractor打开.fsb文件,如果还是有乱码就过一会再重启(一般来说第一次重启后,文件名就已经能正常显示或者部分显示韩文了),一般重启1-3次文件名就没乱码了。
如果还是有乱码,那就去把系统里能改成韩语的都改成韩语,如下图。

直到文件名全部都能正常显示,这一步就算大功告成了。

提取.fsb文件
解决完乱码后,最困难的第二步就完成了。现在只需将.wav从.fsb中提取出来就大功告成了。
必备工具
fsb_aud_extr fmod_extr
可备工具
quickbms
为什么有两个必备工具,这是因为有些.fsb只能被其中一个提取。我这里用的fsb_aud_extr,还没试过fmod_extr行不行。
quickbms在这里并不是必要的,当然你要用quickbms把.fsb都转为00000000.fsb也行。
双击quickbms后第一步是选择Script.bms(我不太记得有没有把这个文件放进压缩包里了...如果缺了说一声),第二步是选择你要处理的.fsb文件,第三步就是选择处理后得到的00000000.fsb文件的存放位置。
步骤
这步其实没啥了,先把.fsb拖到和fsb_aud_extr的同一个文件夹下。
shift+鼠标右键打开powershell,输入fsb后按tab自动补全,再输入.fsb的文件名(比如bgm_default.fsb或者00000000.fsb,只需要输入bgm或000,再按tab自动补全即可。前提是这个文件夹下没有同样关键字的文件)


此文到这就完结了,可喜可贺,可喜可贺。
正于此地,愿您找到想要的书。
相关文章:
提取游戏《Limbus Company》(边狱公司)内素材
授人以鱼,不如授人以渔。 目录 注意事项 寻找音频文件 .bytes转为.fsb 必备工具 步骤 解决乱码 必备工具 步骤 提取.fsb文件 必备工具 可备工具 步骤 注意事项 文章关于出现乱码的处理方法和与编码相关的部分有误,已于2023/3/10更正。 相关…...
学生信息表
目录 一、功能说明 二、核心思想 三、所用知识回顾 四、基本框架 五、js功能实现部分 一、功能说明 (1)输入对应的信息,点击录入可以为下面的表格添加一条记录,注意当所填信息不完整时不允许进行提交。 (2&…...
FOTA在AUTOSAR中的应用
FOTA介绍 FOTA(Firmware Over-The-Air)移动终端的空中下载软件升级,指通过云端升级技术,为具有连网功能的设备:例如手机、平板电脑、便携式媒体播放器、移动互联网设备等提供固件升级服务,用户使用网络以按需、易扩展的方式获取智能终端系统升级包,并通过FOTA进行云端升…...
2023/3/10 Vue核心知识的学习- Vue - v-model双向绑定原理
https://www.jianshu.com/p/2682b5a26869 定义:vue中双向绑定就是指v-model指令,可以绑定一个响应式数据到视图,同时视图中变化能同步改变该值。 通过Object.defineProperty( )对属性设置一个set函数,当数据改变了就会来触发这个…...
面朝大海,春暖花开丨2023年Kaadas凯迪仕全国经销商大会成功召开
3月8日,We——2023年Kaadas凯迪仕全国经销商大会将在中国青岛星光岛会议中心隆重举行,盛会汇聚了超过1000名优秀合作伙伴,规模空前。Kaadas凯迪仕品牌创始人&集团总裁苏志勇先生、集团董事长苏祺云先生以及各高层领导均莅临现场。 大会伊…...
【ubuntu】安装cuda+anaconda的docker环境,并用Vscode远程访问
目录下载英伟达docker配置docker的基本安装环境为vscode安装ssh服务安装anaconda下载英伟达docker docker pull nvidia/cuda配置docker的基本安装环境 apt-get install sudo sudo apt-get update sudo apt-get install wget sudo ps -e|grep ssh为vscode安装ssh服务 sudo ap…...
Python(青铜时代)——容器类的公共方法
内置函数 内置函数:不需要使用 import 导入库,就可以直接使用的函数 函数描述备注len()计算容器中元素个数del( )删除变量max( )返回容器中元素最大值如果是字典,只针对key比较min( )返回容器中元素最小值如果是字典,…...
利用canvas给图片添加水印
前言前两天给个人网站添加了一个小功能,就是在文章编辑上传图片的时候自动给图片加上水印。给网页图片添加水印是个常见的功能,也是互联网内容作者保护自己版权的方法之一。本文简单记录一下借助canvas在前端实现图片添加水印的实现方法。canvas元素其实…...
保姆级使用PyTorch训练与评估自己的MobileViT网络教程
文章目录前言0. 环境搭建&快速开始1. 数据集制作1.1 标签文件制作1.2 数据集划分1.3 数据集信息文件制作2. 修改参数文件3. 训练4. 评估5. 其他教程前言 项目地址:https://github.com/Fafa-DL/Awesome-Backbones 操作教程:https://www.bilibili.co…...
Giscus,由 GitHub Discussions驱动的评论系统
在创建网站或博客时,许多人都希望能够为其内容提供评论功能,以与用户进行交流和互动。然而,实现这一点可能会非常复杂,需要处理许多不同的问题,如身份验证、反垃圾邮件、跨站脚本攻击等。为了帮助解决这些问题…...
【JSON文件解析】JSON文件
文章目录概要:本期主要介绍Qt解析JSON数据格式文件的方式。一、JSON数据格式1.JSON类似于XML,在JSON文件中,有且只有一个根节点2.JSON有两种主流包含型构造字符:{对象}、[数组]3.JSON的值主要包括:对象、数组、数字、字…...
OpenGL超级宝典学习笔记:纹理
前言 本篇在讲什么 本篇章记录对OpenGL中纹理使用的学习 本篇适合什么 适合初学OpenGL的小白 本篇需要什么 对C语法有简单认知 对OpenGL有简单认知 最好是有OpenGL超级宝典蓝宝书 依赖Visual Studio编辑器 本篇的特色 具有全流程的图文教学 重实践,轻理…...
主辅助服务市场出清模型研究【旋转备用】(Matlab代码实现)
👨🎓个人主页:研学社的博客💥💥💞💞欢迎来到本博客❤️❤️💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密…...
不用费劲,这5款效率工具为你解决学习工作烦恼
今天我要向大家推荐5款超级好用的效率软件,无论是在学习还是办公中都能够极大地提高效率。这些软件可以帮助你解决许多问题,而且每个都是真正的神器。 1.键盘仿真鼠标——NeatMouse NeatMouse 是一个小型的工具能够使用鼠标光标控制指针。当你的鼠标不…...
PostgreSQL 数据库大小写规则
PostgreSQL 数据库对大小写的处理规则如下: 严格区分大小写默认把所有 SQL 语句都转换成小写再执行加双引号的 SQL 语句除外 如果想要成功执行名称中带有大写字母的对象,则需要把对象名称加上双引号。 验证如下: 想要创建数据库 IZone&…...
【springmvc】执行流程
SpringMVC执行流程 原理图 1、SpringMVC常用组件 DispatcherServlet:前端控制器,不需要工程师开发,由框架提供 作用:统一处理请求和响应,整个流程控制的中心,由它调用其它组件处理用户的请求 HandlerMa…...
什么是AIGC?
目录前言一、什么是AIGC?1、什么是PGC?2、什么是UGC?3、什么是PUCG?4、什么是AIGC?二、总结前言 很明显,ChatGPT的爆火,带动了AIGC(AI-Generated Content)概念的火热。 …...
【深度强化学习】(2) Double DQN 模型解析,附Pytorch完整代码
大家好,今天和大家分享一个深度强化学习算法 DQN 的改进版 Double DQN,并基于 OpenAI 的 gym 环境库完成一个小游戏,完整代码可以从我的 GitHub 中获得: https://github.com/LiSir-HIT/Reinforcement-Learning/tree/main/Model 1…...
【正则表达式】正则表达式语法规则
正则表达式语法规则1.普通字符 字符描述[ABC]匹配 […] 中的所有字符[^ABC]匹配除了 […] 中字符的所有字符[A-Z][A-Z] 表示一个区间,匹配所有大写字母,[a-z] 表示所有小写字母.匹配除换行符以外的任意字符[\s\S]匹配所有。\s 是匹配所有空白符…...
1636_isatty函数的功能
全部学习汇总: GreyZhang/g_unix: some basic learning about unix operating system. (github.com) 前面刚刚看完了一个函数和三个文件指针,一行代码懂了半行。但是继续分析我之前看到的代码还是遇到了困难,因为之前自己对于UNIX的一些基础知…...
深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...
Java 8 Stream API 入门到实践详解
一、告别 for 循环! 传统痛点: Java 8 之前,集合操作离不开冗长的 for 循环和匿名类。例如,过滤列表中的偶数: List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...
Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...
《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
scikit-learn机器学习
# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...
iview框架主题色的应用
1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题,无需引入,直接可…...
