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

#
【日常】瞎解包绝区零文件记录
首页 > 点滴记录    作者:赵苦瓜   2022年8月7日 12:21 星期日   热度:24897°   百度已收录  
时间:2022-8-7 12:21   热度:24897° 

绝区零终于一测了!

但是暂没有测试权限只能看别人玩qwq

唉,只能瞎解包玩了。


前言:

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

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

这次把 CG 动画部分放在最后,原因稍后再讲


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

还是熟悉的老朋友 pck 文件

ZZZ\Win_Data\StreamingAssets\Audio\Windows里面可以找到几个 pck 文件


和原神、星穹铁道一样,使用 Extractor 2.5 解包即可。

可以解出来一堆加密的 wav 文件。

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

批量转换脚本:

@echo off
for /r %%i in (*.wav) do (
	"E:\Program Files\VGMStream\test.exe" "%%~nxi"
	del "%%~nxi"
)
pause
记得把那个 test.exe 的地方改成你解压完的那个里面的 test.exe 
如果转换完不想删除的话,把 del 那一行删掉即可


CG.pck 是 CG 动画的背景音或者通用的声音(比如邦布发出的声音)

CG_VO_CN.pck 和 CG_VO_JP.pck 是 CG 动画中的角色配音


CG_VO_CN 00001.mp3 那是我的保险箱!


Chara.pck 里面是角色的一些音效,比如走路打斗之类的

Chara_VO_CN 和 JP 是角色的语音,比如加入队伍语音什么的

Comic 似乎是剧情中漫画的配音


bundle文件解包

和原神的 blk 文件类似,绝区零用 bundle 格式来存储 unity 的数据

可以使用专为绝区零魔改的 AssetStudio —— ZZZStudio 来进行解包。

Razmoth/ZZZStudio: Modded AssetStudio for Zenless Zero Zone (github.com)

