I still have a perfectly working Windows Mobile PDA-phone. I use a program called PIM Backup to make backups of the databases such as calls, SMSes (text messages), contacts, calendar, …. The program can generate either a binary backup, or a more readable backup. I use the latter one, so I could unpack the backup on my desktop computer and use it as an archive. The generated backup files have a .pib extension. The file itself is a ZIP-file containing the different parts of the backup (calls, contacts, …) as separate files.
The text messages (SMS)
The text messages are in the file “msgs_
Msg Id;Sender Name;Sender Address;Sender AddressType;Prefix;Subject;Body;BodyType;Folder;Account; Msg Class;Content Length;Msg Size;Msg Flags;Msg Status;Modify Time;Delivery Time;Recipient Nbr; Recipients;Attachment Nbr;Attachments
I didn’t figure out what exactly every field means, but here are my findings:
- Folder “\%MDF1” is Inbox; “\%MDF3” is Sent
- The Time fields are encoded “YYYY,MM,DD,hh,mm,ss”
- Recipients contains a series of fields; the second and third seem to be name and number, I didn’t identify the others.
I use this perl script to convert from the messages inside the PIB file to a Maildir-like structure, writing an email-like file for every message in the backup:
From: +32496______
To: <>
Date: 01 Jan 2009 00:07:32
Subject: SMS
Content-Type: text/plain; charset=UTF8___ message ___
I usually just drop this folder into my IMAP-mailserver directory and browse my SMSes using Thunderbird.
The call log
The format is similar to the text messages: an UTF-16 CSV file but this time without an helpful header. I also wrote a perl script which converts this to a standard CSV-file with headers. There is some documentation inside the script on the fields I figured out.