Saturday, 12 April 2014

[TOOL] Whatsapp Xtract: Backup Messages Extractor / Database Analyzer / Chat-Backup

Have you ever wanted to 
- have a useful backup of your whatsapp chats?
- be able to read your whatsapp chats again using a backup file?
- delete the grown-too-big message history of whatsapp without losing the possibility to read the old conversations?
read older messages without the need of endlessly pressing the annoying "load older messages" button?
- be able to search old messages?
- ...?

Here is a little Tool to display whatsapp chats on your computer, using the database files from your android installation of whatsapp.

It's called WhatsApp Xtract and was created by Fabio Sangiacomo and me.
(careful, the downloads on google code are outdated! Please use the download links provided here)

Preview of the result:

So here is WhatsApp Xtract v2.2
Released on November 17th, 2012
Last Update on November 17th, 2012 (v2.2)

Tested with Whatsapp (Android) 2.8.5732
Tested with Whatsapp (iPhone) 2.5.1


v2.2 (updated by Martina Weidner - Nov 17, 2012)
- now supports new emoji smileys
- (Android Version) hotfix for TypeError in b64encode
- (Android Version) decoded file won't be deleted even if it can't be opened

v2.1 (updated by Fabio Sangiacomo and Martina Weidner - May 7th, 2012)
- improved install pyCrypto.bat
- added easy drag and drop possibility with whatsapp_xtract_drag'n'drop_database(s)_here.bat
- (Android Version) added support to fix corrupted android whatsapp database (needs sqlite3, for windows sqlite3.exe is contained in the archive)
- (Android Version) removed wrong extraction of owner in android version
- (Iphone Version) information from Z_METADATA table will be printed to shell
- (Iphone Version) fixed bug in support of older Iphone whatsapp databases

V2.0 (updated by Fabio Sangiacomo and Martina Weidner - Apr 28, 2012)
- supports WhatsApp DBs coming from both Android and iPhone platforms
- (Android Version) wa.db is optional
- (Android Version) now also crypted msgstore.db.crypt from the SD card can be imported
- chat list is sorted by the last sent message
- fixed some bugs (e.g. that the script didn't work with python 3)

How to use:
1 Download whatsaap Xtract, and unzip to a folder. I have put it on the desktop for quick reference.

2 From my smartphone copy the file (msgstore.db.crypt) in the folder where you unzipped whatsaap Xtract

3 Download and Install Active Python

4 º Run install pyCrypto.bat (Contained in the tool archive) wait till pycrypto module is installed.

Alternatively: go to windows start menu, Then folder "ActiveState ActivePython" Then run "Python Package Manager (PyPM)"

5 In the Opened DOS window, type: install pypm pycrypto

6 Python and PyCrypto should be installed. After this you can use the tool.

7 th Run whatsapp_xtract_crypted.bat

8 th Great. It works perfect.


  1. You need to copy the whatsapp database.

    On Android, either get this file:

    (crypted database on SD card, can be created by starting backup from whatsapp advanced settings: settings - more - Backup Chats)

    or these files:
    /data/data/com.whatsapp/databases/msgstore.db and wa.db
    (for this you need root access. detailed instructions in the bottom of this file. the advantage is that the corresponding contact names of phone numbers will be displayed.)

    On IPhone, get this file:

    (You can use an Iphone Backup Tool to get the file, e.g. I-Twin or Iphone Backup Extractor. Make sure to create an unencrypted backup with Itunes, as these tools can't handle encrypted backups. Another possibility are forensic tools like UFED Physical Analyzer.)
  2. Extract this archive ( to a certain folder on your computer, e.g. C:\WhatsApp.
  3. Copy the database(s) to e.g. C:\WhatsApp (on Android, you simply copy the whole folder WhatsApp on SD card to your computer e.g. to C:\WhatsApp and then copy the database file from C:\WhatsApp\Databases to C:\WhatsApp)
  4. You need Python and (for Android msgstore.db.crypt decryption) the PyCrypto library

    The easiest way is to install ActivePython 
    !! on Windows choose 32bit/x86 version even if you have 64bit windows (if not you will get an "requires Business Edition subscription" error!):
    It's available for Windows, Linux and Mac. However in my HowTo, I focus on Windows.

    and then run !install pyCrypto.bat (contained in this archive. The best is to rightclick on it and choose "run as administrator".)

    If you have troubles installing pyCrypto this way, then please try to install it using an installation package from this site (Thanks, andcha!):
  5. Now run whatsapp_xtract_android.bat or whatsapp_xtract_android_crypted.bat or whatsapp_xtract_iphone.bat

    OR simply drag and drop the database file(s) to whatsapp_xtract_drag'n'drop_database(s)_here.bat

    OR whatsapp_xtract_console.bat and then manually specify the input file with one of these commands:


    For Android DB:
    python msgstore.db -w wa.db
    OR (if wa.db is unavailable)
    python msgstore.db
    OR (for crypted db)
    python msgstore.db.crypt

    For iPhone DB: (-w option is ignored)
    python ChatStorage.sqlite
    Once finished, your browser will open and show the chats.
    The resulting file size of the .html file will be slightly bigger than the size of the .db database.

Attachment: (~ 1,8 MB)
!install pyCrypto.bat
folder: data
samples of needed input files and Media folder

Download link

No comments:

Post a Comment