Similarity between KaZaA FastTrack data*.DBB and Skype chatmsg*.dbb File Format

Click here for the original article

B. KaZaA FastTrack data*.DBB (Local Shared Objects Meta Database) File Format

The FastTrack application's Local Content Database files contain meta information on the files that are shared/published/uploaded/advertised/contributed by the local machine on the FastTrack P2P network. These index files are maintained by Kazaa's LocalContentManager. An active Kazaa process permanently monitors the local folders that are shared, any File Add, Change and Delete event is reflected in the meta database files.

Meta info items are filename, foldername, filesize, and the filetime. In addition there are a variable number of file tags that describe the contents of the file. FastTrack Kazaa tags include mappings for most .MP3, .DOC, .PDF, .AVI and other popular Media file content properties. This file meta info is used in the FastTrack distributed network File Search protocol. An essential tag is the FastTrack ContentHash. The value represents a 'fingerprint' of the content, worldwide unique for each specific dataset. In Kazaa 2.[0,1] it is the (only) tag used in the Download URL (a HTTP GET Download request like http://peerIP:peerPort/.hash=ab56..83fe).

When a FastTrack client node (re)connects to (a selected and available supernode in) the virtual P2P network, the client node sends his database files to the supernode. This index replication probably isn't incremental. The supernode will make the list of shared files available for searching by other supernodes. This way the meta gets published in the distributed FastTrack file Search Cache.

KaZaA 2.[0,1] will recreate the meta database files at each new start, should they not exist already/anymore in the configured Database Directory. The pathname of that folder is kept in the Windows Registry at HKLM\Software\KaZaA\LocalContent\DatabaseDir.

Executing URL http://localhost:<KazaaPort>/ makes the Kazaa 2.[0,1] application generate a HTML-page with a table of contents showing the entries currently present in the LocalContent Database files [replace <KazaaPort> with the configured TCP port for the Kazaa download service, the default value is 1214]. This URL works with any HTTP Browser that runs on the same machine as the one Kazaa is running on. The Kazaa 2.[0,1] built-in HTTP-server responds with a "404 Not Found" HTTP-error when such a HTTP GET root request originates from a remote machine. Earlier versions of KaZaA reportedly do respond to such remote requests.

.DBB files contain arrays of fixed length slots.

  • File .\data256.dbb contains slots for file meta entries that fit in ((2*4)+256) bytes.
  • File .\data1024.dbb contains slots for file meta entries that fit in ((2*4)+1024) bytes.
  • File .\data2048.dbb contains slots for file meta entries that fit in ((2*4)+2048) bytes.

Table 2: Format of FastTrack .DBB Meta Database file slot:

# Name Type Values Description
1 dbbsLabel DWORD constant 'l','3','3','l' Slot signature label.
2 dbbsLength DWORD 367 Count of bytes effectively used in this slot after this field. Can be NULL.
3 dbbsFileName ANSIZ "Tiken ...mp3", '\0' Local name of shared file.
4 dbbsFolderName ANSIZ "C:\Kazaa\Shared Files", '\0' Name of local filesystem directory where this slot's shared file exists.
5 dbbsFileSize DWORD 4012684 Size of file, counted in bytes.
6 dbbsFileTime DWORD time_t, seconds since Epoch (1970-01-01T00:00:00U) UTC/GMT Datetime file was last modified.
7 dbbsShareTime DWORD 0 or time_t ? LastDatetime the file was available for sharing ? Default 0. Upload count ? Popularity ?
8 dbbsUnknown DWORD 0 or 1 Mostly 0. Can be 1 ?
9 dbbsFlag BYTE 1 Seems to be 1 always. Flag ? Indicates sharing state ? Upload count ? Popularity ? Modified since download ?
10 metaTagCount DWORD 1... See metaTagCount layout in Table 1.

Each metaTag item is a variable length subsequence, see metaTag item layout in Table 1.

12 dbbsFiller BYTE[] All 0 for fresh (first time used) slots in newly created .DBB files. Slot space fill bytes. Slot space depends on .DBB file: either db256.dbb, db1024.dbb or db2048.dbb.

Last updated: 2008