[XAP] SMSBackup V0.9, Backup & Export SMS/MSN/Facebook Messages [Updated 2012-05-19]

Search This thread

shinichi_wtn

Senior Member
Jun 25, 2009
58
81
Beijing
[XAP] SMSBackup V0.9, Backup & Export SMS/MSN/Facebook Messages [Updated 2012-05-19]

[Introduction]

Thunder_ in XDA have found that windows phone itself has a backup mechanism, it may backup messages on a regular basis, and store it at "\Application Data\Microsoft\Outlook\BackupVols\CommsBackup.xml" (see this link), so we can take the file, extract it and then we get our messages. Before version 0.7, the app automatically copy the "CommsBackup.xml" to IsolateStorage and extract them to readable sms.

Since CommsBackup.xml is generated by the system, we can't controll it. We often get only part of our messages because CommsBackup.xml doesn't contain newest ones.

The sms/msn(also many other datas) in Windows Phone actually stored at "\Application Data\Microsoft\Outlook\Stores\DeviceStore\store.vol". It is an EDB database. We can use native EDB API to explore and extract it. From Version 0.7, the app use this way to extract our messages and will never rely on CommsBackup.xml anymore:)

[Compatibility]

The app should be compatible with devices supported by WP7 Root Tools(need to mark the app as Trusted)
Also support fully-unlocked phones

[Features]

1. Automatically extract messages in store.vol, can sort messages by conversation or by sending time, can filter messages by contact, start/end date and keyword.
2. Export messages in txt/xml/csv format to IsolateStorage or SkyDrive.
If you export messages to IsolateStorage, you can use any IsolateStorage tool to download them to your computer.(The ID of this app is 09125ea9-95de-469a-aedc-22e35389ab0a);
If you export messages to SkyDrive, they will be uploaded to your SMS folder in SkyDrive(The folder is private, thus "just me")
3. Backup and restore "store.vol" and "PimIndex.vol", you can backup these two files before you flashing ROM and restore it later. This will keep your messages and contacts remain the same.(This feature is for professional users only)

[Versions History]

V0.9
1. Reduce memory usage(tested with 100,000 messages)
2. Speed up message importing process(faster than previous versions)
3. Add csv export option
4. Facebook messages will show Facebook friend's name(not the ID number in v0.8)
5. Switch backup mode(SMS or MSN) in Setting page.
V0.8
1. Add feature to backup MSN messages. You can switch backup mode(SMS or MSN) in the menu bar
2. Change UI of message list, looks more Metro now.
3. Improve contact identify algorithm.
4. Optimize the compatibility with WP7 Root Tools.
V0.7
1. Extract sms from store.vol directly, now you can backup and export all short messages and will never rely on CommsBackup.xml.
2. Optimize for fully-unlocked ROMs. If your phone is fully-unlocked, the app read store.vol directly; If your phone is interop-unlocked but not fully-unlocked, the app will copy store.vol to IsolateStorage and then read store.vol(because directly mount store.vol will cause Access Denied exception)
3. Add more setting options and remove exit confirm.
V0.6
1. Add support to backup and restore both store.vol and PimIndex.vol.
2. Increase max waiting time for file operation to 15 seconds(older version is 6 seconds). This may help those who have very big CommsBackup.xml or store.vol(>10MB)
3. In order to find how WP store contact's index in PimIndex.vol, I add a test feature(Click "test" in the menu bar) and need your feedbacks. Thanks!
V0.5
1. Add feature to export filtered messages. You can enable this in setting page.
2. Simplify setting page, no "save" button now.
3. Fix a bug in V0.4 which may show "import error: Value Does not fall within the expected range" when the app starts.
V0.4
1. Integrated with phone's contacts. For each message, the app will show contact's name if the phone number exists in any of the contacts, otherwise it will show pure number as before.
2. Add feature to filter sms. You can filter messages by contact, begin/end date and keyword. This will allow you search sms more quickly.
3. Add feature to restore system sms database store.vol, you can restore all sms and contacts after you flashing rom
4. Fix a bug when uploading txt to SkyDrive, the text document sometimes become incomplete or even blank.
Known bugs: Under certain conditions, it may show "import error: Value Does not fall within the expected range"
V0.3
1. Add double-language support(both en-US and zh-CN)
2. Fix the bug in V0.2 that the app may crash when uploading sms to SkyDrive
Known bugs: When uploading txt to SkyDrive, the text document sometimes become incomplete or even blank
V0.2
1. Add feature to export txt format
2. Add feature to upload sms to SkyDrive(some guys think IsolateStorage is not convenient)
3. Add feature to Backup system database "store.vol"
4. Fix some bugs that do not automatically update sms
Known bugs: the app may crash when uploading sms to SkyDrive

