WDB files

WDB files (Warcraft DataBase files, or .wdb) are files created by World of Warcraft to cache data retrieved from its game servers.

WDB files regroup data downloaded in chunks. The data inside is ordered from first to last downloaded.

Header
The header is of 16 bytes for pre-1.6 files, and 20 bytes for post-BC files:


 * Signature : 4-bytes char signature
 * Build: 4 bytes int identifying the build
 * Locale: 4 bytes char identifying the locale, inversed (ie: SUne)
 * Unknown: Unknown 4 bytes int, added in 1.6
 * Unknown: Unknown 4 bytes int, added in 1.6
 * Unknown: Unknown 4 bytes, added in 3.0.8.9464, always null

Signatures
Signatures, just like locales, are reversed in the header.

EntryLength
The EntryLength is the length in bytes of the cached row. It is always found in the second column and helps the game determinate corrupted cache entries as well as optimizing the reading process. Rows with an incorrect EntryLength are cleared on log in.

EOF
All WDB files end with 8 times \x00.