January 26Jan 26 Localization Hello, could someone help me to unpack/repack this kind of archive, been struggle for months now but can't find any tool for it. This come from Ys IX Monstrum Nox game. https://drive.google.com/file/d/1OV8hxadmTlA0vMaXBNboBZMKH16_IKj5/view?usp=drive_link Edited January 26Jan 26 by petermike867
January 26Jan 26 Author Localization 11 minutes ago, MrIkso said: On pc version game doesn't has this archive, all files unpacked thanks you for the reply, but i want to edit ps4 version. 😞
January 27Jan 27 Supporter I'd suggest to search for 'vfs' in the Zenhax archives, 153 results. Maybe there's some useful hint among them?
February 2Feb 2 Author Localization On 1/27/2026 at 10:53 PM, shak-otay said: I'd suggest to search for 'vfs' in the Zenhax archives, 153 results. Maybe there's some useful hint among them? Unfortunately, what I read on the Zenhax archive wasn’t of any help; they also couldn’t figure out the compression used by the VFS3 file.
February 2Feb 2 Supporter 1 hour ago, petermike867 said: they also couldn’t figure out the compression used by the VFS3 file. too bad. Then a comtype scan could come in handy. But it could get somewhat boring because you'll need to check 100 and more resulting extracted files manually in a hex editor for a hit,
February 3Feb 3 Localization I initially analyzed the file and found instances of F1N Headers (46 6C 4E), of which there are 196 in the file. I managed to find several matching addresses in the index. The analysis is in its early stages, so that's all I can share for now.
February 3Feb 3 Author Localization 10 hours ago, zbirow said: I initially analyzed the file and found instances of F1N Headers (46 6C 4E), of which there are 196 in the file. I managed to find several matching addresses in the index. The analysis is in its early stages, so that's all I can share for now. tysm for your time analysing this!
July 11Jul 11 Localization looked into it and seems to be using the same format as Ni No Kuni 2 & Killer7 but with a different compression than zstd or zlib (the str offset is 0 and the decompression dictionary offset is now the str offset, also the compression id is kinda just random)Edit: I think I mixed up some fields, probably zstd without decompression dicts but with encryption Edited July 11Jul 11 by NeoGT404
July 11Jul 11 Localization Here's a hexpat:struct Str { u32 l; char v[l]; }; struct de { u32 crc; s32 id; s32 pid; s32 nid; u32 dc; s32 u1; u32 fc; }; bitfield fle { bool zstd : 1; // otherwise zlib bool compressed : 1; padding : 3; unk1 : 1; padding : 10; s16 zstd_dict_id; }; struct fe { u64 off; u64 zs; u64 us; u32 crc; u32 fid; fle fl; u32 did; char start[4] @ (parent.do + off); char end[4] @ (parent.do + off + zs - 4); }; struct ce { u32 s; u32 cs[s / 4]; }; bitfield fl { padding : 4; bool chunks : 1; bool zstd_dicts : 1; padding : 26; }; struct a { char magic[4]; fl fl; u32 v; u32 dc; $ += dc * 0x1C; u32 fc; u64 fso = $; u64 do = fso + fc*0x28 + 0x18; u64 chnkdo @ (do - 0x18); u64 decdo @ (do - 0x10); u64 stro @ (do - 8); u64 so = stro; if (so == 0) so = decdo; $ = so; u32 fsc; Str fstrs[fsc]; u32 dsc; Str dstrs[dsc]; $ = chnkdo; u32 chnkz; u64 ep = $ + chnkz; ce ce[while($ < ep)]; de de[dc] @ 0x10; fe fe[fc] @ fso; }; a a @ 0;
July 11Jul 11 Author Localization 1 hour ago, NeoGT404 said:I'm thinking it's encrypted so I'll need the game executableHi, tysm for your time working on this, here is the game executablemain.zip
July 12Jul 12 Localization nvm, not encrypted, added support (my program is extracting only so someone else will have to make a repacker, note that there is a seemingly CRC field so the game might reject edits, I've not been able to figure out the algo for that)https://github.com/smiRaphi/UniPyX/commit/9144cf06ad56ddd8e9977ea2eb5154bf299cec9d
July 12Jul 12 Author Localization 26 minutes ago, NeoGT404 said:nvm, not encrypted, added support (my program is extracting only so someone else will have to make a repacker, note that there is a seemingly CRC field so the game might reject edits, I've not been able to figure out the algo for that)https://github.com/smiRaphi/UniPyX/commit/9144cf06ad56ddd8e9977ea2eb5154bf299cec9dthanks you so much, i will try it!
Create an account or sign in to comment