Pues lo unico que tuve que tocar son los offsets y el tamaño de los ficheros. Una vez que conoces la estructura del "fst.bin" es muy facil hacerlo.
Voy a intentar explica brevemente como esta estructurado el fst.bin.
Los 12 primeros bytes corresponden a la cabecera de la tabla de ficheros. El primer byte suele ser "01". En el offset 0x08 se encuentra el valor (de 4 bytes) que indicia el numero de ficheros/directorios+1 que hay en la particion.
A continuacion vienen las entradas correspondientes a los ficheros/directorios. Cada entrada tiene un tamaño de 12 bytes y esta formada por 4 campos:
1º campo
Tamaño: 1 byte
"00" -> se trata de un fichero
"01" -> se trata de un directorio
2º campo
Tamaño: 3 bytes
Nos indica en que zona de la tabla de strings (que se encuentra al final del fst.bin y contiene los nombres de los ficheros/directorios) se encuentra el nombre correspondiente al fichero de la entrada.
3º campo
Tamaño: 4 bytes
Nos indica en que offset de la particion se encuentra el fichero. En el caso de los directorios creo que valor es siempre "00000000".
4º campo
Tamaño: 4 bytes
Nos indica el tamaño del fichero. En el caso de los directorios nos indica cuantos ficheros+1 tiene el directorio.
Y finalmente viene la tabla de strings, donde estan los nombres de los ficheros/directorios. Cada entrada tiene un tamaño variable pero todas las entradas acaban con el byte "00" (caracter de fin de cadena).