(仓库好像被DMCA了,用这个试试 发布 · Tools / Studio · GitLab 

在github的release页面下载最新版,解压缩后即可使用。

选择左上角的File -> Extract folder,选择绝区零的Win_Data\StreamingAssets\Bundles文件夹,然后等待他载入即可。

注意:载入全部数据至少需要12G内存,请内存不足的玩家不要轻易尝试,否则可能造成电脑死机

另外载入过程中可能会占用数十G的C盘空间,请提前预留好空间。

载入完成后可以在Filter Type选项里面筛选自己想要查看的类型,比如Mesh是模型文件,Texture2D是一些贴图文件和图片,VideoClip是游戏里的一些视频片段,比如屏幕上的广告版、选取剧情章节的动态效果等,Sprite里面好像也是一些图片?

我解出来一个手机端的截图?一些角色的选择头像还有一个月亮?

TutorialType02.jpg

IconRoleSelect01.pngIconRoleSelect11.pngIconRoleSelect12.png

IconRoleSelect05.pngIconRoleSelect09.pngIconRoleSelect10.pngIconRoleSelect13.pngIconRoleSelect14.pngIconRoleSelect15.pngIconRoleSelect16.pngIconRoleSelect17.pngIconRoleSelect18.png

moon_bright.png



CG动画尝试解包

与原神和星穹铁道都不同,也可能是一测的缘故,绝区零的CG动画不是我们熟悉的usm文件。

我并没有在类似之前的路径中找到usm文件。那么CG动画都去哪了呢?

细心的读者可能注意到,解包音频的时候有一些有关CG的音频,这说明CG的音频和视频是分开的。

那么视频在哪里呢?

还记得解包bundle文件时的VideoClip吗?这里面的视频大部分都是没有声音的。

恰好,我在这里面找到了一些名为CutScene_ChapterX_XX的文件!

没错,这就是CG的视频文件!

光解出来视频肯定是不够的,起码也得把声音配上。

于是根据时长,我尝试匹配了CG.pck里面的背景音效,都可以匹配上。

正当我以为已经完事的时候,才发现事情没有那么简单。

这样简单搭配上的结果就是,没有声优配音的,只有背影音效和背景音乐的视频,,,

于是又想到了CG_VO_CN.pck里面的文件,然而,这里面的文件文件名只有序号,而且每一个音频文件都是某一个角色说的一小段话,,

也就是说,合并视频的时候不仅每一个角色的配音要单独放到一个音轨里,还要找清楚每一小段配音究竟是在哪一个CG的什么地方,,

由于游戏逆向工程量太大了,现阶段不太可能直接从游戏内找到对应的匹配。

于是,我找到了一些录制游戏实际效果的视频,通过视频来和这些零散的语音一一对照,之后再把他们调整到合适的位置

在忙活了一天后,终于完成了视频的初步版本。

40b4230cd47e4a5cb0081e84306b252d71e8cee7.png

d657832c569c5e132c822317e1c646ff0fc214ce.png每一个角色都是单独的音轨,,当时因为这个一共做了十二个轨道才完成,,太可怕了

不过听说崩崩崩早期的视频也是类似这种情况,后来改为了usm文件

还是改回usm吧,,这样解太费劲了,,


神秘链接

https://drive.kazuhahub.com/s/wbGCk

本文作者:赵苦瓜      文章标题: 【日常】瞎解包绝区零文件记录
本文地址:https://blog.jixiaob.cn/?post=89
版权声明:若无注明,本文皆为“赵苦瓜のBlog~”原创,转载请保留文章出处。
ayimuzus2024-07-11 01:07
大佬,通过这种方式获取到的是一个一个的素材,我看b站有个解包视频,包括下方的评论,可以直接提取到整个地图,大佬知道这是怎么做到的吗?
@ayimuzus:不知道,你去问他们
ayimuzus2024-07-11 10:56
@赵苦瓜:谢谢
尽淘影2024-07-16 16:47
@ayimuzus:有链接吗?我看看
ayimuzus2024-07-17 09:45
@尽淘影:https://www.bilibili.com/video/BV1Ay411B77n/?spm_id_from=333.337.search-card.all.click&vd_source=83694e03ce6d0a698a400d4631f577b7
这个视频,我了解到的应该是用ninja提取的,但是我试了,提取的有很多问题
云诺羲2024-07-06 18:59
三测本来有个魔改的assetstudio可以用的,但是公测包解出来变成雪花图了……sprite甚至直接no image还在找新方法,有大佬有思路吗,底层攻略作者需要作图素材(悲)
@云诺羲:暂时还没有qwq
DDD约 15 小时前
@云诺羲:求魔改的assetstudio
那个,大佬,现在绝区零公测v1.0.0开了,blk文件头变成mhy1了,我大概看了下数据资源,发现每个文件都有16字节的固定内容,还在文件头上,但不知道这是干啥用的:91634EBDFD4FD0AF66951F8AE0F29892。目前我只能分析到文件第0x05和0x06俩字节是小端序的标识,好像是在说明文件头的大小。

然后又翻文件夹发现,有几个blk文件大小很小,几十KB和几十字节的,都没有mhy1的文件头,但是仍然有上述的16字节固定数据。

然后,关于正文最末尾“还是改回usm吧,,这样解太费劲了,,”这句话,我不是很赞同,因为正式服的usm文件照样是加密的,根本看不了,无疑是增加解包难度。

还有另一个发现,虽说绝区零还是unity引擎,但是被mhy加上了内存保护,无法通过内存dump的方法获取数据

最后还有个问题,也是关心mhy系列游戏的解包,那个hoyostudio的的项目不知道还在更新不?GitHub的看上去是被dmca了,但是目前只有这个项目有解包的希望。
@fairy控:正式服的usm我看了,也是跟二测三测一样只有视频没有音频,另外usm加密那个是可以拿到key的,只要拿到key之后解密usm就很简单了,就像现在崩铁和原神一样,虽然改成了播放的时候在线获取key,也是可以轻松获取的。
那个hoyostudio的新版仓库在今年4月还是多少归档了,估计很难更新了qwq
aaa2024-07-07 11:53
@赵苦瓜:请问啥工具解的?key是抓包拿的吗
@aaa:现在原神和崩铁的是抓包拿的,可以参考这几个项目:
https://github.com/ToaHartor/GI-cutscenes

https://github.com/BUnipendix/PyCriUsm

https://github.com/acezx-programer/H-SR-cutscene-extractor

https://github.com/donmai-me/WannaCRI
aaa2024-07-07 20:06
@赵苦瓜:好的谢谢,看前文说的还以为ZZZ也一样也改成了在线拿key
aaa2024-07-20 21:09
@赵苦瓜:尝试整H-SR-cutscene-extractor但运行报错,请问该咋解决?
    from .decrypt import VideoDecrypter
ImportError: dynamic module does not define module export function (PyInit_decrypt)

PyCriUsm那边的
python setup.py build_ext --inplace 时的输出
D:\RtEnv\py-venvs\venv-3.11\Scripts\python.exe setup.py build_ext --inplace
running build_ext
building 'pycriusm.fast_core' extension
creating build
creating build\temp.win-amd64-cpython-311
creating build\temp.win-amd64-cpython-311\Release
creating build\temp.win-amd64-cpython-311\Release\pycriusm
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -ID:\RtEnv\py-venvs\venv-3.11\include -ID:\RtEnv\miniconda3\envs\py3.11\include -ID:\RtEnv\miniconda3\envs\py3.11\Include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\winrt" /Tcpycriusm/fast_core.c /Fobuild\temp.win-amd64-cpython-311\Release\pycriusm/fast_core.obj
fast_core.c
pycriusm/fast_core.c(6463): warning C4244: '=': conversion from 'Py_ssize_t' to 'uint8_t', possible loss of data
pycriusm/fast_core.c(6473): warning C4244: '=': conversion from 'Py_ssize_t' to 'uint8_t', possible loss of data
pycriusm/fast_core.c(8221): warning C4244: '=': conversion from 'long' to 'uint8_t', possible loss of data
pycriusm/fast_core.c(8484): warning C4018: '<': signed/unsigned mismatch
pycriusm/fast_core.c(8781): warning C4018: '<': signed/unsigned mismatch
creating F:\BitPit\digg\PycharmProjects\PyCriUsm-main\build\lib.win-amd64-cpython-311
creating F:\BitPit\digg\PycharmProjects\PyCriUsm-main\build\lib.win-amd64-cpython-311\pycriusm
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\link.exe" /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO /LIBPATH:D:\RtEnv\py-venvs\venv-3.11\libs /LIBPATH:D:\RtEnv\miniconda3\envs\py3.11\libs /LIBPATH:D:\RtEnv\miniconda3\envs\py3.11 /LIBPATH:D:\RtEnv\py-venvs\venv-3.11\PCbuild\amd64 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\LIB\amd64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.10240.0\ucrt\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.10240.0\um\x64" /EXPORT:PyInit_fast_core build\temp.win-amd64-cpython-311\Release\pycriusm/fast_core.obj /OUT:build\lib.win-amd64-cpython-311\pycriusm\fast_core.cp311-win_amd64.pyd /IMPLIB:build\temp.win-amd64-cpython-311\Release\pycriusm\fast_core.cp311-win_amd64.lib
fast_core.obj : warning LNK4197: export 'PyInit_fast_core' specified multiple times; using first specification
   Creating library build\temp.win-amd64-cpython-311\Release\pycriusm\fast_core.cp311-win_amd64.lib and object build\temp.win-amd64-cpython-311\Release\pycriusm\fast_core.cp311-win_amd64.exp
Generating code
Finished generating code
copying build\lib.win-amd64-cpython-311\pycriusm\fast_core.cp311-win_amd64.pyd -> pycriusm
结束后复制PyCriUsm目录里的fast_core.cp311-win_amd64.pyd到usm目录,重命名并替换decrypt.pyd文件。
@aaa:我不太清楚,可以试试提个issue问问作者
aaa2024-07-21 23:30
@赵苦瓜:搞定了,要旧版的才行。。。再问下抓包是要用到哪些工具?
@aaa:不知道,好像要用类似MelonLoader之类的东西注入到游戏里然后抓数据包
云诺羲2024-07-06 19:05
@fairy控:我有一个asset studio可以解出来一部分,一部分是指模型和字体文件什么的都可以解出来,唯独图片是没有数据,无论是sprite还是texture2d都是可以看到源名称但是没有图片的,有部分有图片的texture2d是雪花图,你有思路吗?还有就是我只有编译好的cli和gui,没有源代码
fairy控2024-07-06 23:17
@云诺羲:这个问题我之前在原神解包的时候见过,但是只知道原因,解决的话是等的新版hoyostudio。

猜测的原因如下:
1,文件包改了里面内容的编码,导致图片的RGBA解不出来正确的数值
2,文件内部的resS链接被改了,或者压缩流的位置变了,导致读取不到了

还有,你说的那个能解出来一部分的asset  studio能否发一下链接,我看看具体啥情况。。
https://www.52pojie.cn/thread-769195-1-1.html
测试
Isaah2024-05-17 21:19
感谢大佬提供的思路,翻了下一测的模型和动画,其它人的都找到了,就是没找到星见雅,之前在别的地方找的一测包,今天下了大佬的还是没有,难道一测没有雅嘛?
@Isaah:我记得一测确实没有雅
kagaminesora2024-05-01 22:33
佬,二测的试玩教程是不是已经不行了,我按照他的那个git上的内容自己弄了一个试试,但是显示找不到服务器,怎么搞成本地开的那个HollowPS那个啊
@kagaminesora:好像他把服务器开源之后就关服了,本地服我也没开过qwq
kagaminesora2024-05-02 20:43
@赵苦瓜:他开源那个我也没看懂,佬知道怎么让游戏能够找到本地开启的端口吗,我看他那个好像是没有找到本地开的端口,本地的服务器按照他那个可以开,但游戏里就不知道要改什么文件才能让游戏弄到本地的端口上。佬这个是他开源地址:https://github.com/reversedrooms/HollowPS,<( ̄︶ ̄)↗[GO!]
@kagaminesora:他端口都写死在代码里了,sdkserver也就是管登录注册的端口是21000,gameserver也就是进游戏之后的通信是10301端口,按道理讲没被占用的话会正常映射到本地啊
kagaminesora2024-05-03 11:35
@赵苦瓜:那两个端口是可以改的,根据他给的readme里可以改,但是改了也没用,根据你那里的教程里,有一个Zenless.Proxy.exe的执行文件,是把服务器地址及端口注入到游戏启动那个文件里吗,如果是的话那就应该通了。教程里的注入的还是原来他开的服务器的地址,但现在本地开的他就不能连上。改那两个server的端口 我也试过,但最后都不行会显示
Unhandledexception.System.Exception:EndpointTitanium.Web.Proxy.Models.ExplicitProxyEndPointfailedtostart.Checkinner exception and exception data for details.
--->System.Net.Sockets.SocketException(10013):以一种访问权限不允许的方式做了一个访问套接字的尝试。
    atSvstem.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketErrorer ror,BooleandisconnectOnFailure,StringcallerName)
    atSystem.Net.Sockets.Socket.DoBind(EndPointendPointSnapshot,SocketAddresssocketAddress)
    atSystem.Net.Sockets.Socket.Bind(EndPointlocalEP)
    atSystem.Net.Sockets.TcpListener.Start(Int32backlog)
    atTitanium.Web.Proxy.ProxyServer.Listen(ProxyEndPointendPoint)
    ---Endofinnerexceptionstacktrace---
    atTitanium.Web.Proxy.ProxyServer.Listen(ProxyEndPointendPoint)
    atTitanium.Web.Proxy.ProxyServer.Start(BooleanchangeSystemProxySettings)
    atZenless.Proxy.ProxyService..ctor()
    atProgram.<Main>$(Stringl]args)
