kaitai-io / kaitai_struct_formats

Kaitai Struct: library of binary file formats (.ksy)
http://formats.kaitai.io
712 stars 203 forks source link

[File System] Secure Transacted File System #584

Open halotroop2288 opened 2 years ago

halotroop2288 commented 2 years ago

STFS is the filesystem used by content packaged on the Microsoft Xbox 360. STFS filesystems are stored in files with no extension, and sometimes are found inside Xbox Content Packages (XCP) or Game Profile Data packages (GPD).

Here are a few cross-references for this format:

Here is a program that can generate these files for samples:

I'm looking for some pointers on completing this format. So far I have only completed the header and metadata, but the metadata appears to be much larger than I'm expecting (metadata._io.size > header_size). metadata_size should be equal to the size of the metadata section (after metadata_size and before the first hash table). (Free60 erroneously calls this value "header_size" but it refers to the size of data after it, not before)

I know this is a mess, it's written in such a way to help me understand the format as I'm writing it. Not to fit the style guide.