Hacking fst.bin file structure

SleepyPrince

Well-Known Member
OP
Member
Joined
Aug 9, 2007
Messages
270
Trophies
0
Website
Visit site
XP
676
Country
Hong Kong
As there isn't any documentation on fst.bin, I have written one for those who want to know.

The fst.bin file is divided into 2 parts, 1st is file entries & 2nd is filenames

file entries
each file entry is a 0xC segment
(00) (filename offset 3Bytes) (offset>>2 4Bytes) (filesize 4Bytes)
(01) (dir name offset 3Bytes) (parent entry # 4Bytes) (folder end entry 4Bytes)

1st byte
indicate whether it is a file or a folder, 00 for files and 01 for folders

2nd - 4th bytes
offset of the file/dir name from the start of the filenames segment (the starting address is mentioned below)

5th - 8th bytes
for files:
It is the same offset you can see in trucha signer, but divided by 4 (>>2)
(I dont know how to calculate whether a file is on the 1st or 2nd layer as there are more offsets involved)

for dirs:
It is the entry # of the parent directory, the 1st (ROOT) entry is entry #0
so all 1st level dirs has the value of 0 on this location

9th - 12th bytes
for files:
It is simply the size of the file.

for dirs:
It is the entry # of the last entry under the directory (including sub dirs & sub dir files)

ROOT entry
the fst.bin starts with the ROOT entry, it is slightly different from other dir entries

01 | 00 00 00 | 00 00 00 00 | (Total number of entries 4Bytes)

as the ROOT entry does not have a name nor a parent entry
it always has the structure above
therefore the filenames starts from: Total number of entries * 0xC

filenames
The filenames of each entry ends with a 0x00

paddings
the fst.bin is padded with 0x00 to 4bytes multiple

(the presentation could be much better if this forum support tables)
 

ProdigySim

Well-Known Member
Member
Joined
Nov 23, 2005
Messages
191
Trophies
0
XP
145
Country
United States
You should really add this to the wiibrew Wiki. People have done stuff like this for opening.bnr and _update.inf, too. Just make a new page for fst.bin with that information.
 

Riicky

Well-Known Member
Member
Joined
May 15, 2009
Messages
607
Trophies
0
Age
39
Location
Reading,Pennsylvania
XP
144
Country
United States
Levitra spam on gbatemp.....
smile.gif
now you can come here to soft-mod your wii or HARD mod your penis
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • SylverReZ @ SylverReZ:
    @ZeroT21, Why not stick to your other machine, no?
  • ZeroT21 @ ZeroT21:
    my other machine is old, mostly used for just browsing , some multimedia stuff as it's just old
  • ZeroT21 @ ZeroT21:
    some tasks like hacking wii mini consoles
  • SylverReZ @ SylverReZ:
    @ZeroT21, You running Windows XP in 2024?
  • K3Nv2 @ K3Nv2:
    Whore yourself out 12 times for $100 and go buy a pc
    +1
  • ZeroT21 @ ZeroT21:
    i got xp but running it off usb only, no way ima keep that
  • ZeroT21 @ ZeroT21:
    it gets hacked/corrupted if i just leave it online for an hour
  • SylverReZ @ SylverReZ:
    @ZeroT21, The Russians are after you lol.
  • K3Nv2 @ K3Nv2:
    Send me your ip I'll remotely fix it
  • ZeroT21 @ ZeroT21:
    @K3Nv2 my head needs fixing if I believe you
  • ZeroT21 @ ZeroT21:
    it's kinda fun watching it happen tho
  • K3Nv2 @ K3Nv2:
    It needs fixing for other things but your pc I can fix
  • ZeroT21 @ ZeroT21:
    over 300+ virus/trojians/worms after scanning, what did I do to deserve this attention lol
  • ZeroT21 @ ZeroT21:
    tho I find it funny when i receive other people's pc/laptops in this state
  • ZeroT21 @ ZeroT21:
    i wont be upgrading unless I cant run the games i want anymore
  • K3Nv2 @ K3Nv2:
    Spill water on it good excuse
  • ZeroT21 @ ZeroT21:
    @K3Nv2 that's like a valid option if someone else is paying for ya
  • K3Nv2 @ K3Nv2:
    Daddy's wallet
  • K3Nv2 @ K3Nv2:
    Ngl hogwarts legacy has good pooping music
  • OctoAori20 @ OctoAori20:
    That's uh-
  • OctoAori20 @ OctoAori20:
    That's certainly a Dairy Queen sign lmao
  • K3Nv2 @ K3Nv2:
    You should see his help wanted signs
    K3Nv2 @ K3Nv2: You should see his help wanted signs