Another Wonderful Life.
However, I've hit into a wall as I can't seem to figure out the CLZ file format that seems to contain a large number of the game's data.
From what I've been able to figure out, they appear to be single-file compressed archives.
In some cases, the developers have managed to get around the single-file limitation by archiving multiple game files into a single U8 archive (*.arc file) and then compressing that (creating a *.arc.clz file).
The file seems to consist of the following:
- The CLZ header at 0x00000000 (43 4C 5A)
- Some variable at 0x00000005 (in this case, 53 54 90)
- The same variable also at 0x0000000d (in this case, 53 54 90)
- The compressed data starting at 0x00000011 (in this case, a U8 archive, noted by the U8 header 55 AA 38 2D)
Moreover, the PS2 version seems to contain both a compressed and uncompressed version of one of the files (mainchapter0.arc and mainchapter0.arc.clz). Although, I won't be able to fully confirm that they are the same until I get the clz version decompressed to compare the contents.
What advice could you guys give on decompressing these CLZ files?
I've started making a QuickBMS script to detect the file header, but I'm unsure of how to proceed. Most of the tutorials I've found all go over how to extract multi-file archives (with different offsets and filenames), as opposed to single compressed files (with only one output filename and always the same offset).
Code: Select all
endian big idstring "CLZ\x00" //CLZ file identifier get unknownVar1 long //Unknown variable get null long //Blank space get unknownVar2 long //Repeat of unknown variable get null byte //More blank space /* Compressed file contents start now */ //log compressed contents to other file