Cómo WhatsApp detecta GBWhatsApp y FMWhatsApp en la práctica
AndySendy academy
← Todas las entradas

🔗 No es el icono. Es la firma que rompiste al compilar

«Cambiaste el icono - ban instantáneo» suena concreto, pero confunde causa y efecto. El mecanismo real es más aburrido y fiable que cualquier hash: la firma criptográfica del APK, imposible de conservar tras modificar el archivo. Qué está confirmado y qué es reconstrucción comunitaria.


Por qué la confusión persiste

El tesis de «servidores Meta piden hashes internos periódicamente» suena técnico y circula en artículos antiban - también en el análisis de APK terceros. Problema: sin confirmación oficial en docs Meta ni análisis públicos. Lo confirmado es más fundamental: cualquier cambio del APK tras firmar rompe la firma - suficiente sin peticiones periódicas de hash.


Antes / Después

Antes: WhatsApp verifica firma vía Play Integrity API.

Después: Firma APK y Play Integrity son mecanismos distintos pero relacionados. La firma se verifica a nivel Android al instalar/iniciar. Play Integrity evalúa integridad del dispositivo y entorno. WhatsApp combina varias comprobaciones, no un solo API.

Antes: Meta pide hashes de archivos internos. Iconos y menús cambian el hash.

Después: Sin mecanismo confirmado de peticiones regulares de hash en fuentes abiertas. Descripción simplificada de firma APK o hipótesis de ingeniería inversa.

Antes: Desajuste = ban instantáneo.

Después: Detección del cliente modificado → aviso, rechazo de login («You need the official WhatsApp to log in») o bloqueo temporal - no documentado como ban permanente instantáneo.


Confirmado técnicamente

Mecanismo Función Confirmado
Firma digital APK Android verifica al instalar; modificación rompe firma [✓]
Play Integrity API Integridad dispositivo/app (Basic/Device/Strong) [✓]
Verificación servidor del número En login y confirmación [✓]
Flag en número Números con mods previos - comprobaciones extra [✓]
Petición regular de hashes internos Solo foros, sin confirmar [?]

Cómo funciona la firma APK

Arquitectura Android básica. WhatsApp oficial firmado con clave Meta. Cualquier modificación - icono, menú, código - ocurre después de firmar y rompe el checksum del APK Signing Block. Android detecta desajuste al instalar o actualizar sobre la app oficial.

No es función antiban de WhatsApp - es propiedad de Android (Signature Scheme v2/v3/v4). No «comprueba hashes de archivos» como en el tesis original: firma válida o no, a nivel OS.


Play Integrity API

Play Integrity evalúa el entorno, no el APK: origen Play, dispositivo modificado, root. Tres niveles: Basic, Device, Strong Integrity. WhatsApp requiere mínimo MEETS_DEVICE_INTEGRITY.

Fallo → «You need the official WhatsApp to log in» - comportamiento documentado. Señal de entorno, no inspección de contenido APK. Mismo API en análisis de emuladores.


Mini-caso: flag tras mod

Usuario con rechazo de login en app oficial de Play Store. Causa: número usado antes con cliente modificado y marcado. Solución práctica: Simple Play Integrity Checker, MEETS_DEVICE_INTEGRITY, en root - módulos Magisk (PlayIntegrityFix) y reinicio.

Muestra: flag en número es real. No prueba: hash de archivo concreto - falló integridad del dispositivo. Paralelo: errores de registro.


Mitos

«Ban por mod siempre permanente» - Falso. Mayoría temporal, exige quitar mod e instalar oficial.

«Solo cambiar icono o nombre» - Falso. Cualquier mod post-firma rompe la firma entera.

«Solo GBWhatsApp» - Falso. Plus, YoWhatsApp, Fouad, forks (AlexMods, SamMods…).

«Play Integrity = firma» - Falso. Dos mecanismos independientes.

«Si el mod funciona hoy, WA no lo ve» - No confirmado. Sin bloqueo ahora ≠ sin detección - esquemas grises.


Cifras

Sin estadísticas oficiales Meta. Fuentes prácticas:


Conclusiones prácticas


🎯 Siguiente paso

¿Números aún en GBWhatsApp, FMWhatsApp o análogos? Prioriza cliente oficial o WABA oficial antes del próximo endurecimiento - no tras el primer flag.

Conclusión

Regla práctica:

El mod no se esconde del hash - falla la firma desde el inicio; el resto es cuestión de tiempo.