“Hackeando” Whatsapp

Muchas veces por necesidad o simplemente por nostalgia (u otros motivos) deseamos recuperar mensajes viejos o de otros dispositivos. Aquí explico cómo hacerlo.

Whatsapp es la aplicación de mensajería instantánea más usada actualmente y disponible para todos los sistemas operativos móviles. Lo descrito aquí lo he probado con éxito con Whatsapp para Android, aunque debería funcionar en otras plataformas.

En esta entrada veremos cómo recuperar mensajes de Whatsapp pasados o de un dispositivo diferente. Al final también dejo links a otros “trucos” de esta aplicación de mensajería instantánea.

Posiblemente hemos sido curiosos o por casualidad hemos notado que en la raíz del almacenamiento de nuestro Android se encuentra una carpeta con el nombre WhatsApp, que contiene cuatro subdirectorios: Backup, Databases, Media y Profile Pictures.
image

Antes de continuar, es altamente recomendable respaldar todo este folder, obviamente fuera del móvil ;-)

Si hemos cambiado de dispositivo y queremos tener nuestro historial tal y como lo teníamos en el previo, lo único que tenemos que hacer, antes de instalar Whatsapp en el celular nuevo, es copiar íntegramente la carpeta Whatsapp a la raíz del almacenamiento del teléfono nuevo. Podemos hacerlo con ayuda de una tarjeta externa y luego mover la carpeta o usando el celular como dispositivo de almacenamiento en la computadora y copiarla de un respaldo.

Si lo que queremos es recuperar mensajes previos, en el mismo dispositivo, vamos al directorio Databases y encontraremos varios archivos .crypt, crypt5 ó .crypt7; uno se llamará msgstore.db.crypt* y los otros msgstore-FECHA.x.db.crypt*, x es un número.
image

Entonces, cambiaremos el nombre del archivo msgstore.db.crypt* a msgstore.db.crypt*.BAK (o lo que quieran, para poderlo recuperar después) y al archivo que deseamos restaurar le pondremos ese nombre, es decir:

msgstore.db.crypt renombrar a msgstore.db.crypt.BAK
y
msgstore-FECHA.x.db.crypt* renombrar a msgstore.db.crypt*

Desinstalamos y reinstalamos whatsapp y nos dirá que hay un respaldo que puede restaurar. Aceptamos y con eso tendremos los mensajes del archivo msgstore-FECHA.x.db.crypt*

Más geek…
Si tenemos acceso a los archivos .crypt (no .crypt5 ni .crypt7) podemos desencriptarlos y luego exportarlos a formato .CSV para poder abrirlos con calc o excel.

Yo hice con linux un script de shell para automatizarlo, más o menos…
Necesitaremos tener instalados openssl y sqlite3, con todas sus dependencias.
Red Hat like#yum install openssl sqlite3
Debian like#apt-get install openssl sqlite3

Whatsapp hasta hace poco tiempo, cifraba todas las conversaciones de todos los usuarios con la misma clave… 346a23652a46392b4d73257c67317e352e3372482177652c

Entonces, podíamos descifrar las conversaciones de cualquier persona si teníamos acceso a su celular y extraíamos los archivos .crypt
No hablo de hace años… Hasta hace un par de meses, todavía podíamos ver los archivos .crypt.
Actualmente la mayoría ya verá archivos .crypt7 y es un poco mas “complicado”.

Si todavía tienen en su dispositivo archivos .crypt o en algún respaldo, este script les servirá para automatizar el descifrado y exportación a .CSV
whatsapp_export_all
Es un archivo .txt, solo hay que ponerle extensión .sh y ponerlo en el mismo directorio de los archivos .crypt.
Este script lo escribí hace un tiempo, pero pospuse demasiado este artículo jaja, espero que a algunos les sea de ayuda… Ahora que decidí publicarlo ya vi los archivos .crypt7 en mi dispositivo…

Por lo pronto para los usuarios que tienen acceso root en su dispositivo, no tendrán problema, ya que pueden encontrar el archivo key para desencriptar en el directorio /data/data/com.whatsapp/files/
image

