The format is known to be used by:
FarCry 3 - FAT2
The Crew - FAT2
Watch Dogs - FAT3
The format is divided in two files:
- FAT containing the index table
- DAT containing only the data referenced by FAT
One of the bad things of formats used by multiple games and multiple platforms is the existence of multiple customizations.
For example the same archive on Xbox360, PS3 and PC is handled in different ways.
This difference is related mainly to the handling of compressed files because FAT3 on Xbox uses LZX (aka xmem), PC too (it's rare, maybe they use the same DX sdk) and PS uses zlib.
To make the situation even more difficult is the fact that the compression is chunked so there is no compressed and uncompressed size but a sequence of compressed parts of the file.
FAT2 is easier because doesn't use chunks but also in that case there are at least 2 different compression algorithms: lzo and lzma.
A bad, very bad, thing of this format is that its files are nameless, there is only a name CRC to identify them.
There are various tools to handle the format for specific games, moreover due to the name CRC limitation.
I worked on FAT2/3 just recently and I release a script for quickbms that should be compatible with all the games and all or almost all the platforms:
http://aluigi.org/papers/bms/fat2_fat3.bms
For reference, the following is a FAT2 file from The Crew:
Code: Select all
32 54 41 46 05 00 00 00 01 00 00 00 2a 10 00 00 2TAF........*...
61 0d 00 00 00 00 00 00 10 d1 b9 82 73 fa 06 00 a...........s...
16 02 00 c0 3c 70 62 00 b1 e3 01 00 00 00 00 00 ....<pb.........
30 6c d8 3c 14 af 15 00 73 4e 00 40 a7 a5 90 00 0l.<....sN.@....
61 3a 00 00 00 00 00 00 b5 dc b4 62 73 27 1d 00 a:.........bs'..
1d 08 00 c0 d7 a3 24 00 e1 b4 00 00 00 00 00 00 ......$.........
cb b5 da 79 88 ec 2d 00 cc 16 00 c0 f4 a7 57 00 ...y..-.......W.
91 f1 00 00 00 00 00 00 c2 a6 dc 01 56 e1 37 00 ............V.7.
8b 21 00 40 24 f6 79 00 81 ad 0a 00 00 00 00 00 .!.@$.y.........
76 a5 e1 df a6 dd 48 00 f9 64 02 40 c4 be 0b 00 v.....H..d.@....
While the following is a FAT3 from Watch Dogs:
Code: Select all
33 54 41 46 08 00 00 00 03 04 37 00 ab 12 00 00 3TAF......7.....
3b 06 23 00 82 05 02 00 00 11 00 80 1a 9d 97 00 ;.#.............
5c 02 30 00 82 05 02 00 f0 11 00 80 c2 54 97 00 \.0..........T..
3f 99 3e 00 82 85 00 00 30 03 00 e0 4b 24 17 00 ?.>.....0...K$..
9b 7d 52 00 00 00 00 00 a0 01 00 00 7d 03 20 00 .}R.........}. .
28 0e 63 00 82 05 02 00 30 11 00 80 20 0c 97 00 (.c.....0... ...
fa f3 67 00 82 05 08 00 c0 46 00 80 2d 23 83 00 ..g......F..-#..
95 04 6a 00 82 05 10 00 a0 89 00 80 33 5d 82 00 ..j.........3]..
cf 5f 6a 00 82 05 10 00 a0 cf 00 80 23 fa 8b 00 ._j.........#...
7b a3 6e 00 0a 1a 04 00 11 34 00 60 4c 0a 1f 00 {.n......4.`L...