Decriptare database Whatsapp msgstore.db.crypt e db.crypt5
Whatsapp è la nota applicazione per smartphone recentemente acquistata da Facebook che permette di scambiare messaggi e media in tempo reale.
[UPDATE] Nuova guida aggiornata!
La guida aggiornata per decrittare le conversazioni in formato crypt crypt5 e crypt7 è finalmente disponibile.
Per la vecchia guida, proseguite la lettura:
Whatsapp conserva tutte le conversazioni all'interno dello smartphone in dei database criptati con l'algoritmo AES-192-ECB.
Fortunatamente per noi, la chiave utilizzate dall'applicazione per crittografare i database è sempre la stessa, ossia 346a23652a46392b4d73257c67317e352e3372482177652c
In uno smartphone Android il file in questione si trova nella posizione /sdcard/WhatsApp/Databases/msgstore.db.crypt
Dopo averlo copiato sul nostro pc, possiamo decriptarlo con uno script in python o più semplicemente da riga di comando linux utilizzando openssl: openssl enc -d -aes-192-ecb -in msgstore.db.crypt -out msgstore.db.sqlite -K 346a23652a46392b4d73257c67317e352e3372482177652c dove msgstore.db.crypt è il file criptato e msgstore.db.sqlite il file di output.
Una volta completato il processo, è possibile aprire il file .sqlite con un qualsiasi software in grado di leggere database!
EDIT: Per decriptare il database della nuova versione di whatsapp è necessario utilizzare questo tool whatsapp.livetrack.mobi
Le colonne più importanti del database sono:
_id --> Numero del mittente o destinatario del messaggio
key_from_me --> Valore boleano: 0 = ricevuto, 1 = inviato
data --> Testo del messaggio
key_remote_jid --> Numero delle parsona che sta scrivendo a questo contatto
timestamp --> Data e ora
Con la maggior parte dei software per leggere database è possibile esportare la tabella in html per un lettura più semplice.
Per riuscire a comprendere quando è stato inviato/ricevuto un messaggio, bisogna convertire il timestamp di Whatsapp in un formato comprensibile. Per farlo è possibile utilizzate epochconverter.com