[Tutorial - How to backup and restore your sms]

The sms and contacts information(also many other datas) actually stored at "\Application Data\Microsoft\Outlook\Stores\DeviceStore\store.vol". To backup and restore this file will keep our text messages remain the same. Also, there is a file in the same folder named PimIndex.vol which contains contacts' indexes. WP use it to search contacts. So you must also backup and restore this file.

Below is the methods:
1. Open SMSBackup app(version>=0.6), go to "Export & Backup" page, navigate to "Backup", there are two buttons for backup and two buttons for restore.
2. Click "Backup store.vol" button to backup "store.vol", then the file will be copied to "BackupVols/store.vol" in IsolateStorage, you can use any IsolateStorage tool to download it to your computer(the same with PimIndex.vol).
3. When you need to restore sms and contacts(for example, after flashing a new ROM), you find the store.vol and PimIndex.vol you have already backup in your computer, use IsolateStorage tool to upload the two files to BackupVols folder.
4. Open SMSBackup app and navigate to the same page in step 1. Click "Restore store.vol" button, then click "Restore PimIndex.vol". When both have executed. Restart your phone immediately.
Important Note(Updated 25/2/2012): If you flash a new ROM, please add/sync live account first and then restore store.vol and PimIndex.vol; After restoring, sync again. If you failed in this way, you can restore store.vol and PimIndex.vol first and then add/sync live account. Since we do not know how WP manage accounts and other infos, so different problems may happen after restoring. Feedbacks and suggestions on restoring feature are welcome.

Important Note: the restore feature in version 0.5 is not perfect. It can restore all text messages and contacts successfully. But you may encounter the problem with searching contacts or wrong profile pictures in the People Hub. Thanks to the feedbacks by kahiro, 2new, AshleyT. The reason is that we haven't backup and restore PimIndex.vol. Now I'm researching on how WP store contact's index. I think we can modify this file to add indexes by ourselves. every contact is a 12 bytes in PimIndex.vol. I don't know what it means. If you can help me, please open SMSBackup V0.6, Click "test" in the menu bar to navigate to a new page, then click "Get Contact Index Format" button and reply the format string it shows(for example 01-00-00-00-02-00-07-00-8E-00-00-00). Thanks!

There are some users say the app may crash when login or upload to SkyDrive while some others do not have this problem. I use Microsoft Live SDK to connect to SkyDrive, I do not know if the SDK have some compatibility issues. I'll continue to find if there is anything wrong. Thanks for your feedbacks.

At last, thanks to Thunder__ who find the CommsBackup.xml file and endeffekt who find the store.vol file (see http://forum.xda-developers.com/showthread.php?t=1072796); Thanks to the DiagProvXML app, I use the COM libraries to copy native files in early versions. Thanks Heathcliff74's wonderful guide on native code. Thanks to GoodDayToDie, he gave me good suggestions and idea.


Early versions download stats
V0.3 - 1897 views
V0.4 - 830 views
V0.5 - 1922 views
V0.6 - 1322 views
 

Attachments

  • SMSBackup2.jpg
    SMSBackup2.jpg
    83 KB · Views: 11,092
  • SMSBackup4.jpg
    SMSBackup4.jpg
    92.3 KB · Views: 9,561
  • SMSBackup5.jpg
    SMSBackup5.jpg
    73.4 KB · Views: 8,788
  • SMSBackup1.jpg
    SMSBackup1.jpg
    199.6 KB · Views: 6,797
Last edited:

NebZoNe

Senior Member
Mar 21, 2011
379
67
Paris (suburbs)
soundcloud.com
hi shinichi, be thankfull for that backup app, more backup tools are always welcomed with wp7 devices!!
A little question, how do i manage to have it in english? it installs in chinese by default on my french hd7...

Edit: the attached thumbnails is the solution...wasn't able to find "settings"...

Thanks again!
 
Last edited:

shinichi_wtn

Senior Member
Jun 25, 2009
58
81
Beijing
The app attatched in this thread should be installed in English by default(also with English Title). If not, you can change the language to English through attached thumbnails and restart the app :)
 
