CHANGELOG 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 encrypted 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)
Some Additional Information :
SQLITE Editor
You also can open the “msgstore.db” and “wa.db” using SQLite Database Browser ( http://sqlitebrowser.sourceforge.net/ ).
However it is much more confusing and the messages are ordered by date, not by conversations. Also you won’t see the smileys and media files…
MEDIA FILES
If you want to watch the videos, audio, and images, you can click on the thumbnails and media links. Popups should open displaying the media.
However, online media files are available only for the last ~ 3 weeks.
But you still can open the offline media files, they are linked as well.
For this it is necessary to copy the folder “Media” from /sdcard/Whatsapp (Android) or net.whatsapp.WhatsApp (Iphone) to the certain folder of your computer where this tool is installed.
ROOT ACCESS TO UNENCRYPTED WHATSAPP DATABASE (Android version only)
If you want to have the contact names displayed and not only phone numbers, then (Android version only) you need the file wa.db from the internal storage.
For that you need to get access to the folder
/data/data/com.whatsapp/databases
For that you need root access.
For rooting, the tool Superoneclick Root might be useful:
http://forum.xda-developers.com/showthread.php?t=803682
Then you can copy the files “msgstore.db” and “wa.db” to your computer by
– using the App RootExplorer (first copy to SD, then mount phone to computer)
– or using adb: open cmd and type “adb pull /data/data/com.whatsapp/databases/msgstore.db C:\Whatsapp” (replace C:\Whatsapp by the location of the certain folder of your computer)
– or using the app Titanium Backup. Use Titanium Backup to backup the full whatsapp application together with its data, copy the backup from the folder “TitaniumBackup” on the SD card to your PC, then extract the files “wa.db” and “msgstore.db” that you will find inside the Titanium Backup archive “com.whatsapp-[Date]-[some digits].tar.gz” to the certain folder.
– or using some app like AirDroid or Webkey to access files over wifi using the PC webbrowser
HOW TO USE:
(see also the thread at xda-dev: http://forum.xda-developers.com/showthread.php?p=24603294 )
1. You need to copy the whatsapp database.
On Android, either get this file:
/sdcard/WhatsApp/Databases/msgstore.db.crypt
(crypted database on SD card, can be created by starting backup from whatsapp advanced settings)
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:
net.whatsapp.WhatsApp/Documents/ChatStorage.sqlite
(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. Copy the database(s) to a certain folder on your computer.
3. Extract this archive (with whatsapp_xtract.py, whatsapp_xtract.bat, …) to the certain folder
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 version even if you have 64bit windows):
http://www.activestate.com/activepython/downloads
and then (for PyCrypto) run install pyCrypto.bat (contained in this archive)
(pyCrypto.bat will execute: pypm install pycrypto)
5. Now run whatsapp_xtract_android.bat or whatsapp_xtract_android_crypted.bat or whatsapp_xtract_iphone.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 -i msgstore.db -w wa.db
OR (if wa.db is unavailable)
python whatsapp_xtract.py -i msgstore.db
OR (for crypted db)
python whatsapp_xtract.py -i msgstore.db.crypt
For iPhone DB:
(-w option is ignored)
python whatsapp_xtract.py -i 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.