BlackBerry Thumbnail Parser
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

README v0.7b - Parser for BlackBerry ThumbsxxxXxxx.key file

bbt will read a BlackBerry "key" thumbnail file and print out the record id of each thumbnail and corresponding offset of the record found inside the "dat" file.  bbt
will also read the older BBThumbs.dat file found on devices pre OS5

Usage: [options]
  -h, --help: This cruft
  -k, --key <bbthumbs key file>: Process post OS5 thumbs.key file (requires thumbs.dat file in same directory)
  -b, --bbthumbs <old bbthumbs file>: Process pre OS5 BBThumbs.dat file
  -x, --extract: Extracts the thumbnails into directory specified by -o
  -o, --output <output directory>: Directory to extract thumbs to (used only with -x)
  -f, --offset: Show record ID and Offset of each thumbnail (BBThumbs.dat has no record ID)

Example 1: python -k thumbs76x76.key -x -o output

The above example processes the files thumbs76x76.key and thumbs76x76.dat in the current directory, creates a directory named "output" 
and extracts all thumbnails into this directory.

Example 2: python -b BBThumbs.dat -x -o output

The above example processes the file BBThumbs.dat in the current directory, creates a directory named "output" 
and extracts all thumbnails into this directory.

Known Issues:

* Currently minimal error checking

Change Log:

+ 0.7b - Fixed issue with duplicate record IDs and records having invalid offsets. (Many thanks to Shafik Punja and John Thompson for finding this bug)
+ 0.6b - Added support for displaying record ID and offset. 
       - Fixed issue with how the output path is created
       - Added feature to generate sparse HTML report. Code is fugly, but still works. The HTML report will be generated to the output 
         directory when you select the -x option. The report is called bbt.html
+ 0.5b - Fixed an issue with how timestamps are handled (thanks to Nanni Bassetti for pointing this out)

License GPLv2:

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.