欢迎食用『主界面』~,这里是赵苦瓜的看板娘desu~

#
【日常】瞎解包原神文件记录
首页 > 日常    作者:赵苦瓜   2021年2月3日 23:37 星期三   热度:91862°   百度已收录  
时间:2021-2-3 23:37   热度:91862° 

原神3.4_2.jpg


前言:

工具没有好坏,重要的是你怎么去使用它!

目前发现了CG动画(usm文件)、角色语音包&背景音乐&各种音效(pck文件)、模型动作贴图等(blk)是可以解包出来的。

如果需要MMD模型,还是建议在文章底部找到官方配布的链接进行下载。

如果需要寻找官方H5网页活动并从中提取动态live2d立绘、spine动画图片等,请访问我的这个Github仓库:

Zhaokugua/GI-WebActivity-Library: 原神网页H5活动链接收集 | Genshin Impact H5 Web Activity Collection (github.com)


CG动画尝试解包

从3.0妮露的CG开始官方投稿的CG画质也升级到4K60帧了,比游戏里放的1080P30帧强多了呜呜

翻了一下原神的资源目录

在D:\Program Files\Genshin Impact\Genshin Impact Game\YuanShen_Data\StreamingAssets\VideoAssets\StandaloneWindows64里面发现了一些USM文件,应该是视频

根据评论区指点,可以使用ToaHartor/GI-cutscenes: A command line program playing with the cutscenes files (USM) from Genshin Impact. (github.com)

这个项目进行解包。这是个命令行程序。

一、准备工作

①首先去Release页面下载程序,然后解压缩。(一般下载GICutscenes-版本号-win-x64-standalone.zip即可)

②下载并安装MKVToolNix(MKVToolNix Downloads – Matroska tools for Linux/Unix and Windows),用于将USM中的音频、视频和字幕合并为mkv文件。

【注意,v0.4.0 及更新版本不再必须这个东西来合并 mkv ,可以使用 --engine 命令来指定 mkv 视频处理引擎,比如 internal, mkvmerge 和 ffmpeg (默认为internal自带的引擎)】

③从Dimbreath/GenshinData: Repository containing the game data for the game Genshin Impact. (github.com)下载Subtitle字幕(如果需要字幕)。

④打开GICutscenes的appsettings.json文件,修改MkvMergePath为你刚才安装MKVToolNix的mkvmerge.exe的完整路径。

另外,FfmpegPath为ffmpeg的文件夹,留空则使用PATH环境变量里面的。SubsFolder改为Subtitle字幕的文件夹。

