MAGES引擎游戲資源提取方法指北v2

舊版原文發(fā)表于 cv10614833 ,現(xiàn)對(duì)原文進(jìn)行更新和更正。
Committee of Zero對(duì)MAGES引擎進(jìn)行了較為詳細(xì)的定義和描述,有興趣可以閱讀原文。
[Committee of Zero|gitbooks.io](https://committeeofzero.gitbooks.io/mages-engine-compendium/content/)
寫(xiě)在前面
不再贅述版權(quán)、軟件安全等問(wèn)題,請(qǐng)自行注意。 ?
本文旨在解析MAGES引擎的多媒體資源格式信息,此外也盡可能提供一些MAGES公司使用的其他引擎的信息。需要您有一定的計(jì)算機(jī)知識(shí)基礎(chǔ)和動(dòng)手能力。 ?
可能用到的一些運(yùn)行時(shí)、通用依賴項(xiàng): ?
.Net 6/7, .Net Core
推薦安裝.Net 6 Desktop Runtime。 ?
.Net Framework 4.6.1/4.7.2/4.8
完整安裝的Win10系統(tǒng)應(yīng)該自帶4.8版本,如沒(méi)有請(qǐng)自行安裝。Win8、Win7系統(tǒng)可能不受支持。注意,.Net Framework 與.Net Core是不同的運(yùn)行時(shí),不能互相替代。 ?
Python3.x
推薦安裝Python3.8及以上的版本,建議選擇最新版。 ?
pip依賴項(xiàng)
常用的依賴項(xiàng)有pillow,numpy,unrpa等,可在安裝python后使用pip install命令安裝。如果您需要多個(gè)python環(huán)境或遇到包版本沖突,請(qǐng)自行配置annaconda等環(huán)境工具。 ?
Visual C++ Redistributable
建議安裝最新的VC Redistributable。可以使用指令“winget install Microsoft.VCRedist.2015+.x64”安裝。 ?
MAGES引擎-PC端
主要游戲:命運(yùn)石之門系列(Steam版),混沌之子,Yu-No 2017版,秋回8+FD,SinMemo,機(jī)器人筆記+FD ?
特征:使用MPK或CPK格式進(jìn)行封包,圖片使用常見(jiàn)格式,音頻使用OGG、ADX、HCA格式,視頻使用USM、BK2等格式封裝,立繪圖片有一定程度的加密。 ?


解包方案:參考原文。 ?
MPK、CPK解包推薦使用GARbro,一般不會(huì)有問(wèn)題,不需要密鑰。目前GARbro主分支已長(zhǎng)時(shí)間沒(méi)有更新,仍能處理MPK和CPK,如有其他需求可以查找其他仍在更新的分支。 ?

ADX、HCA格式音頻推薦使用VGMStream,可直接轉(zhuǎn)換為WAV格式,或使用命令行進(jìn)一步轉(zhuǎn)換為其他格式。一般不會(huì)有問(wèn)題,不需要密鑰。也可以使用GARbro自帶的解碼功能,另有VGAudio、HCADecoder等工具備用。 ?

USM格式視頻推薦使用VGMToolBox的Stream Tools/Video Demultiplexer進(jìn)行解封裝,獲得視頻流和音頻流。音頻流一般使用ADX、HCA格式,參考上文處理。視頻流大多使用AVC編碼,并被VGMToolBox使用m2v擴(kuò)展名,且可能沒(méi)有時(shí)間信息導(dǎo)致無(wú)法正常播放,需要使用MKVToolNix或FFMPEG等工具進(jìn)行封裝,然后可以正常播放。游戲SinMemo的視頻使用了古老的MPEG-1編碼,部分播放器可能無(wú)法播放,請(qǐng)嘗試使用功能更強(qiáng)大的播放器,處理過(guò)程相同。VGMToolBox已長(zhǎng)時(shí)間沒(méi)有更新,且沒(méi)有開(kāi)源,目前仍能正確處理多數(shù)相關(guān)視頻文件。 ?

bk2格式視頻推薦使用BINKVideo的官方工具RADVideo觀看和處理。 ?
加密的立繪分為lay格式和mvl格式兩種,早期游戲使用lay格式,推薦使用ChaosChildPCTools處理。mvl格式也可以使用ChaosChildPCTools處理,但無(wú)法直接得到最終成果,推薦使用mvl-preview處理。另有工具undice可以處理mvl格式,但速度較慢。 ?






?
[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作為擴(kuò)展名。視頻使用USM格式,但沒(méi)有擴(kuò)展名。立繪使用mvl格式。壓縮包內(nèi)幾乎所有文件使用純數(shù)字命名。 ?
解包方案:與原版基本相同,但需要自行猜測(cè)文件內(nèi)容。 ?
圖片可使用批量重命名工具修改擴(kuò)展名為webp后打開(kāi)。如果在使用GARbro,可以嘗試選中文件,右鍵選擇文件類型為圖片,然后刷新,可以預(yù)覽圖片。 ?


立繪可使用ChaosChildPCTools或mvl-preview處理。 ?
MAGES引擎早期版-xbox360
主要游戲:秋回6+FD(xbox360),秋回7(xbox360/PC),code18(xbox360),命運(yùn)石之門系列(xbox360),混沌之腦LCC(xbox360),11eyes(xbox360) ?
特征:壓縮包命名與MAGES引擎相似,但使用dat擴(kuò)展名,用HEXEditor類工具打開(kāi)可看到文件頭使用LNK4作為特征格式名。具體格式可能與MAGES引擎有較大差別。 ?

解包方案:使用來(lái)自asmodean的工具exlnk4。具體內(nèi)容不詳,一般不會(huì)有問(wèn)題。視頻文件使用WMV格式,一般的播放器可以播放。 ?

如果獲取到的游戲使用unpacked/XEX/JTAG格式,那么可以直接看到XEX格式的可執(zhí)行程序和壓縮包,并進(jìn)行解包。如果是其他格式,還需要將其轉(zhuǎn)換為此格式。

如果游戲是使用ISO擴(kuò)展名的單文件,則是XboxISO格式,應(yīng)與常見(jiàn)的ISO格式不同,無(wú)法在Windows上掛載或使用一般解壓縮軟件解壓縮,需要使用工具Xbox360 ISO Extract解壓縮轉(zhuǎn)換為unpacked格式。如果文件大小在7.29GB左右,可以猜測(cè)該文件為Redump標(biāo)準(zhǔn)的ISO文件,轉(zhuǎn)換過(guò)程不會(huì)有問(wèn)題。關(guān)于Redump的具體信息可以在redump.org查詢。如果文件明顯小于7GB,則可能是重構(gòu)的ISO文件,可能因重構(gòu)過(guò)程中出現(xiàn)錯(cuò)誤而無(wú)法轉(zhuǎn)換。如遇到此問(wèn)題請(qǐng)嘗試尋找其他格式的版本。


如果游戲使用無(wú)格式的字母、數(shù)字字符串文件作為可執(zhí)行文件,且data目錄下的文件全部為明顯類似分卷壓縮的同大小無(wú)格式文件,那么該游戲版本為GOD格式??墒褂霉ぞ逩od2iso轉(zhuǎn)換為重構(gòu)ISO,再轉(zhuǎn)換為unpacked。此過(guò)程可能因重構(gòu)過(guò)程中出現(xiàn)錯(cuò)誤而無(wú)法轉(zhuǎn)換。已知游戲Dunamis15在網(wǎng)絡(luò)上流傳的GOD格式版本必定有此問(wèn)題。 ?


?
[exlnk4|asmodean](http://asmodean.reverse.net/pages/exlnk4.html) ?
[Xbox360 ISO Extract]未找到官方網(wǎng)站 ?
[God2Iso|Github](https://github.com/raburton/god2iso) 無(wú)官方構(gòu)建版 ?
MAGES引擎-PS3
主要游戲:混沌之子(PS3),命運(yùn)石之門0(PS3) ?
特征:與PC版基本相同。lay文件使用BigEndian編碼。視頻使用USM封裝。 ?
解包方案:沿用PC版方案。處理lay文件時(shí)請(qǐng)使用ChaosChildPCTools中單獨(dú)的PS3版腳本。 ?
PS3平臺(tái)的游戲分享大多使用unpacked形式,即直接暴露所有文件,也稱JB-Folder格式,不需要額外的預(yù)處理。 ?

命運(yùn)石之門0 PS3漢化版常見(jiàn)ISO格式的分享,使用了ISO-Decrypted格式,使用7-Zip當(dāng)作壓縮包解壓縮即可。 ?
網(wǎng)絡(luò)上還流傳有一些ISO-Redump標(biāo)準(zhǔn)的ISO格式分享,與解密版對(duì)應(yīng),稱為ISO-Encrypted格式,對(duì)USDIR目錄下的文件進(jìn)行了加密,與解密版在文件大小上沒(méi)有區(qū)別,甚至也可以直接使用7-Zip解壓縮,但解壓縮得到的文件無(wú)法正常讀取。兩者只有通過(guò)對(duì)比文件哈希值或解壓縮后查看文件時(shí)才能看出區(qū)別。兩種ISO格式可通過(guò)工具PS3Dec轉(zhuǎn)換,并需要密鑰。密鑰可在redump.org的ISO對(duì)應(yīng)頁(yè)面得到。


[PS3Dec|Github](https://github.com/creative-username-ggn/PS3Dec) ?
MAGES引擎早期版-PS3
主要游戲:秋回6+FD(PS3),秋回7+FD(PS3),混沌之腦LCC(PS3),命運(yùn)石之門系列(PS3),花咲くまにまに(PS3),機(jī)器人筆記(PS3) ?
特征:圖片為無(wú)格式無(wú)壓縮點(diǎn)陣圖,音頻為ADX格式但沒(méi)有擴(kuò)展名,視頻使用SFD封裝,MPEG-1或MPEG-2編碼。lay文件使用BigEndian編碼。壓縮包內(nèi)幾乎所有文件使用純數(shù)字命名。 ?

解包方案:基本沿用PC版方案。 ?
圖片可使用RNE Image Conventer轉(zhuǎn)換為常見(jiàn)格式。音頻可添加.adx后綴后使用VGMStream轉(zhuǎn)換為常見(jiàn)格式。SFD視頻可使用VGMToolBox解封裝,后續(xù)處理相同。處理無(wú)后綴名的lay文件時(shí)請(qǐng)使用單獨(dú)的PS3版腳本,其中偶數(shù)號(hào)的文件是圖片,奇數(shù)號(hào)的是lay文件。SG Phenogram的立繪文件似乎有一點(diǎn)問(wèn)題,無(wú)法正確解析,請(qǐng)使用其他平臺(tái)的版本。 ?

[RNE Image Conventer|Github](https://github.com/Manicsteiner/RNE_image_converter) ?
MAGES引擎-PSV
主要游戲:命運(yùn)石之門精英版(PSV),春物續(xù)(PSV),混沌之子+LCC(PSV),SG0(PSV),Yu-No 2017版(PSV),秋回8+FD(PSV) ?
特征:封裝與PC版基本相同。圖片使用gxt格式,視頻使用MP4封裝的AVC編碼,音頻使用索尼自制的at9格式。 ?
解包方案:基本沿用PC版方案。 ?
圖片可ChaosChildPCTools中的gxt.py轉(zhuǎn)換為常見(jiàn)格式。音頻可使用VGMStream轉(zhuǎn)換為常見(jiàn)格式。立繪使用ChaosChildPCTools處理。 ?

PSV平臺(tái)的游戲分享有各種格式,常見(jiàn)的有MaiDump,NoNpDrm,VPK,PKG等,其中MaiDump格式在Windows環(huán)境下可以直接提??;NoNpDrm格式可以看到文件但無(wú)法正常讀取;VPK格式為zip格式封裝的壓縮包,具體情況與提取格式有關(guān);PKG格式可使用配置好的Vita3k模擬器以及PKG配套的密鑰提取其內(nèi)容。 ?
MAGES引擎早期版-PSV
主要游戲:秋回6+FD(PSV),秋回7+FD(PSV),命運(yùn)石之門(PSV),SG比翼(PSV),機(jī)器人筆記精英版(PSV),SG表征圖(PSV),春物(PSV) ?
特征:與PS3同時(shí)期的早期版相似,圖片為無(wú)格式無(wú)壓縮點(diǎn)陣圖,音樂(lè)音頻為無(wú)格式的索尼自制的ac9格式,且可能使用其他擴(kuò)展名,語(yǔ)音音頻使用hca格式,視頻使用usm格式。實(shí)際上還可能有一些舊版和標(biāo)準(zhǔn)版混合的情況。 ?
解包方案:圖片可ChaosChildPCTools中的gxt.py轉(zhuǎn)換為常見(jiàn)格式。音頻可使用VGMStream轉(zhuǎn)換為常見(jiàn)格式。立繪使用ChaosChildPCTools處理,具體是否可用未測(cè)試。 ?
實(shí)際上還有幾個(gè)游戲的音頻所在壓縮包使用了類似BGM_AT9.MPK的命名,此類游戲的MPK壓縮包無(wú)法用GARbro正常解析,建議選擇其他平臺(tái)的版本。 ?
MAGES引擎-PS4
主要游戲:? ?
特征:? ?
解包方案:目前PS4的游戲資源還是太少了,不足以支持論證。 ?
常見(jiàn)PKG格式分享,可以使用工具PS4-PKG-Tool解包為unpacked形式。過(guò)程需要密鑰,官方的PKG密鑰常為全0或全1。得到的文件可按PC版或Switch版的方案處理。 ?

[PS4-PKG-Tool|Github](https://github.com/pearlxcore/PS4-PKG-Tool)
MAGES引擎-Switch
主要游戲:命運(yùn)石之門系列,Yu-No 2017版,秋回系列,機(jī)器人筆記+FD,SinMemo(過(guò)渡) ?
特征:與PC版基本相同,圖片使用常見(jiàn)格式,音頻使用HCA格式,視頻使用USM格式封裝,立繪圖片使用mvl格式。封包使用cpk、mpk格式,但更常見(jiàn)直接使用文件夾,用同名cls文件記錄其中的文件名。 ?
解包方案:與PC版基本相同,沒(méi)有額外的問(wèn)題。 ?

Switch平臺(tái)使用NSP、XCI格式存儲(chǔ)游戲內(nèi)容,一般NSP格式來(lái)自線上商店,一個(gè)NSP文件只能封裝一份程序(主程序、更新包),XCI格式來(lái)自卡帶,可以封裝多個(gè)NSP文件,甚至可以封裝多個(gè)游戲。兩者之間可以通過(guò)工具NSC_Builder轉(zhuǎn)換,可以看作沒(méi)有區(qū)別。有時(shí)游戲分享者會(huì)使用NSZ、XCZ格式分享游戲,這種格式是民間研究的NSP、XCI格式的壓縮版本,可使用NSC_Builder還原為對(duì)應(yīng)格式。 ?
NSP文件下封裝的是NCA文件,可使用工具XCI-Explorer查看結(jié)構(gòu)并提取NCA,再用SwitchExplorer打開(kāi)NCA文件得到PC版類似的cpk等文件……老方法是這樣的,對(duì)還原修改后的游戲有幫助,但只是提取沒(méi)必要這么麻煩。 ?

?
眾所周知,Switch現(xiàn)在有兩個(gè)模擬器yuzu和Ryujinx,只要在配置好的模擬器里右鍵選擇掃描到的NSP、XCI文件,選擇Extract,就能得到需要的文件。 ?
以上工具均需要Switch密鑰,模擬器除密鑰外還需要系統(tǒng)固件,請(qǐng)自行獲取。 ?
[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(過(guò)渡),混沌系列,春物 ?
特征:與舊版相比,幾乎不再使用cpk、mpk封包而是使用文件夾和cls文件,圖片(除SinMemo)使用webp格式,音頻使用ns-opus格式,視頻使用webm格式封裝,視頻流使用VP8、VP9編碼,音頻流使用Vorbis編碼。 ?
解包方案:與PC版基本相同。webm格式的視頻需要功能較強(qiáng)的播放器播放。ns-opus格式的音頻使用.opus作為擴(kuò)展名,但使用了專有的文件頭,與常見(jiàn)的ogg-opus格式不同,無(wú)法使用一般的播放器播放。需要使用VGMStream轉(zhuǎn)碼。而且使用VGMStream的fb2k插件也無(wú)法直接播放,需要將擴(kuò)展名改為.lopus才能由插件解碼。 ?

rUGP引擎
主要游戲:Disorder6(xbox360/PS3),解放少女SIN(PS3/PSV),混沌之腦(PS3/PSV) ?
特征:游戲內(nèi)容除視頻外,幾乎全部文件體積集中在一個(gè)RIO格式文件上。PS3版視頻使用AVI封裝,MPEG-4視頻編碼、MP3音頻編碼。 ?
解包方案:沒(méi)有太好的方案。這個(gè)引擎的PC版被稱為最難對(duì)付的ADV游戲引擎之一,只有幾個(gè)針對(duì)age社PC版游戲的工具。 ?
經(jīng)測(cè)試,工具RioX可以處理游戲Disorder6兩個(gè)版本和解放少女SIN的PS3版,得到背景圖、EVCG和一些文本內(nèi)容,無(wú)法得到音頻和角色立繪。解放少女SIN PSV版無(wú)法正確處理?;煦缰X未測(cè)試,建議使用其他版本。工具RioX已經(jīng)長(zhǎng)時(shí)間未更新,且未開(kāi)源。
視頻編碼較為古老,部分播放器可能無(wú)法播放,請(qǐng)嘗試使用功能更強(qiáng)大的播放器。 ?


[RioX|archive](https://web.archive.org/web/20220809055557/http://riox.thisillusion.org/) 原網(wǎng)頁(yè)已消失 ?
M2/E-mote/KaredoADV引擎
主要游戲:Dunamis15(xbox360/PS3),Infinite Stratos系列(PS3/PSV),可塑性記憶(PSV),超自然九人組,五等分系列,匿名代碼 ?
特征:文件包使用_body.bin+_info.psb.m封包,視頻使用對(duì)應(yīng)平臺(tái)常見(jiàn)格式。 ?
解包方案:來(lái)自asmodean的exm2lib給出了早期兩個(gè)游戲的解包方法,但沒(méi)有后續(xù)更新?,F(xiàn)在推薦使用工具FreeMote。這是一個(gè)面向M2封包格式的工具,支持KaredoADV引擎的封包。每一個(gè)游戲的封包都使用了不同的密鑰,PSV版的游戲可用HEXEditor打開(kāi)eboot.bin,在其中首次出現(xiàn)的"script_info.psb.m"前找到,PC版的在exe文件中同樣位置,其他平臺(tái)不確定。 ?


PS3平臺(tái)的視頻使用了PAM封裝,可用VGMToolBox解封裝。另Infinite Stratos系列PS3版的視頻的音頻軌使用了GENH格式,用VGMToolBox解封裝會(huì)得到視頻軌文件、一個(gè)genh文件和一個(gè)lpcm文件并報(bào)錯(cuò),此時(shí)需要用ShinHayarigamiExt中的GENH_comb.py將genh和lpcm拼裝成一個(gè)文件或手動(dòng)拼裝,然后用VGMStream播放或轉(zhuǎn)碼。 ?
[exm2lib|asmodean](http://asmodean.reverse.net/pages/exm2lib.html) ?
[FreeMote|Github](https://github.com/UlyssesWu/FreeMote) ?
[ShinhayarigamiExt|Github](https://github.com/Manicsteiner/ShinHayarigamiExt) ?
Unity引擎
主要游戲:この素晴らしい世界に祝福を! ~この欲望の衣裝に寵愛(ài)を!~(Switch) ?
特征:Data目錄下有Managed、Resources、StreamingAssets文件夾,有boot.config、resources.assets等文件,一般StreamingAssets文件夾體積最大。 ?
解包方案:使用通用工具AssetStudio。不同的Unity游戲、不同平臺(tái)間的差異可能很大,且可能有加密,請(qǐng)自行研究。 ?

[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。圖片文件沒(méi)有擴(kuò)展名,視頻使用USM封裝,且音頻軌道使用了一定程度加密的HCA格式。 ?
解包方案:首先使用GARBro打開(kāi)cpk格式的封包。AWB、ACB文件可用VGMToolBox中對(duì)應(yīng)功能處理,得到一大堆音頻。USM文件可用VGMToolBox解封裝,得到正常的視頻軌和bin格式的音頻軌。將音頻軌的擴(kuò)展名更改為hca,然后用VGMStream播放或轉(zhuǎn)碼。 ?
沒(méi)有擴(kuò)展名的圖片文件實(shí)際上是DXT1編碼的DDS格式圖片,但缺少文件頭,需要添加正確的文件頭后才能打開(kāi)查看。此時(shí)得到的圖片是旋轉(zhuǎn)過(guò)180度的,還要再旋轉(zhuǎn)回來(lái)。這些問(wèn)題可能是來(lái)自于Unity引擎的一些特性。以上處理過(guò)程可以使用工具YuruCampHeaderAdder處理。texbg和texeg的圖片可以這樣處理得到正常的內(nèi)容,但其他的包內(nèi)的圖片處理后卻仍有問(wèn)題。 ?
[YuruCampHeaderAdder|Github](https://github.com/Manicsteiner/YuruCampHeaderAdder) ?
Unity引擎+未知封包
主要游戲:幻想マネージュ(Switch),心靈判官:無(wú)法抉擇的幸福(PC) ?
特征:有Unity引擎的一些特征,前者使用QPK格式封包,后者使用CPK格式封包。 ?
解包方案:QPK格式不能用手頭的工具打開(kāi),沒(méi)有進(jìn)一步研究。后者與前面的CRIWare封包相同,但內(nèi)容上有很大差別,將大多數(shù)內(nèi)容放在一個(gè)包里,圖片沒(méi)有復(fù)雜處理。 ?
尾聲
本次整理了除PS2和PSP平臺(tái)的多數(shù)游戲,應(yīng)該夠用一段時(shí)間了,以后有機(jī)會(huì)再更新。

