domingo, 4 de diciembre de 2016

¿Se puede recuperar la base de datos de WhatsApp tras formatear?

Cuando utilizamos la aplicación WhatsApp los mensajes que enviamos y recibimos se almacenan en una base de datos. Internamente existe una base de datos accesible al usuario en la carpeta /sdcard/WhatsApp/Databases, pero está encriptada, por eso tiene la extensión .crypt, como msgstore.db.crypt7 o msgstore.db.crypt8. Por otro lado, existe la base de datos del sistema, que no es accesible al usuario y se almacena en /data/data/com.whatsapp/databases/msgstore.db.

El problema es que esa base de datos del sistema no es accesible al usuario, por ello, debemos rootear el móvil para poder tener permisos como usuario root y poder acceder a dicha base de datos.

La pregunta ahora es, si vendemos el móvil de segunda mano, ¿basta con desinstalar WhatsApp para que se borre la base de datos? Y si lo restauramos de fábrica, ¿es suficiente? ¿O será necesario un formateo a bajo nivel, conocido como wipeo?

Accediendo como root a la base de datos de WhatsApp


Lo primero que debemos hacer es rootear el móvil, para el artículo, vamos a utilizar de ejemplo un Samsung Galaxy Express 2. Hay un hilo en el foro de htc en el que se explica como rootearlo: http://www.htcmania.com/showthread.php?t=760794.

Tan sólo hay que iniciar el móvil en modo Download (Bajar volumen + Botón de inicio + Encendido) e iniciar el Odin como administrador y nos reconocerá el móvil (Added!), es importante tener Samsung Kies instalado para que Windows reconozca el dispositivo. Ahora utilizamos el archivo tar.md5 y le damos a Start.

Hay una aplicación en Google Play llamada Root Checker con la que podemos comprobar que el rooteo ha funcionado.

Ahora tenemos que instalar ADB – Android Debug Bridge para poder interactuar con el móvil desde el CMD (http://forum.xda-developers.com/showthread.php?t=2588979). Nos vamos al CMD y escribimos adb devices, si aparece unauthorized tenemos que irnos al móvil y desactivar y volver a activar el modo de depuración USB, nos dirá que si queremos permitir al PC con clave X y le diremos que sí.

Ahora escribimos adb shell para entrar en el modo shell accediendo al móvil, nos vamos a la carpeta /data/data/com.whatsapp/databases, no podemos hacer un ls porque no tenemos permiso, así que tenemos que ejecutar su para tener permisos de superusuario, nos saldrá un mensaje pidiendo confirmación en el móvil, y ya seremos root. Nos copiamos los archivos msgstore.db y wa.db a /sdcard por ejemplo, o a alguna carpeta donde el usuario tenga permisos. Nos salimos de la shell y desde el CMD ejecutamos adb pull /sdcard/msgstore.db C:\Whatsapp y adb pull /sdcard/wa.db C:\Whatsapp para copiar los archivos al disco local.

Ya podemos ver la base de datos desde el PC, así que nos descargamos el DB Browser for SQLite, lo tenemos en http://sqlitebrowser.org/. Los mensajes están en la tabla messages.

¿Qué ocurre si desinstalamos WhatsApp?


Si desinstalamos WhatsApp las carpetas se borran, y ya no aparece la base de datos, con lo cual no es posible recuperar los datos de los mensajes.

¿Qué ocurre si restauramos el móvil de fábrica?


Pues en el caso que tratamos del Galaxy Express 2 ocurre que se borran todos los datos, con lo cual la carpeta de WhatsApp y con ello todas las bases de datos, desaparecen. Así que podemos concluir que es seguro vender tu móvil de segunda mano si lo restauras de fábrica, ya que no podrán acceder a tus datos de ninguna forma.

Pero, ¿es esto aplicable a otros móviles?...

¿Qué ocurre si realizamos un formateo a bajo nivel, wipeo?


Ocurre obviamente que desaparecen los datos de la aplicación, con lo que con toda seguridad no se podrán recuperar las bases de datos y con ello los mensajes de WhatsApp.



Conclusión


En este caso le damos un 10 tanto a Whatsapp como a Samsung, ya que tanto al desinstalar la aplicación como al restaurar el móvil de fábrica se borran los datos.

La pregunta es, ¿qué ocurrirá con otras aplicaciones y otros móviles?

No hay comentarios: