Game resource unpack

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
Panzerdroid
Posts: 66
Joined: Sun Aug 30, 2015 12:51 pm

Game resource unpack

Post by Panzerdroid »

Hello,
I'm trying to unpack one small Chinese game resource. The stucture seems very simple.

PKG header for each entry, then 16 bytes for plain-text chunk-size, then the chunk itself. No names I've found so far.

BMS Scanner showed LZO1X compression on chunks I've xtracted manually, ripping them with HEX-edit.

My knowledge of QBMS is so low, I can't write a script for it (with re-import function).

Help would be much appreciated.

Thanks in advance!

small sample file
http://www73.zippyshare.com/v/oDpkh2Wp/file.html
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Game resource unpack

Post by aluigi »

Nice:
http://aluigi.org/papers/bms/others/pkg_lzo.bms

The decompressed size is not known so I use a simple "compressed_size * 20".
Panzerdroid
Posts: 66
Joined: Sun Aug 30, 2015 12:51 pm

Re: Game resource unpack

Post by Panzerdroid »

Oh my God! It works! Luigi, thank you very much! It strange, though, that reimporting is'n working. I get this message:

- 0 files reimported in 0 seconds
coverage file 0 0% 189 57327

I don't see MEMORY_FILES, so can't understand why it doesn't import files back :(

I see the simple structure & wonder that I could really modify the game. But it has so many small files in packages and mass reimporting could be very slow due to file system overhead. And I have an idea. Is it possible with modifying this script to make a packer that will deal not with small files, but with a premade pseudo-archive with concatenated files and a list of files with as a separate file?

In example I create a big uncompressed pseudo-archive with DOS "copy" command & make a list of files with sizes. Maybe in CSV-like format. And then is it possible with BMS to make a compressed copy of this pseudo archive with these PKG + compressed size chunks?

Example:

pseudo archive = chunk1+chunk2+...
pseudo filelist:
chunkfilename1
chunkfilename2
...
I'm not a programmer & can't even understand your script or I think I could possibly make it myself :(


---------


EDIT: quickbms_4gb_files.exe seems to reimport just fine, while quickbms.exe doesn't. Strange...
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Game resource unpack

Post by aluigi »

I have checked and the reimporting works correctly.
I did a simple extraction, editing of one file and reimporting and all the 9 files have been found and reinjected.