domenica 8 gennaio 2017

Wastats, app Android per le statistiche whatsapp

Avete mai avuto la "curiosità" di fare le statistiche dei vostri messaggi whatsapp? Fare una ricerca per periodi, mittente, testo, argomento ecc.? Ebbene, io si. Dopo varie soluzioni avallate per creare una app del genere, sono arrivato a una soluzione concreta per farlo.

Si sa, il database whatsapp è criptato, prima aveva una chiave di cifratura che si era conosciuta, ma con i nuovi aggiornamenti whatsapp era diventata obsoleta. Ho cercato più volte di decriptare quel database, ma non ci sono mai riuscito con una soluzione duratura nel tempo. Oltretutto, ultimamente le conversazioni sono criptate end-to-end, quindi è ancora più difficile.

La soluzione che ho adottato è quella di esportare una singola conversazione, gruppo o broadcast tramite testo (è possibile inviarlo tramite e-mail in formato testo).
La piccola app che ho scritto non fa altro che leggere questo file di testo, fare il parsing e caricarlo tutto su un database interno della app, in modo da fare query. La versione attuale permette di interrogare il database manualmente con le query, ma sto già lavorando a un'interfaccia più user-friendly con i filtri. 

Per ora Wastats è fortemente in BETA, l'interfaccia è molto spartana, perché finora mi sono dedicato principalmente alla part funzionale.
Attualmente ci sono essenzialmente due funzioni: quella per caricare il database con nuovi dati di una nuova conversazioni e quella per interrogare il database. 

Aggiorna database

Questa è la funzione per caricare nuovi dati. "Seletta" è un tasto che non fa nulla, l'ho messo all'inizio pensando mi dovesse servire invece no, stessa cosa per "Crea database". Basta premere il tasto aggiorna e il programma cercherà nella memoria esterna (o nella cartella download, non ricordo) i file di tipo testo che iniziano con il filtro "Chat Whatsapp". Dopo che vengono elencati, basta premere il file che si vuole caricare, e vi verrà chiesto un "argomento", ovvero una stringa che identifica la conversazione esempio "famiglia", oppure "gruppo amici", per facilitare l'estrazione dei dati. Dopo di che premere OK e una progress bar ci mostrerà l'avanzamento del processo. 









Interroga database

Da qui invece si fanno le query sqlite vere e proprie sul database, come da screenshot:
 

Qui c'è il link con lo zip che contiene l'apk:
https://drive.google.com/file/d/0B2K4nLFPcS-obTZBTzdMNU5RYUE/view?usp=sharing