Last edited:

GoodDayToDie

Inactive Recognized Developer
Jan 20, 2011
6,066
2,932
Seattle
Short version: No, not on Mango or later.

Longer version: why would you expect that? Sandboxed apps can only read three locations on the phone: their install location, the Windows folder, and their data location (also writable). They can't read "\Application Data\Microsoft\Outlook\BackupVols\CommsBackup.xml" or any other path outside of their sandboxes.

ID_CAP_INTEROPSERVICES allows an app to call into a high-privilege component, such as a driver. The driver can then do things for the app without the restriction of the sandbox. However, since Mango, homebrew apps with ID_CAP_INTEROPSERVICES can't be installed or run unless you are interop-unlocked.
 
Last edited:

cmiuc

Member
May 1, 2011
37
1
Thank you very much!

I have shared this with the community... with credit to you and XDA, maybe also drum up some votes to stop the closure of XDA...

Great features.
 

Thornton

Member
Apr 26, 2008
12
0
Import failed

As soon as the app launches i get a "Import failed. The specified network resource or device is no longer available"

Im on a Samsung Focus Flash/Omnia W - and im 99% sure its INTEROP-unlocked. Any good way to confirm this?

Thornton
 
Last edited:

poloche

Senior Member
Jul 17, 2009
367
182
As soon as the app launches i get a "Import failed. The specified network resource or device is no longer available"

Im on a Samsung Focus Flash/Omnia W - and im 99% sure its INTEROP-unlocked. Any good way to confirm this?

Thornton

99% Why ?? ... If you can instal WP7 Root Tools or DiagProvXML, your device is 100% InterOP-Unlocked lol
If not... only Dev-Unlocked !
 

DJSave

Senior Member
Oct 27, 2011
315
123
Tbilisi
Samsung Focus 1.3 v8107 Interop Unlocked: Works like a Charm! thanks :)
I used backup, upload to skydrive, evrything forks fine, I can read me txt sms backup on PC :)

nice job
now I need isostorage tool to get contacts
 