Y aún más fácil, un programa para windows que lo automatiza en el siguiente link:
https://github.com/andreas-mausch/whatsapp-viewer/releases
La versión 1.5 ya soporta .crypt7

Para los usuarios que no tienen root, debe ser posible usando la computadora con ADB, pero… haré la actualización en cuanto lo haya probado :-P o pueden tomarlo de pretexto para “rootear” su teléfono jeje

Les dejo unas referencias:

Analisis forense a whatsapp (cracking msgstore.db.crypt)
villatux.blogspot.mx/2013/04/analisis-forence-whatsapp-cracking.html

Export from sqlite to csv using shell script
stackoverflow.com/questions/5776660/export-from-sqlite-to-csv-using-shell-script

Y otros “trucos” menos interesantes aunque útiles:

Top 12 WhatsApp Tricks for iPhone, Android, BlackBerry & Windows
www.ahemahem.com/whatsapp-tricks/1567/

Top 10 WhatsApp tips and tricks for your Android
gizmostorm.com/top-10-whatsapp-tips-and-tricks-for-your-android/

Por ahora lo dejo hasta aquí, espero no meter en problemas a nadie :-P.

UPDATE: Como lo pensé, haciendo uso de ADB podemos extraer el archivo key para descifrar las bases de datos .crypt7.

He escrito un artículo completamente dedicado a extraer los mensajes en formato .crypt7, donde explico como extraer la key para descifrar, puedes visitarlo en este enlace -> “Cómo robar mensajes de whatsapp y cómo evitarlo.

Acá unos links relacionados:

adb push y pull

Decriptar crypt7