我的配置文件如下所示:(Windows环境下路径要有转义字符所以写两个\\

{
  "Settings": {
    "MkvMergePath": "E:\\Program Files\\MKVToolNix\\mkvmerge.exe",
    "FfmpegPath": "",
    "SubsFolder": "./GenshinData/Subtitle"
  }
}


⑤从这里Genshin Impact\Genshin Impact Game\YuanShen_Data\StreamingAssets\MiHoYoSDKRes\HttpServerResources\font拷贝两个ttf字体文件到GICutscenes的文件夹,用于显示和官方一样的字幕的字体。

二、开始转换

根据官方说明,这个有三个转换命令。demuxUsm命令可以转换单个usm文件,batchDemux可以转换一个文件夹里面所有文件,convertHca可以把HCA音频文件转换为WAV音频。

--output可以设置输出文件夹,--merge可以添加合并的步骤,合并成mkv文件,--subs可以添加字幕,--no-cleanup是合并完mkv文件之后不删除转换出来的单个文件。


如果不合并mkv文件的话会输出ivf文件(存放VP9视频编码的一种容器)和wav文件。如果不会播放ivf文件可以把ivf改为m2v然后即可播放。


高级命令:-b 解包单个USM文件时设置key1  -a 解包单个USM文件时设置key2


示例代码:

在GICutscebes文件夹打开命令提示符(cmd)或者Powershell,然后即可执行下面的命令:

转换单个文件:

GICutscenes demuxUsm 【USM文件路径】 --merge表示合并成mkv --subs表示把字幕也添加进去

GICutscenes demuxUsm "E:\\Program Files\\GICutscenes\\Cs_LQ1101505_YunjinOpera_Girl.usm" --merge --subs
然后回车执行,即可看到解包成功,并生成了对应的MKV文件!


解包单个文件.jpg

转换一个文件夹内多个USM文件:

GICutscenes batchDemux 【包含USM文件的文件夹】 --output设置输出路径 【输出路径】 --merge合并成mkv文件 --subs添加字幕

GICutscenes batchDemux "K:\\Genshin\\private\\2.6\\YuanShen_Data\\StreamingAssets\\VideoAssets\\StandaloneWindows64" --output "K:\\Genshin\\Video" --merge --subs

这样就能批量把USM文件转换为mkv文件了。


【如果转换原神新版本的视频文件的时候出现错误】

从2.7版本开始,原神的usm文件的key只在游戏中需要播放cg动画的时候才会联网获取,而不是像之前一样可以直接从游戏中解包出来。

如果使用GICutscenes转换原神新版本时出现报错,可能是存放cg动画密码的文件versions.json没有更新,可以去官方仓库下载这个文件然后更新替换一下。

可能版本更新前几天这个文件还没更新,可以耐心等待他们对新版本的cg密码进行抓包更新。



无UID无水印的CG动画预览:

只是投到B站预览一下,当然是被b站二压之后的版本,所以字幕和多语言的音轨都没了,码率也从1w左右压到了5k(1080P高码率),也就看一看。

想要源文件的话建议根据上方教程自行转换。



这里也有B站绿菟葵花精灵王」已经转换好的视频,每次更新他都会及时传上去,四国语言都有,无水印的。

可以去b站看到所有的视频,也可以用唧唧Down等软件下载下来直接作为素材使用。






之前踩的坑(不适用于2.3及以后版本):

然后下载了vgmtoolbox_bin_r977进行转码,转码为m2v

点击查看原图

然后得到了一个似乎被加密而无法播放的m2v视频(后续经大佬查看确实加密了,但是似乎能看密码)和一堆HCA音频

【注意,大概2.3版本过后,由于hca音频变成了加密的bin文件,此方法已经失效

然后使用这个进行HCA音频转码,转为WAV

https://github.com/OpenCGSS/DereTore/

然后下下载解压,把HCA文件拖到hca2wav.exe上面即可完成转码

这个音频是正常的,我测试了很多CG动画,都可以使用这种方法解包出音频。

后来我又对视频文件进行了分析,发现是采用VP9进行的视频编码。

使用ffmpeg可以强制转换成MP4,但是得到的视频文件是全程花屏的,这并不是我们想要的结果。

目前还不清楚视频如何进行解密,欢迎大佬指点!



角色语音&背景音乐尝试解包

然后翻到一堆pck音频

D:\Program Files\Genshin Impact\Genshin Impact Game\YuanShen_Data\StreamingAssets\Audio\GeneratedSoundBanks\Windows

使用了Extractor2.5进行解包

然后我得到了一堆加密的WAV文件


然后根据评论区老哥还有https://bugxia.com/2377.html这篇博客的指点

我们采用vgmstream进行解密和转码

https://github.com/vgmstream/vgmstream/

下载完release里面的vgmstream-win.zip(windows系统),解压缩之后,把加密的wav文件拖到test.exe(新版本好像改成vgmstream-cli.exe了)上面就可以转换了,转换完成的音频就可以播放了。

批量转换:写一个bat:

@echo off
for /r %%i in (*.wav) do (
	"E:\Program Files\VGMStream\test.exe" "%%~nxi"
	del "%%~nxi"
)
pause


记得把那个test.exe的路径改成你解压完的那个里面的test.exe的路径

把这个bat和想要转换的wav文件放在同一个文件夹,运行这个bat即可将文件夹内所有wav文件全部转换并且删除原来的转换之前的文件

如果转换完不想删除的话,把del那一行删掉即可


由于音频都没有命名,所以说只有听了才知道是什么。

比如Music是一些游戏内的背景音乐

Music_1.5_0 00033——若陀龙王战斗曲(其一)

Music_1.5_0 00009——优菈出场曲

Music_1.5_3 00001——若陀龙王战斗曲(其二)

Music_1.5_4 00030——若陀龙王战斗曲(其三)

Minimun是一些窗口交互的音效和登录背景音乐

SFX是一些音效(包括怪物的声音,比如愚人众、深渊法师、史莱姆、公子、纯水精灵等,还有兔兔伯爵爆炸声,元素方碑声,做饭声),Banks里面也是更多的音效,好像有踩沙子的声音,击剑声,掉水声,打破箱子声,留影机照相声,角色界面切换不同元素角色的声音,元素反应的声音,射箭的声音

Stream里面似乎是一些背景音,风声,鸟叫声,狼嚎声,海浪声,嘈杂的集市声,蒙德主题曲片段等

对应语言的文件夹里面的文件是一些角色的语音

*20230816更新 好像四国语音换位置了,在YuanShen_Data\Persistent\AudioAssets里面

这些角色语音不是按顺序排的,很乱,里面既有任务语音,还有角色的那个详情的语音,都是掺杂在一起的。


不过B站有位老哥解包出来之后通过调用腾讯的语音识别,能大致知道一些语音表示的是什么。
原文章:原神语音文本整理 - 哔哩哔哩 (bilibili.com)

对照表的在线文档:[只读]原神1.6 语音asr 6-8 简单修正 - 金山文档 (kdocs.cn)

注意:2.7版本音频结构大改,很多音频位置都有所调整


几个解包出来的语音(为了方便在线播放已转换为MP3):

不太行,这锅盐多了(言笑):

起个难听的绰号(派蒙):

VO_2.4_0 00050耽误太多时间-派蒙版(派蒙):

该电一电了(丽莎):

交给我吧,什么都可以交给我(诺艾尔):

爆炸(兔兔伯爵)SFX_1.6_0 00159:

发现你了~偷窥者(雷莹术士)SFX_1.6_2 00062:

你是~来陪我玩的吗(雷莹术士)SFX_1.6_2 00061




之前的错误示范:


然后使用ww2ogg 0.24进行解密和转码

然而用0.24版本会报错:


ww2ogg "F:\VO_1.3_0 00001.wav" -o test.ogg
Audiokinetic Wwise RIFF/RIFX Vorbis to Ogg Vorbis converter 0.24 by hcs

Input: F:\VO_1.3_0 00001.wav
Parse error: expected 0x42 fmt if vorb missing


于是我又换了ww2ogg019

然后还是报错Parse error: unknown chunk type

我好像明白了什么

或许语音包加密了解不出来



MMD模型

哦,对了,如果你想要原神里面角色的MMD模型的话,原神官方是有在模之屋配布的

戳链接:https://www.aplaybox.com/u/680828836


字体文件

可以取巧直接用它用在Web的字体

Genshin Impact\Genshin Impact Game\YuanShen_Data\StreamingAssets\MiHoYoSDKRes\HttpServerResources\font这个路径

国服有zh-cn.ttf简中和ja-jp.ttf日语两种字体。


blk解包

原神虽然也是Unity引擎,但是直接使用AssetStudio会有各种报错。那么如何解包呢?

根据评论区老哥的指点,github上现在有了一个专为原神魔改版的AssetStudio——GenshinStudio。

github地址:Razmoth/GenshinStudio: Modded AssetStudio for Genshin Impact (github.com)

在release下载最新版即可。

(仓库好像被DMCA了,用这个试试Tools / Studio · GitLab或者这个RazTools/Studio: Modded AssetStudio with new features (github.com)

然后像使用AssetStudio一样,左上角选择File -> Extract folder,选择Genshin Impact\Genshin Impact Game\YuanShen_Data\StreamingAssets\AssetBundles\blocks文件夹,然后等待他载入即可。

载入完成后选择Misc.的build blk map和build cab map,以便加速下次加载的时间。


需要注意的是多出来的黑框框不要关掉。

由于原神文件比较多而且零碎,因此第一次载入可能会非常慢,可能需要十几到几十分钟不等,请耐心等待。

(内存小于16G可能在载入时导致死机重启,尽量使用大内存的机器或者分文件夹载入,防止内存爆了)

原神blk解包.JPG


Property_Prop_GorouBillboard_02_Diffuse.pngStages_Deca_Typeface_01_SMBE.png

如果只是想要找一些贴图,也可以到这个仓库看看

https://github.com/umaichanuwu/GenshinLinks

这里面都是大佬解包好的贴图文件,也都做好了分类,可以直接查看。


关于hdiff拆分更新文件:

大概从2.5版本开始,拆分更新包里面就出现了这种hdiff文件来进行拆分更新。

可以使用下面这个东西,把hdiff拆分更新文件打包进原来的文件里面,然后再进行解包。

https://github.com/sisong/HDiffPatch


关于网页活动

从网页活动里还可以获得一些别的素材,比如在新版本现行展示页中有版本PV的纯音乐、角色的live2d动态立绘、spine动画等等。

这里收集了所有有关活动页面的链接,可以去看一下:

Zhaokugua/GI-WebActivity-Library: 原神网页H5活动小游戏链接收集 | Genshin Impact H5 Web Activity&MiniGame Collection (github.com)




7D}KQSDSXMC4ZW6Y1Z%PV(9.jpg

本文作者:赵苦瓜      文章标题: 【日常】瞎解包原神文件记录
本文地址:https://blog.jixiaob.cn/?post=49
版权声明:若无注明,本文皆为“赵苦瓜のBlog~”原创,转载请保留文章出处。
阿巴巴巴2023-01-26 00:03
原神的活动上的动态封面的文件夹在什么位置,可以提取吗
@阿巴巴巴:应该也是在那一堆blk里吧,应该是类似live2d的东西
末影猫2023-01-14 19:14
大佬, 最近新泄露出来的cb1.2用genshin studio解包不出来啊 提示的是 not a blk, 请问还有没有什么其他的工具能用啊
@末影猫:可能可以试试类似的hoyo stdio?好像跟这个就是一个的不过作者把好多米哈游游戏的都合并到一个了
末影猫2023-01-20 19:57
@赵苦瓜:似乎能下载到的版本都解不了 全都是提示 not a blk 应该是文件是blk但编码不同吧
末影猫2023-01-20 20:02
@赵苦瓜:17.00提示的是Failed to load a mhy0 at 0x00000000 in 00A5A9D3.blk 然后再补充一下 正式版的dev版本解包是没有问题的
@末影猫:那就不清楚了qaq
ainoin2023-01-06 10:13
大佬这个报错是怎么回事
Failure processing application bundle.
Bundle header version compatibility check failed.
A fatal error occured while processing application bundle
@ainoin:不知道(
话说为啥软件遇到报错不是去github找开发者提问而是问我,,
木木木子2023-01-04 11:34
大佬,我下载了 https://github.com/TomyJan/HoYoStudio/releases/tag/v0.17.00  里面的net6.0-windows.zip文件,解压后启动AssetStudioGUI.exe程序。

提示缺少框架,网页跳转后自动下载了dotnet-runtime-6.0.12-win-x64.exe 文件,安装后启动AssetStudioGUI.exe程序提示缺少框架。

重新下载安装 dotnet-runtime-6.0.0-win-x64.exe 后还是提示缺少框架。

想问问大佬,这个框架下应该下载哪个才能启动呢?
@木木木子:我曾经也用过.net运行环境抽风的问题,要不你下net5.0-windows.zip的版本吧
木木木子2023-01-29 23:46
@赵苦瓜:谢谢大佬的回复,我出现了新的问题

我在尝试使用 net5.0-windows.zip 解压后启动 AssetStudioGUI.exe 会出现一个黑框

[Info] Target Game is Genshin Impact
[Info] Loading BLKMap
[Warning] GI was not loaded, Could not find a part of the path 'E:\拆包\net5.0-windows\Maps\BLKMap.bin'.
[Warning] Failed to fetch version-index.json, 请求的名称有效,但是找不到请求的类型的数据。 (raw.githubusercontent.com:443)
[Warning] Could not load AI versions !!

请问 BLKMap.bin 文件 和  version-index.json 是什么呢? 要怎么做才能正常使用呢?
@木木木子:BLKMap是他加载blk之后的缓存,第一次打开没有的话应该是正常的
第二个那个是因为连不上github所以获取不到,具体会有啥影响我也不清楚
不过看这俩都是waring(警告)而不是error(错误)应该不影响使用吧
木木木子2023-03-16 11:42
@赵苦瓜:感谢大佬回复。已经成功解包。
并且找到了部分七圣召唤的动态卡面,是用 spine 软件制作的。
在命名的时候部分文件有spine的关键词。
一套动态卡面是 .png  .atlas  .skel 三类文件构成的。

例如人物的动态卡面命名:
Gcg_CardFace_Char_Avatar_人物名字_Spine.png
Gcg_CardFace_Char_Avatar_人物名字_Spine.skel
Gcg_CardFace_Char_Avatar_人物名字_Spine.atlas

但是我在找的过程中发现缺少.atlas 文件,所以卡面至今不全。
如果大佬或其他小伙伴能找到也请留言告知,谢谢各位。
啵啵2023-01-01 16:07
请问那个genshinstudio该怎么使用啊,我下载后没有exe文件。
@啵啵:别下源码,下编译好的压缩包
啵啵2023-01-01 19:44
@赵苦瓜:请问该怎么导出高清立绘呢?我解包出来的一张图只有几百kb,而我在网上找的资源包有一张几mb的那种。
@啵啵:有没有可能,那些资源包是从官方发的图里扣的(doge
一鸭一鸭悠~2023-03-08 23:59
@啵啵:兄弟你怎么下载的啊,我只找到了源码,找不到压缩包啊
一鸭一鸭悠~2023-03-08 23:58
@赵苦瓜:github的挂了,gitlab那个仓库里没找到压缩包啊
kido2022-12-24 21:34
PS C:\Users\Kido\Desktop\解密> GICutscenes batchDemux "C:\\Program Files\\Genshin Impact\\Genshin Impact Game\\YuanShen_Data\\StreamingAssets\\VideoAssets\\StandaloneWindows64"--output "C:\\Users\\Kido\\Desktop\\视频素材\\原神cg"--merge --subs
GICutscenes : 无法将“GICutscenes”项识别为 cmdlet、函数、脚本文件或可运行
程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
所在位置 行:1 字符: 1
+ GICutscenes batchDemux "C:\\Program Files\\Genshin Impact\\Genshin Im ...
+ ~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (GICutscenes:String) [], Com
   mandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException


Suggestion [3,General]: 找不到命令 GICutscenes,但它确实存在于当前位置。默认情况下,Windows PowerShell 不会从当前位置加载命令。如果信任此命令,请改为键
入“.\GICutscenes”。有关详细信息,请参阅 "get-help about_Command_Precedence"

大佬,这种报错该怎么解决啊,按它的办法键入还是不行
@kido:那就别用powershell了用cmd(doge
kido2022-12-26 18:34
@赵苦瓜:思,我去网站安装了还是这样
>GICutscenes batchDemux "C:\\Program Files\\Genshin Impact\\Genshin Impact Game\\YuanShen_Data\\StreamingAssets\\VideoAssets\\StandaloneWindows64"--output "C:\\Users\\Kido\\Desktop\\视频素材\\原神cg"--merge --subs
A fatal error occurred. The required library hostfxr.dll could not be found.
If this is a self-contained application, that library should exist in [C:\Users\Kido\Desktop\

The .NET runtime can be found at:
  - https://aka.ms/dotnet-core-applaunch?missing_runtime=true&arch=x64&rid=win10-x64&apphost_version=6.0.6
@kido:用下面这个链接安装了.net6.0也不行吗,那就不知道了,总之大概是运行环境的问题(
kido2022-12-26 20:07
@赵苦瓜:嘶,这样
mi2022-12-21 15:20
为啥我用GICutscenes的时候报错了啊
F:\GICutscenes-0.4.1-win-x64-standalone>GICutscenes demuxUsm "E:\Genshin\Genshin Impact\Genshin Impact Game\YuanShen_Data\StreamingAssets\VideoAssets\StandaloneWindows64\Cs_LiYue_AQ80070101_StopMechanismBig_Boy.usm"--merge
Unhandled exception: System.ArgumentException: File {0} does not exist. (Parameter 'Cs_LiYue_AQ80070101_StopMechanismBig_Boy.usm--merge')
   at GICutscenes.Program.DemuxUsmCommand(FileInfo file, String key1, String key2, DirectoryInfo output, String engine, Boolean merge, Boolean subs, Boolean noCleanup) in /home/runner/work/GI-cutscenes/GI-cutscenes/src/Program.cs:line 153
......




cmd里面当时就这点东西((纯萌新
@mi:你的命令里面文件名和后面的--merge之间没用空格隔开,导致程序认为这一整个是文件名然后他找不到文件导致的报错,只需要在命令中的文件名和--merge之间加一个空格就行了
mi2022-12-22 07:14
@赵苦瓜:哇塞,十分感谢
mi2022-12-22 07:16
@赵苦瓜:大佬 问题又有了
G:\原神解包\GICutscenes-0.4.1-win-x64-standalone>GICutscenes demuxUsm "G:\\原神cg包\\MDAQ063_ZhaiXingYaSideB_Girl.usm"  --merge --subs
Output folder : G:\原神cg包
Finding encryption key for MDAQ063_ZhaiXingYaSideB_Girl.usm...
key1=3D8DAAEB key2=B6000300
Demuxing MDAQ063_ZhaiXingYaSideB_Girl.usm : extracting video and audio...
Converting MDAQ063_ZhaiXingYaSideB_Girl_0.hca to wav...
Converting MDAQ063_ZhaiXingYaSideB_Girl_1.hca to wav...
Converting MDAQ063_ZhaiXingYaSideB_Girl_2.hca to wav...
Converting MDAQ063_ZhaiXingYaSideB_Girl_3.hca to wav...
Extraction completed !
Merging using the internal engine.
Unhandled exception: System.ArgumentException: Path value for the key SubsFolder is invalid : Directory does not exist.
......

这次又是啥
@mi:你加了--subs参数想添加字幕,他就从你在配置文件里填的字幕的路径里面去找对应的字幕文件,但是发现路径不存在,所以报错
mi2022-12-23 20:34
@赵苦瓜:嘶~我懂了谢谢大佬
kido2022-12-24 21:25
@赵苦瓜:大佬,遇到这种报错该怎么办A fatal error occurred. The required library hostfxr.dll could not be found.
If this is a self-contained application, that library should exist in [C:\Users\Kido\Desktop\
@kido:缺失hostfxr.dll支持库文件,可能是.net运行环境损坏,可以试试重装一下.net运行环境
净蚀2022-12-09 17:27
目前能下到的
https://gitlab.com/RazTools/Studio/-/releases
都是源代码类型的,没有exe文件
能私发下文件吗~~
或者给个下载路径
@净蚀:https://github.com/TomyJan/HoYoStudio
末影猫2022-12-17 17:24
@赵苦瓜:这里面下载的也没有exe啊 全是cs的文件 是从release页面的HoYoStudio-0.17.00.zip下载的
@末影猫:对就是去Release下
末影猫2022-12-17 18:12
@赵苦瓜:解压了还是没exe
@末影猫:下载net6.0-windows.zip
或者net5.0-windows.zip
cwxam2022-12-04 02:14
大佬,似乎来晚了,我按照大佬的方法成功的提取了usm,但是想下字幕的时候,发现 https://github.com/Dimbreath/GenshinData 一直提示找不到页面,大佬能提供下下载吗?
@cwxam:那个仓库由于版权问题被米哈游DMCA下架了qwq
不过没有字幕并不影响视频提取,只不过是没有字幕了
我这里还有个到3.0之前的版本的备份,不知道还能活多久)
https://gitee.com/jixiaob/3.0FORretards/tree/master/resources/Subtitle
cwxam2022-12-04 21:05
@赵苦瓜:谢谢大佬,现在有字幕了
Aya2022-11-13 10:22
大佬,想问问原神用3dmigoto载入的角色mod能解包不?游戏能读建模软件却读不了…想弄些mod给别的游戏..
https://github.com/SilentNightSound/GI-Model-Importer/releases
@Aya:mod制作这方面我还真不清楚,或许应该去看一些mod制作教程

返回顶部    首页    后花园  
版权所有:赵苦瓜のBlog~    站长: 赵苦瓜    程序:emlog   鲁ICP备20030743号-1   鲁公网安备37048102006726 萌ICP备20222268号    sitemap