andreas-mausch/whatsapp-viewer
andreas-mausch/whatsapp-viewer has 1,446 GitHub stars and 446 forks. GitHot measured +1 in 7 days. Last checked 2026-11-10 04:14 UTC. Last push 2023-08-28.
Small tool to display chats from the Android msgstore.db database (crypt12)
Measured star growth
- in 24h
- Update delayed
- in 7 days
- +1
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalWhatsApp Viewer
Small tool to display chats from the Android msgstore.db database.
Status
🛑⚠ WhatsApp Viewer does not work with the latest WhatsApp database format. ⚠🛑
I only maintain this project every once in a while.
WhatsApp gets a lot of updates with a bunch of new features.
I do have interests beside this project and unfortunately not enough time to keep up
with the updates.
This project is not dead though (even if it looks like it), and I still take a plaintext database backup once in a while (about every year) and try to update this software accordingly.
How to use
- You need root access to your phone. If you don't know what it is: Wikipedia
- Download your WhatsApp database and key files:
- /data/data/com.whatsapp/files/key
- /data/data/com.whatsapp/databases/msgstore.db
- /data/data/com.whatsapp/databases/wa.db
- Open WhatsApp Viewer
- File -> Open -> Select file
- Select msgstore.db in the folder "extracted"
- Leave account name empty, is was used for older versions of WhatsApp (crypt5)
- Optional: If you want, you can import contact names from the wa.db file
Command line support
"WhatsApp Viewer.exe" -decrypt14 msgstore-2016-10-22.1.db.crypt14 whatsapp.cryptkey14 decrypted.db
You cannot see bigger images because only thumbnails are stored in the database.
Build
Visual Studio
Open WhatsApp Viewer.sln.
Command-line
See build-release.cmd.
Vagrant
You can also use vagrant to build (for example if you are on a Linux machine):
vagrant up
vagrant powershell -c 'cmd.exe /c "cd C:\vagrant && build-release.cmd"'
Android Emulator
I use the Android Emulator to test WhatsApp (and the creation of backups) on my developer machine.
I'm on Manjaro and use this (see here):
sudo mkdir /opt/android-sdk/platforms
sudo mkdir /opt/android-sdk/platform-tools
yay -S android-sdk-cmdline-tools-latest android-emulator
yes | sudo sdkmanager "system-images;android-30;google_apis;x86"
avdmanager create avd --name "WhatsApp-Viewer" --package "system-images;android-30;google_apis;x86" --device "Nexus 6P"
emulator -avd "WhatsApp-Viewer"
adb install ./WhatsApp.apk
adb pull -a /sdcard/WhatsApp/Databases/msgstore.db.crypt14
adb root
adb pull -a /data/data/com.whatsapp
adb unroot
I've also did this to enable the hardware keyboard.
Export schema
sqlite3 msgstore.db ".schema --nosys" > ./data/msgstore.db.schema.sql
Build test database
rm -f ./data/test-database.db && sqlite3 ./data/test-database.db -cmd ".read data/msgstore.db.schema.sql" ".read data/test-database.sql"
Credits
- @askeron and @zmeyc for bulk export https://github.com/andreas-mausch/whatsapp-viewer/pull/103
- @torsade for crypt14 support https://github.com/andreas-mausch/whatsapp-viewer/pull/115
- TripCode for crypt12 support https://github.com/EliteAndroidApps/WhatsApp-Crypt12-Decrypter
- Whatsapp Xtract
- pwncrypt5.py https://github.com/aramosf/pwncrypt5/blob/master/pwncrypt5.py
- SQLite
- MD5 http://bobobobo.wordpress.com/2010/10/17/md5-c-implementation/
- UTF8 http://utfcpp.sourceforge.net/
- AES https://polarssl.org/aes-source-code
- Base64 http://www.adp-gmbh.ch/cpp/common/base64.html
- Zlib http://www.zlib.net/
- RapidJSON http://rapidjson.org/
- mbedtls https://github.com/ARMmbed/mbedtls
Explore related projects
Asabeneh/30-Days-Of-Python
The 30 Days of Python programming challenge is a step-by-step guide to learn the Python programming language in 30 days. This challenge may take more than 100 days. Follow your own pace. These videos may help too: https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw
78,560 starsgrafana/grafana
The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
77,830 starsredis/redis
For developers, who are building real-time data-driven applications, Redis is the preferred, fastest, and most feature-rich cache, data structure server, and document and vector query engine.
77,395 starsapache/superset
Apache Superset is a Data Visualization and Data Exploration Platform
75,473 stars