的一个错误,我不知道那个Zenless.Proxy.exe的文件是用什么写的,怎么个原理也没搞懂,如果这个文件搞清楚了然后重写一个应该就可以连上本地的了吧?
@kagaminesora:那个Zenless.Proxy应该就只是一个代理,把发送到米忽悠服务器的登录请求拦截转发到别的服务器,拿fiddler脚本应该就能实现,可以参考https://blog.jixiaob.cn/?post=83这个里面的代理部分。
不过我忘记了绝区零有没有专属域名了,可以登录的时候拿fiddler抓包看一下
kagaminesora2024-05-04 08:49
@赵苦瓜:感谢佬,我后面去学学,看能不能搞,那一块也没搞过,后面我看能不能学懂,佬注意休息。
oeeeso2024-04-27 02:51
大佬三测还可以解包嘛 我看AssetStudio都用不了 解不出什么东西 有没有什么办法可以解 我想做点二创的东西
@oeeeso:目前还不知道怎么解,之前的方法除了pck音频都失效了
旭东2024-04-18 13:41
绝区零三测下载
国服
启动器
autopatchcn.juequling.com/download/pclauncher/0.3.0/u0tusjh1lLPb/HYP-Installer_1711789348_ZZSgPbMn_0_9_3_43.exe
压缩包直链autopatchcn.juequling.com/package_download/op/client_app/download/20240408183253_vTHA2z527fho119q/zzz.zip
安卓
autopatchcn.juequling.com/package_download/op/client_app/download/20240408145616_igYLv9zdfakL58ds/zzz.apk