39 comentarios en ““Hackeando” Whatsapp”

  1. Holaaaa, queria saber como puedo leer mis conversaciones de whatsapp que tengo en mi ordenador, WhatsApp msgstore.db.crypt7, alguna manera facil de hacerlo? Gracias

  2. Horacio me puedes ayudar tengo los archivos cryp7, pero no encuentro el archivo key hay alguna forma de desncriptarles sin el archivo key

  3. Hay forma de simular un archivo key es que lo hice con root y sin root y la carpeta data esta vacia

    1. No hay forma de simularlo, porque se genera un archivo único para cada dispositivo. Si tu teléfono está “rooteado”, puedes encontrar el archivo en la ruta:
      /data/data/com.whatsapp/files

      Puedes navegar a ese directorio con un gestor de archivos que soporte root, como ES File Manager.

      Más información en este otro artículo:

      http://yo.horaciocontreras.mx/20140708/como-robar-mensajes-de-whatsapp-y-como-evitarlo/

      ¡Suerte!

  4. hola copie las carpetas card y phone completas de mi celular en mi pc queiro desencriptarlas pero no se si se pueda sacra el key o me toca tener el celular por que lo perdí

    1. Hola, venyi.

      Antes se podía así, porque la “KEY” era la misma para todas las cuentas, ahora es única para cada usuario. Eso era un problema de seguridad y honestamente creo que con el tiempo será más dificil descifrar las conversaciones, ya que se supone que deberían mejorar la seguridad en futuras versiones.

  5. hola, me refiero a los archivos cript7 de ahora si con el tiempo se conseguirá una aplicación que sea capaz de abrilos, gracias

  6. Hola quería leer archivos mgstore.db.8 pero los tengo sueltos sin el celular existe alguna forma?gracias

    1. Hola.

      Para ser honesto, no había visto que ya hay versión 8. Pero dudo que los puedas ver sin la clave de cifrado.

      De cualquier modo, veré que tiene de nuevo y actualizo la entrada.

      ¡Gracias!

  7. hola buenos dias quisiera con urgencia una respuesta a mi pregunta, los mensajes que fueron borrados de mi WhatApp en mi tlf tienen formato de archivo BAK o data base file (mi telefono es una blackberry) hay una manera de decifrarlo para volver a leer mis conversaciones?! te agradeceria brevedad en tu respuesta, y si es afirmativa por favor la manera de como poder volver a leer esas convrsaciones con urgencia :S

  8. el mio era un nokia x2-01 :( y pase el sd a un s4 mini y aun estan alli las conversaciones archivadas u.u donde encuentro la key o tengo q sacarla del nuevo celular?

  9. buen día tengo unos archivos de whatsapp de un blackberry , son extension bak se pueden descifrar?

  10. Horacio Buen dia, cambié de movil haciendo un traslado con un programa transfer pero en el nuevo movil no quedaron las conversaciones que tenia en el antiguo, en el movil antiguo ya no aparece whatsapp puedo recuperar esas conversaciones? debo devolver todo al otro movil? o la key del movil nuevo puede abrir las conversaciones del antiguo?

    1. ¡Hola, Diego!

      Si todavía tienes el celular anterior Y no lo restauraron a valores de fábrica, es decir, no lo “formatearon”, puedes reinstalar whatsapp y tomará la copia local de tus mensajes.

      El siguiente paso que te recomiendo, es respaldar tus conversaciones, imagenes y videos con una cuenta de google, yendo a:

      Opciones -> Ajustes -> Chats y llamadas -> copia de seguridad

      Y ahí puedes ligar tu la cuenta de google donde vas a respaldar. Una vez hecho, asegúrate de sincronizar.

      Si tienes muchos videos e imágenes, puede tomar algún tiempo…

      En el nuevo teléfono, asegúrate de eliminar o renombrar la carpeta de whatsapp, donde están las bases de datos, para que al reinstalar, te de la opción de sincronizar desde la nube.

      ¡Y listo!

      Probablemente pierdas algunas conversaciones si ya estuviste usando el nuevo teléfono, paro la pérdida será menor… Seguramente puedes recuperar esos mensajes con el método descrito en el artículo.

      ¡Suerte!

  11. Horacio Buen dia, no tengo roteado mi android, como saco el key, por qué no sé como ubicar el key, si tubiera un video explicado mejor

      1. Hola horacio pues he leído todo el blog y veo que no es posible desencriptar crypt8. Yo también tengo la base de datos y el móvil pero sin key y no está rooteado, con esto me podrías ayudar??
        [email protected]

  12. Hola Horacio. Mi situación es esta. Cambié mi antiguo smartphone (un Nokia N8 con Symbian S60) por un Huawei P8Lite con Android 5.1. Instalé Whatsapp en el nuevo equipo pero al verificar mi número, lo único que se restauró fueron los grupos en los que tengo participación (aunque sin ningún contenido tampoco). Hice previamente un backup de mis conversaciones en Whatsapp desde el Nokia, pero no pude restaurarlas en Android ya que poseen distintos formatos (MsgStore.bak en symbian y msgstore.db.crypt en android). No encontré solución hasta ahora para lograr restaurar mis conversaciones en el nuevo smartphone, aunque a decir verdad no tengo idea de programación. Esperaba que pudieras ayudarme y explicarme si es que existe alguna posibildad de lograrlo. Muchas gracias por tus aportes.

    1. Estimado Martín, gracias por compartir tu experiencia.

      Lo mejor que puedes hacer, es en el viejo teléfono, habilitar los respaldos por google y respaldar.

      En el nuevo teléfono, te recomiendo desinstalar whatsapp y borrar los archivos que haya dejado. Los encuentras en la raíz del dispositivo, en la carpeta Whatsapp. Bórrala.

      Una vez que tienes tu respaldo en google y el nuevo teléfono, sin rastro de whatsapp, instálalo nuevamente y valida el número como de costumbre.

      Whatsapp traerá el respaldo de tus conversaciones desde google.

      ¡Saludos!

      1. Hola, ¿serías tan amable de actualizar la información? Tengo conversaciones en versión crypt12. El problema fue la migración de Android a Windows Phone, me urgía habilitar mi línea en el nuevo equipo y no tenía idea de que podía perder la información. Muchas gracias de antemano.

  13. Hola, tendrás este método actualizado? tengo un problema con cambio de equipo y no quiero perder mi información

    1. Hola, Abyss.

      Te recomiendo hacer el backup con google drive, funcionalidad dentro de Whatsapp.

      Una vez hecho, instala whatsapp en tu nuevo equipo y automáticamente debería restablecer la copia de seguridad desde google drive. Te recomiendo no usar los dos equipos simultaneamente, para que haya consistencia en las conversaciones.

      Saludos.

Comentarios.