欢迎光临散文网 会员登陆 & 注册

MAGES引擎游戏资源提取方法指北v2

2023-04-09 22:32 作者:暮光暗愈者  | 我要投稿

旧版原文发表于 cv10614833 ,现对原文进行更新和更正。

Committee of Zero对MAGES引擎进行了较为详细的定义和描述,有兴趣可以阅读原文。

[Committee of Zero|gitbooks.io](https://committeeofzero.gitbooks.io/mages-engine-compendium/content/)

写在前面

不再赘述版权、软件安全等问题,请自行注意。  

本文旨在解析MAGES引擎的多媒体资源格式信息,此外也尽可能提供一些MAGES公司使用的其他引擎的信息。需要您有一定的计算机知识基础和动手能力。  

可能用到的一些运行时、通用依赖项:  

.Net 6/7, .Net Core

推荐安装.Net 6 Desktop Runtime。  

.Net Framework 4.6.1/4.7.2/4.8

完整安装的Win10系统应该自带4.8版本,如没有请自行安装。Win8、Win7系统可能不受支持。注意,.Net Framework 与.Net Core是不同的运行时,不能互相替代。  

Python3.x

推荐安装Python3.8及以上的版本,建议选择最新版。  

pip依赖项

常用的依赖项有pillow,numpy,unrpa等,可在安装python后使用pip install命令安装。如果您需要多个python环境或遇到包版本冲突,请自行配置annaconda等环境工具。  

Visual C++ Redistributable

建议安装最新的VC Redistributable。可以使用指令“winget install Microsoft.VCRedist.2015+.x64”安装。  

MAGES引擎-PC端

主要游戏:命运石之门系列(Steam版),混沌之子,Yu-No 2017版,秋回8+FD,SinMemo,机器人笔记+FD  

特征:使用MPK或CPK格式进行封包,图片使用常见格式,音频使用OGG、ADX、HCA格式,视频使用USM、BK2等格式封装,立绘图片有一定程度的加密。  

解包方案:参考原文。  

MPK、CPK解包推荐使用GARbro,一般不会有问题,不需要密钥。目前GARbro主分支已长时间没有更新,仍能处理MPK和CPK,如有其他需求可以查找其他仍在更新的分支。  

GARBro

ADX、HCA格式音频推荐使用VGMStream,可直接转换为WAV格式,或使用命令行进一步转换为其他格式。一般不会有问题,不需要密钥。也可以使用GARbro自带的解码功能,另有VGAudio、HCADecoder等工具备用。  

音频文件

USM格式视频推荐使用VGMToolBox的Stream Tools/Video Demultiplexer进行解封装,获得视频流和音频流。音频流一般使用ADX、HCA格式,参考上文处理。视频流大多使用AVC编码,并被VGMToolBox使用m2v扩展名,且可能没有时间信息导致无法正常播放,需要使用MKVToolNix或FFMPEG等工具进行封装,然后可以正常播放。游戏SinMemo的视频使用了古老的MPEG-1编码,部分播放器可能无法播放,请尝试使用功能更强大的播放器,处理过程相同。VGMToolBox已长时间没有更新,且没有开源,目前仍能正确处理多数相关视频文件。  

VGMToolBox

bk2格式视频推荐使用BINKVideo的官方工具RADVideo观看和处理。  

加密的立绘分为lay格式和mvl格式两种,早期游戏使用lay格式,推荐使用ChaosChildPCTools处理。mvl格式也可以使用ChaosChildPCTools处理,但无法直接得到最终成果,推荐使用mvl-preview处理。另有工具undice可以处理mvl格式,但速度较慢。  

lay格式
mvl格式
mvljson
mvl成品
mvlview工具
ChaosChildPCTools

 

[GARbro|Github](https://github.com/morkt/GARbro)  

[VGMStream](https://vgmstream.org/)  

[VGAudio|Github](https://github.com/Thealexbarney/VGAudio)  

[HCADecoder|Github](https://github.com/Nyagamon/HCADecoder)  

[VGMToolBox|SourceForge](https://sourceforge.net/projects/vgmtoolbox/)  

[MKVToolNix](https://mkvtoolnix.download/)  

[FFMPEG](https://ffmpeg.org/)  

[RADVideo](http://www.radgametools.com/bnkdown.htm)  

[ChaosChildPCTools|Github](https://github.com/Manicsteiner/ChaosChildPCTools)  

[Mvl-Preview|Github](https://github.com/Manicsteiner/mvl_preview)  

[undice|Github](https://github.com/AKAAkira/undice)  


MAGES引擎次世代版-PC

主要游戏:混沌之脑(Steam、GOG版)  

特征:图片使用webp格式,且使用WAV作为扩展名。视频使用USM格式,但没有扩展名。立绘使用mvl格式。压缩包内几乎所有文件使用纯数字命名。  

解包方案:与原版基本相同,但需要自行猜测文件内容。  

图片可使用批量重命名工具修改扩展名为webp后打开。如果在使用GARbro,可以尝试选中文件,右键选择文件类型为图片,然后刷新,可以预览图片。  

立绘可使用ChaosChildPCTools或mvl-preview处理。  


MAGES引擎早期版-xbox360

主要游戏:秋回6+FD(xbox360),秋回7(xbox360/PC),code18(xbox360),命运石之门系列(xbox360),混沌之脑LCC(xbox360),11eyes(xbox360)  

特征:压缩包命名与MAGES引擎相似,但使用dat扩展名,用HEXEditor类工具打开可看到文件头使用LNK4作为特征格式名。具体格式可能与MAGES引擎有较大差别。  

解包方案:使用来自asmodean的工具exlnk4。具体内容不详,一般不会有问题。视频文件使用WMV格式,一般的播放器可以播放。  

exlnk4

如果获取到的游戏使用unpacked/XEX/JTAG格式,那么可以直接看到XEX格式的可执行程序和压缩包,并进行解包。如果是其他格式,还需要将其转换为此格式。

unpacked

如果游戏是使用ISO扩展名的单文件,则是XboxISO格式,应与常见的ISO格式不同,无法在Windows上挂载或使用一般解压缩软件解压缩,需要使用工具Xbox360 ISO Extract解压缩转换为unpacked格式。如果文件大小在7.29GB左右,可以猜测该文件为Redump标准的ISO文件,转换过程不会有问题。关于Redump的具体信息可以在redump.org查询。如果文件明显小于7GB,则可能是重构的ISO文件,可能因重构过程中出现错误而无法转换。如遇到此问题请尝试寻找其他格式的版本。

ISO redump
Xbox360 ISO Extract

如果游戏使用无格式的字母、数字字符串文件作为可执行文件,且data目录下的文件全部为明显类似分卷压缩的同大小无格式文件,那么该游戏版本为GOD格式。可使用工具God2iso转换为重构ISO,再转换为unpacked。此过程可能因重构过程中出现错误而无法转换。已知游戏Dunamis15在网络上流传的GOD格式版本必定有此问题。  

GOD
GOD2ISO

 

[exlnk4|asmodean](http://asmodean.reverse.net/pages/exlnk4.html)  

[Xbox360 ISO Extract]未找到官方网站  

[God2Iso|Github](https://github.com/raburton/god2iso) 无官方构建版  


MAGES引擎-PS3

主要游戏:混沌之子(PS3),命运石之门0(PS3)  

特征:与PC版基本相同。lay文件使用BigEndian编码。视频使用USM封装。  

解包方案:沿用PC版方案。处理lay文件时请使用ChaosChildPCTools中单独的PS3版脚本。  

PS3平台的游戏分享大多使用unpacked形式,即直接暴露所有文件,也称JB-Folder格式,不需要额外的预处理。  

unpacked

命运石之门0 PS3汉化版常见ISO格式的分享,使用了ISO-Decrypted格式,使用7-Zip当作压缩包解压缩即可。  

网络上还流传有一些ISO-Redump标准的ISO格式分享,与解密版对应,称为ISO-Encrypted格式,对USDIR目录下的文件进行了加密,与解密版在文件大小上没有区别,甚至也可以直接使用7-Zip解压缩,但解压缩得到的文件无法正常读取。两者只有通过对比文件哈希值或解压缩后查看文件时才能看出区别。两种ISO格式可通过工具PS3Dec转换,并需要密钥。密钥可在redump.org的ISO对应页面得到。

ISO redump与ISO Decrypted
左下角为Disk Key即为所需密钥


[PS3Dec|Github](https://github.com/creative-username-ggn/PS3Dec)  


MAGES引擎早期版-PS3

主要游戏:秋回6+FD(PS3),秋回7+FD(PS3),混沌之脑LCC(PS3),命运石之门系列(PS3),花咲くまにまに(PS3),机器人笔记(PS3)  

特征:图片为无格式无压缩点阵图,音频为ADX格式但没有扩展名,视频使用SFD封装,MPEG-1或MPEG-2编码。lay文件使用BigEndian编码。压缩包内几乎所有文件使用纯数字命名。  

解包方案:基本沿用PC版方案。  

图片可使用RNE Image Conventer转换为常见格式。音频可添加.adx后缀后使用VGMStream转换为常见格式。SFD视频可使用VGMToolBox解封装,后续处理相同。处理无后缀名的lay文件时请使用单独的PS3版脚本,其中偶数号的文件是图片,奇数号的是lay文件。SG Phenogram的立绘文件似乎有一点问题,无法正确解析,请使用其他平台的版本。  

RNE_image_converter


[RNE Image Conventer|Github](https://github.com/Manicsteiner/RNE_image_converter)  


MAGES引擎-PSV

主要游戏:命运石之门精英版(PSV),春物续(PSV),混沌之子+LCC(PSV),SG0(PSV),Yu-No 2017版(PSV),秋回8+FD(PSV)  

特征:封装与PC版基本相同。图片使用gxt格式,视频使用MP4封装的AVC编码,音频使用索尼自制的at9格式。  

解包方案:基本沿用PC版方案。  

图片可ChaosChildPCTools中的gxt.py转换为常见格式。音频可使用VGMStream转换为常见格式。立绘使用ChaosChildPCTools处理。  

PSV平台的游戏分享有各种格式,常见的有MaiDump,NoNpDrm,VPK,PKG等,其中MaiDump格式在Windows环境下可以直接提取;NoNpDrm格式可以看到文件但无法正常读取;VPK格式为zip格式封装的压缩包,具体情况与提取格式有关;PKG格式可使用配置好的Vita3k模拟器以及PKG配套的密钥提取其内容。  


MAGES引擎早期版-PSV

主要游戏:秋回6+FD(PSV),秋回7+FD(PSV),命运石之门(PSV),SG比翼(PSV),机器人笔记精英版(PSV),SG表征图(PSV),春物(PSV)  

特征:与PS3同时期的早期版相似,图片为无格式无压缩点阵图,音乐音频为无格式的索尼自制的ac9格式,且可能使用其他扩展名,语音音频使用hca格式,视频使用usm格式。实际上还可能有一些旧版和标准版混合的情况。  

解包方案:图片可ChaosChildPCTools中的gxt.py转换为常见格式。音频可使用VGMStream转换为常见格式。立绘使用ChaosChildPCTools处理,具体是否可用未测试。  

实际上还有几个游戏的音频所在压缩包使用了类似BGM_AT9.MPK的命名,此类游戏的MPK压缩包无法用GARbro正常解析,建议选择其他平台的版本。  


MAGES引擎-PS4

主要游戏:?  

特征:?  

解包方案:目前PS4的游戏资源还是太少了,不足以支持论证。  

常见PKG格式分享,可以使用工具PS4-PKG-Tool解包为unpacked形式。过程需要密钥,官方的PKG密钥常为全0或全1。得到的文件可按PC版或Switch版的方案处理。  

[PS4-PKG-Tool|Github](https://github.com/pearlxcore/PS4-PKG-Tool)


MAGES引擎-Switch

主要游戏:命运石之门系列,Yu-No 2017版,秋回系列,机器人笔记+FD,SinMemo(过渡)  

特征:与PC版基本相同,图片使用常见格式,音频使用HCA格式,视频使用USM格式封装,立绘图片使用mvl格式。封包使用cpk、mpk格式,但更常见直接使用文件夹,用同名cls文件记录其中的文件名。  

解包方案:与PC版基本相同,没有额外的问题。  

Switch平台使用NSP、XCI格式存储游戏内容,一般NSP格式来自线上商店,一个NSP文件只能封装一份程序(主程序、更新包),XCI格式来自卡带,可以封装多个NSP文件,甚至可以封装多个游戏。两者之间可以通过工具NSC_Builder转换,可以看作没有区别。有时游戏分享者会使用NSZ、XCZ格式分享游戏,这种格式是民间研究的NSP、XCI格式的压缩版本,可使用NSC_Builder还原为对应格式。  

NSP文件下封装的是NCA文件,可使用工具XCI-Explorer查看结构并提取NCA,再用SwitchExplorer打开NCA文件得到PC版类似的cpk等文件……老方法是这样的,对还原修改后的游戏有帮助,但只是提取没必要这么麻烦。  

XCI-Explorer

 

众所周知,Switch现在有两个模拟器yuzu和Ryujinx,只要在配置好的模拟器里右键选择扫描到的NSP、XCI文件,选择Extract,就能得到需要的文件。  

以上工具均需要Switch密钥,模拟器除密钥外还需要系统固件,请自行获取。  


[NSC_Builder|Github](https://github.com/zdm65477730/NSC_BUILDER)  

[XCI-Explorer|Github](https://github.com/StudentBlake/XCI-Explorer)  

[SwitchExplorer|Github](https://github.com/simontime/SwitchExplorer)  

[yuzu](https://yuzu-emu.org/)  

[Ryujinx](https://ryujinx.org/)  


MAGES引擎次世代版-Switch

主要游戏:SinMemo(过渡),混沌系列,春物  

特征:与旧版相比,几乎不再使用cpk、mpk封包而是使用文件夹和cls文件,图片(除SinMemo)使用webp格式,音频使用ns-opus格式,视频使用webm格式封装,视频流使用VP8、VP9编码,音频流使用Vorbis编码。  

解包方案:与PC版基本相同。webm格式的视频需要功能较强的播放器播放。ns-opus格式的音频使用.opus作为扩展名,但使用了专有的文件头,与常见的ogg-opus格式不同,无法使用一般的播放器播放。需要使用VGMStream转码。而且使用VGMStream的fb2k插件也无法直接播放,需要将扩展名改为.lopus才能由插件解码。  


rUGP引擎

主要游戏:Disorder6(xbox360/PS3),解放少女SIN(PS3/PSV),混沌之脑(PS3/PSV)  

特征:游戏内容除视频外,几乎全部文件体积集中在一个RIO格式文件上。PS3版视频使用AVI封装,MPEG-4视频编码、MP3音频编码。  

解包方案:没有太好的方案。这个引擎的PC版被称为最难对付的ADV游戏引擎之一,只有几个针对age社PC版游戏的工具。  

经测试,工具RioX可以处理游戏Disorder6两个版本和解放少女SIN的PS3版,得到背景图、EVCG和一些文本内容,无法得到音频和角色立绘。解放少女SIN PSV版无法正确处理。混沌之脑未测试,建议使用其他版本。工具RioX已经长时间未更新,且未开源。

视频编码较为古老,部分播放器可能无法播放,请尝试使用功能更强大的播放器。  

rUGP
RioX


[RioX|archive](https://web.archive.org/web/20220809055557/http://riox.thisillusion.org/) 原网页已消失  


M2/E-mote/KaredoADV引擎

主要游戏:Dunamis15(xbox360/PS3),Infinite Stratos系列(PS3/PSV),可塑性记忆(PSV),超自然九人组,五等分系列,匿名代码  

特征:文件包使用_body.bin+_info.psb.m封包,视频使用对应平台常见格式。  

解包方案:来自asmodean的exm2lib给出了早期两个游戏的解包方法,但没有后续更新。现在推荐使用工具FreeMote。这是一个面向M2封包格式的工具,支持KaredoADV引擎的封包。每一个游戏的封包都使用了不同的密钥,PSV版的游戏可用HEXEditor打开eboot.bin,在其中首次出现的"script_info.psb.m"前找到,PC版的在exe文件中同样位置,其他平台不确定。  

FreeMote

PS3平台的视频使用了PAM封装,可用VGMToolBox解封装。另Infinite Stratos系列PS3版的视频的音频轨使用了GENH格式,用VGMToolBox解封装会得到视频轨文件、一个genh文件和一个lpcm文件并报错,此时需要用ShinHayarigamiExt中的GENH_comb.py将genh和lpcm拼装成一个文件或手动拼装,然后用VGMStream播放或转码。  


[exm2lib|asmodean](http://asmodean.reverse.net/pages/exm2lib.html)  

[FreeMote|Github](https://github.com/UlyssesWu/FreeMote)  

[ShinhayarigamiExt|Github](https://github.com/Manicsteiner/ShinHayarigamiExt)  


Unity引擎

主要游戏:この素晴らしい世界に祝福を! ~この欲望の衣装に寵愛を!~(Switch)  

特征:Data目录下有Managed、Resources、StreamingAssets文件夹,有boot.config、resources.assets等文件,一般StreamingAssets文件夹体积最大。  

解包方案:使用通用工具AssetStudio。不同的Unity游戏、不同平台间的差异可能很大,且可能有加密,请自行研究。  

[AssetStudio|Github](https://github.com/Perfare/AssetStudio)  


Unity引擎+CRIWare封包

主要游戏:Yuru Camp Have a Nice Day(Switch),Summer Time Render Another Horizon(Switch)  

特征:与Unity引擎相同,但StreamingAssets目录下许多文件使用了CRIWare的专有格式,如CPK、USM、AWB、ACB。图片文件没有扩展名,视频使用USM封装,且音频轨道使用了一定程度加密的HCA格式。  

解包方案:首先使用GARBro打开cpk格式的封包。AWB、ACB文件可用VGMToolBox中对应功能处理,得到一大堆音频。USM文件可用VGMToolBox解封装,得到正常的视频轨和bin格式的音频轨。将音频轨的扩展名更改为hca,然后用VGMStream播放或转码。  

没有扩展名的图片文件实际上是DXT1编码的DDS格式图片,但缺少文件头,需要添加正确的文件头后才能打开查看。此时得到的图片是旋转过180度的,还要再旋转回来。这些问题可能是来自于Unity引擎的一些特性。以上处理过程可以使用工具YuruCampHeaderAdder处理。texbg和texeg的图片可以这样处理得到正常的内容,但其他的包内的图片处理后却仍有问题。  

[YuruCampHeaderAdder|Github](https://github.com/Manicsteiner/YuruCampHeaderAdder)  


Unity引擎+未知封包

主要游戏:幻想マネージュ(Switch),心灵判官:无法抉择的幸福(PC)  

特征:有Unity引擎的一些特征,前者使用QPK格式封包,后者使用CPK格式封包。  

解包方案:QPK格式不能用手头的工具打开,没有进一步研究。后者与前面的CRIWare封包相同,但内容上有很大差别,将大多数内容放在一个包里,图片没有复杂处理。  


尾声

本次整理了除PS2和PSP平台的多数游戏,应该够用一段时间了,以后有机会再更新。


MAGES引擎游戏资源提取方法指北v2的评论 (共 条)

分享到微博请遵守国家法律