国际服
启动器
autopatchos.zenlesszonezero.com/download/pclauncher/0.3.0/u0tusjh1lLPb/HYP-Installer_1711789454_UwsKtfdl_0_9_3_43.exe
启动器接口
sg-hyp-api.hoyoverse.com/hyp/hyp-connect/api/getGamePackages?game_ids[]=XVclGvfuO5&launcher_id=fo5MoD01dq
压缩包直链
autopatchos.zenlesszonezero.com/package_download/op/client_app/os/download/20240408183416_R8WrHYHbQW7jNMku/zzz.zip
在这种2024-04-19 23:06
@旭东:大佬,这是下载了就能玩吗
@在这种:这是官方原版,要登录有资格的账号的
zzz2024-03-26 09:16
苦瓜大佬,zzz二测的资源包链接失效了
@zzz:确实,官方之前很快就把链接锁了,本体38个G也不太好分享,我这也没有别的下载地址
雨中人2024-03-17 18:01
佬 现在的二测还是只能训练场么
@雨中人:嗯,只有训练场能打怪,大世界只能逛街
@雨中人:他们好像有比较完善的端但是没有公开
雨中人2024-03-19 16:09
@赵苦瓜:好吧  多谢
sai2024-03-19 16:56
@雨中人:绝区零私服今天中午更新了新内容
sai2024-03-19 16:59
@雨中人:链接:https://discord.gg/4929BPWP
雨中人2024-03-21 17:07
@sai:多谢!!!
雨中人2024-03-21 17:08
@sai:是关闭了么为什么我无法访问
雨中人2024-03-21 17:47
@sai:我把hosts改完后还是无法访问 是我的问题么
雨中人2024-03-21 20:58
@sai:。。。。这是一测的 虽然带剧情  但是剧情会死机啊

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