File Info (.fiin)
I don’t know the actual purpose of this file, it seems to contain SHA1 of certain files. The filename is usually fileinfo.fiin
(like in /boot
) and start with a header like this:
struct FileInfoHeader {
char magic[9];
uint8_t dummy1[16];
uint8_t unknown; // version? always seems to be 4
uint8_t dummy2[2];
uint8_t unknown1;
uint8_t unknown2;
uint8_t dummy[994];
};
The content of magic
is always FileInfo
.
To get the number of entries, calculate it like so:
int overflow = info.header.unknown2;
int extra = overflow * 256;
int first = info.header.unknown1 / 96;
int first2 = extra / 96;
int actualEntries = first + first2 + 1;
(Note: I have no idea if this is actually necessary, and it could just be a unsigned int or something)
Then each entry is located right after the header, and is structured as so:
struct FileInfoEntry {
uint8_t dummy[8]; // length of file name in some format
char str[64]; // simple \0 encoded string
uint8_t dummy2[24]; // sha1
};
This file appears to have SHA1 hashes, but for what purpose I do not know.