ExeFS
Overview
ExeFS or Executable Filesystem contains information related to the executable program, and is the part of the CXI format.
The ExeFS usually contains one or more of the following files:
Format
The ExeFS header is 0x200 bytes long and follows this simple structure:
START | SIZE | DESCRIPTION |
---|---|---|
0x00 | 0xa0 | File headers (10 headers maximum, 16 bytes each) |
0xa0 | 0x20 | Reserved |
0xc0 | 0x140 | File hashes (10 hashes maximum, 32 bytes each, one for each header) |
File headers
There are a maximum of 10 file headers in the ExeFS format, which have the following structure:
START | SIZE | DESCRIPTION |
---|---|---|
0x0 | 0x8 | File name |
0x8 | 0x4 | File offset |
0xC | 0x4 | File size |
File offsets are non-inclusive of the header's size (0x200 bytes). Also, file headers which are not used are filled with all zeros.
File hashes
Each file header has a corresponding file hash, which is the SHA256 hash calculated over the entire file contents.