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)
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
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.)
Extract this archive (Whatsapp_Xtract....zip) to a certain folder on your computer, e.g. C:\WhatsApp.
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)
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!): http://www.voidspace.org.uk/python/m...shtml#pycrypto
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:
COMMAND LINE OPTIONS:
For Android DB:
python whatsapp_xtract.py msgstore.db -w wa.db
OR (if wa.db is unavailable)
python whatsapp_xtract.py msgstore.db
OR (for crypted db)
python whatsapp_xtract.py msgstore.db.crypt
For iPhone DB: (-w option is ignored)
python whatsapp_xtract.py 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.