MCPcopy Index your code
hub / github.com/andreas-mausch/whatsapp-viewer

github.com/andreas-mausch/whatsapp-viewer @v1.15

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.15 ↗ · + Follow
3,065 symbols 7,090 edges 352 files 919 documented · 30%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

WhatsApp Viewer

Small tool to display chats from the Android msgstore.db database.

How to use

  1. You need root access to your phone. If you don't know what it is: Wikipedia
  2. Download your WhatsApp database and key files:
  3. /data/data/com.whatsapp/files/key
  4. /data/data/com.whatsapp/databases/msgstore.db
  5. /data/data/com.whatsapp/databases/wa.db
  6. Open WhatsApp Viewer
  7. File -> Open -> Select file
  8. Select msgstore.db in the folder "extracted"
  9. Leave account name empty, is was used for older versions of WhatsApp (crypt5)
  10. 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"

I've also did this to enable the hardware keyboard.

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

Core symbols most depended-on inside this repo

mbedtls_mpi_free
called by 170
source/Libraries/AES/mbedtls/bignum.c
mbedtls_mpi_init
called by 127
source/Libraries/AES/mbedtls/bignum.c
mbedtls_mpi_mul_mpi
called by 84
source/Libraries/AES/mbedtls/bignum.c
PutUnsafe
called by 84
source/Libraries/Json/rapidjson/stream.h
mbedtls_asn1_get_tag
called by 72
source/Libraries/AES/mbedtls/asn1parse.c
mbedtls_mpi_cmp_mpi
called by 65
source/Libraries/AES/mbedtls/bignum.c
Put
called by 64
source/Libraries/Json/rapidjson/encodings.h
mbedtls_mpi_copy
called by 62
source/Libraries/AES/mbedtls/bignum.c

Shape

Function 1,720
Method 906
Class 422
Enum 17

Languages

C++52%
C48%

Modules by API surface

source/Libraries/Json/rapidjson/document.h198 symbols
source/Libraries/AES/mbedtls/ssl_tls.c167 symbols
source/Libraries/Json/rapidjson/schema.h135 symbols
source/Libraries/Json/rapidjson/reader.h85 symbols
source/Libraries/SQLite/shell.c65 symbols
source/Libraries/Json/rapidjson/encodings.h62 symbols
source/Libraries/AES/mbedtls/bignum.c56 symbols
source/Libraries/AES/mbedtls/md_wrap.c55 symbols
source/Libraries/AES/mbedtls/ecp.c53 symbols
source/Libraries/AES/mbedtls/cipher_wrap.c53 symbols
source/Libraries/Json/rapidjson/encodedstream.h49 symbols
source/Libraries/Json/rapidjson/writer.h46 symbols

For agents

$ claude mcp add whatsapp-viewer \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page