Barry using

Introduction

These tools are some programs that communicates with a BlackBerry device over USB.

Since the protocols used by BlackBerry are not documented by the manufacturer Research In Motion, these programs are experimental and you use at own risk.

Be sure your device is backed up by another program if it contains important data !

barry

bidentify

“bidentify” is a BlackBerry device detector. It dumps the BlackBerry linked to your computer.

[nicolas@Dahlia nicolas]$ bidentify -h
bidentify - USB Blackberry Identifier Tool
            Copyright 2005-2010, Net Direct Inc. (http://www.netdirect.ca/)
            Using: Barry library version 0.17 (little endian)

   -B bus    Specify which USB bus to search on
   -N dev    Specify which system device, using system specific string

   -h        This help
   -v        Dump protocol data during operation
[nicolas@Dahlia nicolas]$ bidentify
12345678, RIM BlackBerry Device

btool

“btool” is a tool to manage your BlackBerry data bases. You can list, dump, modify or remove the content of data bases.

[nicolas@Dahlia nicolas]$ btool -h
btool - Command line USB Blackberry Test Tool
        Copyright 2005-2010, Net Direct Inc. (http://www.netdirect.ca/)
        Using: Barry library version 0.17 (little endian)
        Compiled without Boost support

   -b file   Filename to save or load a Barry Backup to (tar.gz)
   -B bus    Specify which USB bus to search on
   -N dev    Specify which system device, using system specific string

   -a db     Erase / clear database 'db' FROM device, deleting all
             its records.  Can be used multiple times to clear more
             than one DB.
   -c dn     Convert address book database to LDIF format, using the
             specified baseDN
   -C dnattr LDIF attribute name to use when building the FQDN
             Defaults to 'cn'
   -d db     Load database 'db' FROM device and dump to screen
             Can be used multiple times to fetch more than one DB
   -e epp    Override endpoint pair detection.  'epp' is a single
             string separated by a comma, holding the read,write
             endpoint pair.  Example: -e 83,5
             Note: Endpoints are specified in hex.
             You should never need to use this option.
   -h        This help
   -i cs     International charset for string conversions
             Valid values here are available with 'iconv --list'
   -I        Sort records before output
   -l        List devices
   -L        List Contact field names
   -m        Map LDIF name to Contact field / Unmap LDIF name
                Map: ldif,read,write - maps ldif to read/write Contact fields
                Unmap: ldif name alone
   -M        List current LDIF mapping
   -n        Use null parser on all databases.
   -p pin    PIN of device to talk with
             If only one device is plugged in, this flag is optional
   -P pass   Simplistic method to specify device password
   -s db     Save database 'db' TO device from data loaded from -f file
   -S        Show list of supported database parsers
   -t        Show database database table
   -T db     Show record state table for given database
   -v        Dump protocol data during operation
   -V        Dump records using MIME vformats where possible
   -X        Reset device
   -z        Use non-threaded sockets
   -Z        Use threaded socket router (default)

 -d Command modifiers:   (can be used multiple times for more than 1 record)

   -r #      Record index number as seen in the -T state table.
             This overrides the default -d behaviour, and only
             downloads the one specified record, sending to stdout.
   -R #      Same as -r, but also clears the record's dirty flags.
   -D #      Record index number as seen in the -T state table,
             which indicates the record to delete.  Used with the -d
             command to specify the database.

To list all the data bases :

[nicolas@Dahlia nicolas]$ btool -t
Blackberry devices found:
Device ID: 0x20d0360. PIN: 12345678, Description: RIM BlackBerry Device, Name: BlackBerry Torch
Using device (PIN): 12345678
Database database:
    Database: 0x0 'PasswordKeeper Options' (records: 1)
    Database: 0x1 'PasswordKeeper' (records: 1)
    Database: 0x2 'VideoRecorder Options' (records: 1)
    Database: 0x3 'Camera Options' (records: 1)
    Database: 0x4 'Alarm Options' (records: 1)
    Database: 0x5 'Enhanced Gmail Plug-in' (records: 1)
    Database: 0x6 'Clock Options' (records: 1)
    Database: 0x7 'Alarms' (records: 0)
    Database: 0x8 'Tasks' (records: 3)
    Database: 0x9 'Browser Push Options' (records: 1)
    Database: 0xa 'Attachment Data' (records: 12)
    Database: 0xb 'Attachment Options' (records: 1)
    Database: 0xc 'MMS Messages' (records: 5)
    Database: 0xd 'MMS Options' (records: 1)
    Database: 0xe 'Tasks Options' (records: 1)
    Database: 0xf 'Secure Email Decision Maker' (records: 1)
    Database: 0x10 'Purged Messages' (records: 287)
    Database: 0x11 'Folders' (records: 6)
    Database: 0x12 'Folder Id' (records: 1)
    Database: 0x13 'SMS Messages' (records: 191)
    Database: 0x14 'Saved Email Messages' (records: 0)
    Database: 0x15 'PIN Messages' (records: 7)
    Database: 0x16 'Messages' (records: 622)
    Database: 0x17 'Mailbox Icon Management Options' (records: 1)
    Database: 0x18 'Phone Call Logs' (records: 56)
    Database: 0x19 'Phone History' (records: 34)
    Database: 0x1a 'Searches' (records: 22)
    Database: 0x1b 'Spell Check Options' (records: 1)
    Database: 0x1c 'Phone Options' (records: 1)
    Database: 0x1d 'Text Messages' (records: 31)
    Database: 0x1e 'Input Learning Data' (records: 49)
    Database: 0x1f 'WAP Push Messages' (records: 0)
    Database: 0x20 'Browser Options' (records: 1)
    Database: 0x21 'Browser Cache' (records: 5)
    Database: 0x22 'Browser Channels' (records: 0)
    Database: 0x23 'Browser Messages' (records: 0)
    Database: 0x24 'Browser Folders' (records: 2)
    Database: 0x25 'External Bookmarks' (records: 0)
    Database: 0x26 'Browser Bookmarks' (records: 13)
    Database: 0x27 'Recipient Cache' (records: 1)
    Database: 0x28 'Bluetooth Options' (records: 1)
    Database: 0x29 'Attachment Data - Calendar' (records: 0)
    Database: 0x2a 'Calendar Options' (records: 1)
    Database: 0x2b 'Memory Cleaner Options' (records: 1)
    Database: 0x2c 'Mobile Network Options' (records: 1)
    Database: 0x2d 'Memos' (records: 5)
    Database: 0x2e 'Shortcut Settings' (records: 1)
    Database: 0x2f 'EntryPoint Settings' (records: 86)
    Database: 0x30 'Theme Settings' (records: 1)
    Database: 0x31 'Profiles Options' (records: 1)
    Database: 0x32 'Recent Contacts' (records: 9)
    Database: 0x33 'Voice Activated Dialing Options' (records: 1)
    Database: 0x34 'Address Book Options' (records: 1)
    Database: 0x35 'Sounds' (records: 19)
    Database: 0x36 'Address Book - Last Used Hints' (records: 1)
    Database: 0x37 'Categories' (records: 2)
    Database: 0x38 'Message List Options' (records: 1)
    Database: 0x39 'MemoPad Options' (records: 1)
    Database: 0x3a 'Input Method Switcher Option' (records: 1)
    Database: 0x3b 'WLAN Profiles' (records: 6)
    Database: 0x3c 'Application Permissions' (records: 244)
    Database: 0x3d 'Default Content Handlers' (records: 0)
    Database: 0x3e 'Suretype options' (records: 1)
    Database: 0x3f 'Predictive Multitap options' (records: 1)
    Database: 0x40 'SpellCheckable options' (records: 1)
    Database: 0x41 'Content Store' (records: 0)
    Database: 0x42 'Default Service Selector' (records: 3)
    Database: 0x43 'Service Book' (records: 17)
    Database: 0x44 'Code Module Group Properties' (records: 78)
    Database: 0x45 'Time Zones' (records: 91)
    Database: 0x46 'Full-predictive options' (records: 1)
    Database: 0x47 'Input Method Options' (records: 21)
    Database: 0x48 'Configuration Channel' (records: 5)
    Database: 0x49 'Random Pool' (records: 1)
    Database: 0x4a 'Smart Card Options' (records: 1)
    Database: 0x4b 'Certificate Options' (records: 0)
    Database: 0x4c 'TLS Options' (records: 1)
    Database: 0x4d 'Firewall Options' (records: 1)
    Database: 0x4e 'Key Store Options' (records: 1)
    Database: 0x4f 'KeyStoreManager' (records: 1)
    Database: 0x50 'PGP Key Store' (records: 0)
    Database: 0x51 'Handheld Key Store' (records: 137)
    Database: 0x52 'Trusted Key Store' (records: 98)
    Database: 0x53 'AutoText Data Version' (records: 1)
    Database: 0x54 'AutoText' (records: 356)
    Database: 0x55 'RMS Databases' (records: 12)
    Database: 0x56 'Handheld Configuration' (records: 0)
    Database: 0x57 'Options' (records: 21)
    Database: 0x58 'Device Options' (records: 0)
    Database: 0x59 'Policy' (records: 1)
    Database: 0x5a 'CustomWordsCollection' (records: 840)
    Database: 0x5b 'Input System Properties' (records: 1)
    Database: 0x5c 'Location Based Services' (records: 0)
    Database: 0x5d 'Maps' (records: 3)
    Database: 0x5e 'Map Global Options' (records: 1)
    Database: 0x5f 'Map Locations' (records: 1)
    Database: 0x60 'Map Settings' (records: 1)
    Database: 0x61 'Diagnostic App Options' (records: 1)
    Database: 0x62 'File Explorer Options' (records: 1)
    Database: 0x63 'File Explorer Network Favorites' (records: 0)
    Database: 0x64 'File Explorer Network History' (records: 0)
    Database: 0x65 'Messenger Options (WLM)' (records: 1)
    Database: 0x66 'Messenger Options (AIM)' (records: 1)
    Database: 0x67 'Messenger Options (GoogleTalk)' (records: 1)
    Database: 0x68 'SQLite Keys' (records: 1)
    Database: 0x69 'TCP/IP Options' (records: 1)
    Database: 0x6a 'Quick Contacts' (records: 0)
    Database: 0x6b 'Messenger Options (Yahoo!)' (records: 1)
    Database: 0x6c 'BlackBerry Messenger' (records: 1)
    Database: 0x6d 'BIS Account Data' (records: 1)
    Database: 0x6e 'Bloomberg Settings' (records: 6)
    Database: 0x6f 'BBGroups' (records: 14)
    Database: 0x70 'DocsToGoCommonPrefs' (records: 1)
    Database: 0x71 'SlideshowToGoPrefs' (records: 1)
    Database: 0x72 'WordToGoPrefs' (records: 1)
    Database: 0x73 'SheetToGoPrefs' (records: 1)
    Database: 0x74 'Handheld Agent' (records: 629)
    Database: 0x75 'Address Book' (records: 151)
    Database: 0x79 'Calendar' (records: 60)
    Database: 0x7c 'Address Book - All' (records: 151)
    Database: 0x7d 'PIM Folder List - All' (records: 0)
    Database: 0x7e 'Secure Credentials - All' (records: 0)
    Database: 0x7f 'Calendar - All' (records: 69)

“btool” permits also to parse the data bases content. To show the data bases whom you can parse the content :

[nicolas@Dahlia nicolas]$ btool -S
Supported Database parsers:
 (* = can display in vformat MIME mode)
   Address Book *
   Browser Bookmarks
   Calendar *
   Calendar - All
   Content Store
   Folders
   Memos *
   Messages
   Phone Call Logs
   PIN Messages
   Saved Email Messages
   Service Book
   SMS Messages
   Tasks *
   Time Zones

Supported Database builders:
   Address Book
   Calendar
   Calendar - All
   Content Store
   Memos
   Tasks

“btool” can read and write data. Some data types can be shown in a standard format (contacts, meeting, notes, tasks…)

Some samples…

To show a data base :

[nicolas@Dahlia nicolas]$ btool -d "Calendar - All"

To parse the same data base :

[nicolas@Dahlia nicolas]$ btool -V -d "Calendar - All"

Note : the data can be used with an other applications.

To remove all the entries from a data base :

[nicolas@Dahlia nicolas]$ btool -a "Calendar - All"

barrybackup

“barrybackup” is a graphical tool to save or restore your data. This tool is very easy
to use. You have two screens to select the data base to save or to restore.

bjavaloader

“bjavaloader” is an other tool to manage your applications for your BlackBerry.
It’s an alternative to “javaloader.exe” provided by RIM.

[nicolas@Dahlia nicolas]$ bjavaloader -h
bjavaloader - Command line USB Blackberry Java Loader
        Copyright 2008-2009, Nicolas VIVIEN.
        Copyright 2005-2010, Net Direct Inc. (http://www.netdirect.ca/)
        Using: Barry library version 0.17 (little endian)

   -A        Save all modules found
   -a        Wipe applications only
   -i        Wipe filesystem only
   -f        Force erase, if module is in use
   -h        This help
   -s        List sibling in module list
   -p pin    PIN of device to talk with
             If only one device is plugged in, this flag is optional
   -P pass   Simplistic method to specify device password
   -v        Dump protocol data during operation

commands

   dir [-s]
      Lists modules on the handheld

   deviceinfo
      Provides information on the handheld

   load <.cod file> ...
      Loads modules onto the handheld

   save [-A]  ...
      Retrieves modules from the handheld and writes to .cod file
      Note: will overwrite existing files!

   wipe [-a | -i]
      Wipes the handheld
      Use Caution: Wiping filesystem will remove all data
                   such as messages, contacts, etc.
                   Wiping applications will remove all .cod files
                   on the device, including OS .cod files.

   resettofactory
      Reset IT policy to factory defaults
      Use Caution: Resetting IT policy to factory defaults will
                   also perform a filesystem wipe which will remove
                   all data such as messages, contacts, etc.

   erase [-f]  ...
      Erase module from handheld

   eventlog
      Retrieves the handheld event log

   cleareventlog
      Clears the handheld event log

   logstacktraces
      Dump the stack traces for all threads to the event log

   screenshot <.bmp file>
      Make a screenshot of handheld

   settime [yyyy-mm-dd HH:MM:SS]
      Sets the time on the handheld to the current time
      Or the time specified as an argument to settime
      If given as argument, current system timezone is assumed

Some using samples…

To make a screenshot :

[nicolas@Dahlia nicolas]$ bjavaloader screenshot screen.bmp

To install a new application :

[nicolas@Dahlia nicolas]$ bjavaloader load MobileLevel.cod

To save an application :

[nicolas@Dahlia nicolas]$ bjavaloader save MobileLevel.cod

To list all the applications :

[nicolas@Dahlia nicolas]$ bjavaloader dir

btardump

“btardump” is a tool to read the backup files generated by “barrybackup”.

[nicolas@Dahlia nicolas]$ btardump -h
btardump - Command line parser for Barry backup files
           Copyright 2010, Net Direct Inc. (http://www.netdirect.ca/)
           Using: Barry library version 0.17 (little endian)

   -d db     Name of database to dump.  Can be used multiple times
             to parse multiple databases at once.  If not specified
             at all, all available databases from the backup are
             dumped.
   -h        This help
   -i cs     International charset for string conversions
             Valid values here are available with 'iconv --list'
   -V        Dump records using MIME vformats where possible

   [files...] Backup file(s), created by btool or the backup GUI.

Some using samples…

To show a data base :

[nicolas@Dahlia nicolas]$ btardump -d "Calendar - All" ~/.barry/12345678-20101230-202230.tar.gz

To parse the same data base :

[nicolas@Dahlia nicolas]$ btardump -V -d "Calendar - All" ~/.barry/12345678-20101230-202230.tar.gz

Note : the data can be used with an other applications.

balxparse

“balxparse” builds from a RIM OS a list with each applications that you can use on your BlackBerry device.

[nicolas@Dahlia nicolas]$ balxparse -h
balxparse - Command line ALX parser
        Copyright 2009-2010, Nicolas VIVIEN.
        Copyright 2005-2010, Net Direct Inc. (http://www.netdirect.ca/)
        Using: Barry library version 0.17 (little endian)

   -h        This help
   -i lang   Internationalization language
   -d path   OS path with all ALX files
   -o file   OS ALX filename (Platform.alx)

    ...
     Parse one or several ALX files.

   Language supported :
	en : English      ar : Arabic       ca : Catalan      cs : Czech        
	de : German       sp : Spanish      fr : French       he : Hebrew       
	hu : Hungarian    it : Italian      ja : Japanese     ko : Korean       

Samples :

[nicolas@Dahlia nicolas]$ balxparse -i fr -d \
~/WINE/Program\ Files/Fichiers\ communs/Research\ In\ Motion/Shared/Loader\ Files/9800M_v6.0.0.246_P6.4.0.105

You can read a “.alx” file:

[nicolas@Dahlia nicolas]$ balxparse -i fr MobileLevel.alx

bio

“bio” is a new tool that treats devices, backups, and data streams as input and output.
This tool combines a lot of the functionality of btool, btardump, brecsum, and bs11nread, but does it more
flexibly, and improves functionality in some cases, such as Boost archives being able to contain more than
one database.

[nicolas@Dahlia nicolas]$ bio -h
bio - Barry Input / Output
      Copyright 2010, Net Direct Inc. (http://www.netdirect.ca/)
      Using: Barry library version 0.17 (little endian)
      Compiled without Boost support

 Usage:  bio -i  [options...]   -o  [options...]

   -i type   The input type (Builder) to use for producing records
             Can be one of: device, tar, ldif, mime
   -o type   The output type (Parser) to use for processing records.
             Multiple outputs are allowed, as long as they don't
             conflict (such as two outputs writing to the same file
             or device).
             Can be one of: device, tar, ldif, mime, dump, sha1, cstore

 Options to use for 'device' type:
   -d db     Name of input database. Can be used multiple times.
   -A        Add all available device databases, instead of specifying
             them manually via -d
   -p pin    PIN of device to talk to
             If only one device is plugged in, this flag is optional
   -P pass   Simplistic method to specify device password
   -w mode   Set write mode when using 'device' for output.  Must be
             specified, or will not write anything.
             Can be one of: erase, overwrite, addonly, addnew

 Options to use for 'tar' backup type:
   -d db     Name of input database. Can be used multiple times.
             Not available in output mode.  Note that by default,
             all databases in the backup are selected, when reading,
             unless at least one -d is specified.
   -f file   Tar backup file to read from or write to

 Options to use for 'ldif' type:
   -c dn     Convert address book database to LDIF format, using the
             specified baseDN
   -C dnattr LDIF attribute name to use when building the FQDN
             Defaults to 'cn'

 Options to use for 'mime' type:
   -f file   Filename to read from or write to.  Use - to explicitly
             specify stdin/stdout, which is default.

 Options to use for 'dump' to stdout output type:
   -n        Use hex dump parser on all databases.

 Options to use for 'sha1' sum stdout output type:
   -t        Include DB Name, Type, and Unique record IDs in the checksums

 Options to use for 'cstore' output type:
   -l        List filenames only
   -f file   Filename from the above list, including path.
             If found, the file will be written to the current
             directory, using the base filename from the device.

 Standalone options:
   -h        This help
   -I cs     International charset for string conversions
             Valid values here are available with 'iconv --list'
   -S        Show list of supported database parsers and builders
   -v        Dump protocol data during operation

As “btool”, “bio” can parse data read :

[nicolas@Dahlia nicolas]$ bio -S
Supported Database parsers:
 (* = can display in vformat MIME mode)
   Address Book *
   Browser Bookmarks
   Calendar *
   Calendar - All
   Content Store
   Folders
   Memos *
   Messages
   Phone Call Logs
   PIN Messages
   Saved Email Messages
   Service Book
   SMS Messages
   Tasks *
   Time Zones

Supported Database builders:
   Address Book
   Calendar
   Calendar - All
   Content Store
   Memos
   Tasks

Some samples :

To read backup :

[nicolas@Dahlia nicolas]$ bio -i tar -f ~/.barry/2377cea5-20101230-202230.tar.gz -d "Calendar" -o dump

To read backup with mime parsing :

[nicolas@Dahlia nicolas]$ bio -i tar -f ~/.barry/2377cea5-20101230-202230.tar.gz -d "Calendar" -o mime

And from the BlackBerry device :

[nicolas@Dahlia nicolas]$ bio -i device -d "Calendar" -o dump

or :

[nicolas@Dahlia nicolas]$ bio -i device -d "Calendar" -o mime

To save data :

[nicolas@Dahlia nicolas]$ bio -i device -d "Calendar" -o tar -f calendar.tar.gz

To copy the data from a device to an other device :

[nicolas@Dahlia nicolas]$ bio -i device -p 3009efe3 -d "Calendar" -o device -p 204062f3 -w erase -o dump

To update a database :

[nicolas@Dahlia nicolas]$ bio -i device -d "Calendar" -o mime > /tmp/calendar.vcf
[nicolas@Dahlia nicolas]$ gedit /tmp/calendar.vcf
[nicolas@Dahlia nicolas]$ bio -i mime -f /tmp/calendar.vcf -o device -w erase

bfuse

This entry was posted in BlackBerry and tagged , , . Bookmark the permalink.

20 Responses to Barry using

Leave a Reply to Naveen Cancel reply

Your email address will not be published. Required fields are marked *