Top Liked Posts

  • There are no posts matching your filters.
  • 60
    [XAP] SMSBackup V0.9, Backup & Export SMS/MSN/Facebook Messages [Updated 2012-05-19]

    [Introduction]

    Thunder_ in XDA have found that windows phone itself has a backup mechanism, it may backup messages on a regular basis, and store it at "\Application Data\Microsoft\Outlook\BackupVols\CommsBackup.xml" (see this link), so we can take the file, extract it and then we get our messages. Before version 0.7, the app automatically copy the "CommsBackup.xml" to IsolateStorage and extract them to readable sms.

    Since CommsBackup.xml is generated by the system, we can't controll it. We often get only part of our messages because CommsBackup.xml doesn't contain newest ones.

    The sms/msn(also many other datas) in Windows Phone actually stored at "\Application Data\Microsoft\Outlook\Stores\DeviceStore\store.vol". It is an EDB database. We can use native EDB API to explore and extract it. From Version 0.7, the app use this way to extract our messages and will never rely on CommsBackup.xml anymore:)

    [Compatibility]

    The app should be compatible with devices supported by WP7 Root Tools(need to mark the app as Trusted)
    Also support fully-unlocked phones

    [Features]

    1. Automatically extract messages in store.vol, can sort messages by conversation or by sending time, can filter messages by contact, start/end date and keyword.
    2. Export messages in txt/xml/csv format to IsolateStorage or SkyDrive.
    If you export messages to IsolateStorage, you can use any IsolateStorage tool to download them to your computer.(The ID of this app is 09125ea9-95de-469a-aedc-22e35389ab0a);
    If you export messages to SkyDrive, they will be uploaded to your SMS folder in SkyDrive(The folder is private, thus "just me")
    3. Backup and restore "store.vol" and "PimIndex.vol", you can backup these two files before you flashing ROM and restore it later. This will keep your messages and contacts remain the same.(This feature is for professional users only)

    [Versions History]

    V0.9
    1. Reduce memory usage(tested with 100,000 messages)
    2. Speed up message importing process(faster than previous versions)
    3. Add csv export option
    4. Facebook messages will show Facebook friend's name(not the ID number in v0.8)
    5. Switch backup mode(SMS or MSN) in Setting page.
    V0.8
    1. Add feature to backup MSN messages. You can switch backup mode(SMS or MSN) in the menu bar
    2. Change UI of message list, looks more Metro now.
    3. Improve contact identify algorithm.
    4. Optimize the compatibility with WP7 Root Tools.
    V0.7
    1. Extract sms from store.vol directly, now you can backup and export all short messages and will never rely on CommsBackup.xml.
    2. Optimize for fully-unlocked ROMs. If your phone is fully-unlocked, the app read store.vol directly; If your phone is interop-unlocked but not fully-unlocked, the app will copy store.vol to IsolateStorage and then read store.vol(because directly mount store.vol will cause Access Denied exception)
    3. Add more setting options and remove exit confirm.
    V0.6
    1. Add support to backup and restore both store.vol and PimIndex.vol.
    2. Increase max waiting time for file operation to 15 seconds(older version is 6 seconds). This may help those who have very big CommsBackup.xml or store.vol(>10MB)
    3. In order to find how WP store contact's index in PimIndex.vol, I add a test feature(Click "test" in the menu bar) and need your feedbacks. Thanks!
    V0.5
    1. Add feature to export filtered messages. You can enable this in setting page.
    2. Simplify setting page, no "save" button now.
    3. Fix a bug in V0.4 which may show "import error: Value Does not fall within the expected range" when the app starts.
    V0.4
    1. Integrated with phone's contacts. For each message, the app will show contact's name if the phone number exists in any of the contacts, otherwise it will show pure number as before.
    2. Add feature to filter sms. You can filter messages by contact, begin/end date and keyword. This will allow you search sms more quickly.
    3. Add feature to restore system sms database store.vol, you can restore all sms and contacts after you flashing rom
    4. Fix a bug when uploading txt to SkyDrive, the text document sometimes become incomplete or even blank.
    Known bugs: Under certain conditions, it may show "import error: Value Does not fall within the expected range"
    V0.3
    1. Add double-language support(both en-US and zh-CN)
    2. Fix the bug in V0.2 that the app may crash when uploading sms to SkyDrive
    Known bugs: When uploading txt to SkyDrive, the text document sometimes become incomplete or even blank
    V0.2
    1. Add feature to export txt format
    2. Add feature to upload sms to SkyDrive(some guys think IsolateStorage is not convenient)
    3. Add feature to Backup system database "store.vol"
    4. Fix some bugs that do not automatically update sms
    Known bugs: the app may crash when uploading sms to SkyDrive

    [Tutorial - How to backup and restore your sms]

    The sms and contacts information(also many other datas) actually stored at "\Application Data\Microsoft\Outlook\Stores\DeviceStore\store.vol". To backup and restore this file will keep our text messages remain the same. Also, there is a file in the same folder named PimIndex.vol which contains contacts' indexes. WP use it to search contacts. So you must also backup and restore this file.

    Below is the methods:
    1. Open SMSBackup app(version>=0.6), go to "Export & Backup" page, navigate to "Backup", there are two buttons for backup and two buttons for restore.
    2. Click "Backup store.vol" button to backup "store.vol", then the file will be copied to "BackupVols/store.vol" in IsolateStorage, you can use any IsolateStorage tool to download it to your computer(the same with PimIndex.vol).
    3. When you need to restore sms and contacts(for example, after flashing a new ROM), you find the store.vol and PimIndex.vol you have already backup in your computer, use IsolateStorage tool to upload the two files to BackupVols folder.
    4. Open SMSBackup app and navigate to the same page in step 1. Click "Restore store.vol" button, then click "Restore PimIndex.vol". When both have executed. Restart your phone immediately.
    Important Note(Updated 25/2/2012): If you flash a new ROM, please add/sync live account first and then restore store.vol and PimIndex.vol; After restoring, sync again. If you failed in this way, you can restore store.vol and PimIndex.vol first and then add/sync live account. Since we do not know how WP manage accounts and other infos, so different problems may happen after restoring. Feedbacks and suggestions on restoring feature are welcome.

    Important Note: the restore feature in version 0.5 is not perfect. It can restore all text messages and contacts successfully. But you may encounter the problem with searching contacts or wrong profile pictures in the People Hub. Thanks to the feedbacks by kahiro, 2new, AshleyT. The reason is that we haven't backup and restore PimIndex.vol. Now I'm researching on how WP store contact's index. I think we can modify this file to add indexes by ourselves. every contact is a 12 bytes in PimIndex.vol. I don't know what it means. If you can help me, please open SMSBackup V0.6, Click "test" in the menu bar to navigate to a new page, then click "Get Contact Index Format" button and reply the format string it shows(for example 01-00-00-00-02-00-07-00-8E-00-00-00). Thanks!

    There are some users say the app may crash when login or upload to SkyDrive while some others do not have this problem. I use Microsoft Live SDK to connect to SkyDrive, I do not know if the SDK have some compatibility issues. I'll continue to find if there is anything wrong. Thanks for your feedbacks.

    At last, thanks to Thunder__ who find the CommsBackup.xml file and endeffekt who find the store.vol file (see http://forum.xda-developers.com/showthread.php?t=1072796); Thanks to the DiagProvXML app, I use the COM libraries to copy native files in early versions. Thanks Heathcliff74's wonderful guide on native code. Thanks to GoodDayToDie, he gave me good suggestions and idea.


    Early versions download stats
    V0.3 - 1897 views
    V0.4 - 830 views
    V0.5 - 1922 views
    V0.6 - 1322 views
    3
    Working fine on NextGen+ ROM, HD7.

    I'm wipping together a small tool to read the exported txt files.
    Should be finished soon

    RY7ua.jpg
    2
    THX for your useful reply. I know there are some problems with LG ProvXML. I hope and wait for the next version of SMSBackup. So you suggest to backup these files manually. Is it possibile with WP7 Root Tools ? Can you write me the path of these two files ? THX in advance ;)

    Path of the two files:
    \Application Data\Microsoft\Outlook\Stores\DeviceStore\store.vol
    \Application Data\Microsoft\Outlook\Stores\DeviceStore\PimIndex.vol

    Now new version(V0.8) is available, you can try this version to backup these two files. Let me know if it works.
    2
    GoodDayToDie,

    Thanks for pointing that out.
    Both the phones are mine & both have been registered with the same WLID.
    I wanted to test restoring SMS from my primary device (HD7) to the Samsung Focus. Both of these are currently running DFT Freedom ROMs.
    Perhaps I understood wrongly where the IsolateStorage actually is.
    I use WMDC enabler to browse the phone's storage & made manual backups from the HD7 & copied them to the Samsung Focus.
    Is that correct?

    Konker

    Yes. Before you restore, you should install and open SMSBackup app first. Then you can use any IsolateStorage tool to upload your backup store.vol and PimIndex.vol to BackupVols folder of my app's IsolateStorage(09125ea9-95de-469a-aedc-22e35389ab0a).

    I've attach an image to show where you should put your backup files, hope you understand.
    2
    Tester needed

    Update to version 0.6. This version allows you backup and restore both store.vol and PimIndex.vol.

    Now I'm researching on how WP store contact's index in PimIndex.vol. Every contact appears in the database is a fixed length array of byte. The length is 12. For example 01-00-00-00-02-00-07-00-8E-00-00-00.

    Now, I find that 8E(142) is the unique ID of the corresponding contact(in Contact table of store.vol). But I am not sure that every phone is the same. Also, if the contact's ID is larger than 256, for example 257(I only have 200 contacts...), how the array will like to be. 01-00-00-00-02-00-07-01-01-00-00-00 or 01-00-00-00-02-00-07-00-01-01-00-00 or something else...

    So I add a test feature in v0.6(Click "test" in the menu bar). I need your feedbacks, thanks!