Whatsdog rileva se la tua vittima è online oppure no. Cosa stanno facendo in background? Sappiamo che Whatsapp non fornisce alcuna API o SDK per questo, quindi come può qualcuno monitorare questo tipo di attività sensibili?
In realtà è un'API non documentata di whatsapp e puoi comunicare tramite Websocket per ottenere lo stato online delle persone.
Questo articolo ti mostrerà come è fatto e anche fornire un PoC per farlo funzionare nel tuo browser. Quindi questo PoC può essere modificato per essere un'applicazione per PC o un'applicazione per smartphone.
Mentre Whatsapp o Facebook Messenger non forniscono un'API ufficiale per lo stato online, è spesso facile usare la loro API interna i.e non ufficiale per determinarla. Non posso parlare per Whatsapp perché non sono un utente o molto meno familiare con le loro API interne, ma ho giocato con questo in Messenger. La differenza concettuale è trascurabile per qualsiasi app che fornisce una funzione di stato online, quindi utilizzerò Messenger di Facebook come esempio poiché mi è più familiare.
Ecco un post sul blog (scritto in modo divertente) che spiega come è fatto con Facebook. Se non hai voglia di leggerlo e di approfondire i dettagli tecnici o di leggere il tutto, ti fornirò un breve riassunto di come funziona qui.
Su Facebook Messenger, c'è un piccolo punto verde visualizzato accanto al loro nome che indica che sono online, giusto? Proprio così:
Bene, lo stato di quel punto, o piuttosto dei dati che indicano il loro stato, viene recuperato da un'API non documentata o non ufficiale. Cioè, un'API usata internamente che non è pensata per essere usata da chiunque tranne gli sviluppatori di Facebook e quindi non mantiene alcuna promessa e si romperà continuamente se proverai ad usarla. A parte questo, però. Il punto è che c'è una richiesta che periodicamente si spegne (i polling) che ti dà lo stato online dei tuoi amici. Se esegui il polling nel tempo, sarai in grado di dire quando un utente passa da offline - > online o viceversa.
Le applicazioni di terze parti utilizzano queste API e le interrogano proprio come fa l'applicazione ufficiale. Allora, bene, fanno quello che vogliono con quei dati. Sia che lo acceda per rappresentare graficamente i loro schemi di utilizzo, notificandoti quando sono online, lo chiami!
Se questa risposta non sazia la tua curiosità, ti incoraggio a leggere l'articolo che ho linkato sopra. È informativo, coinvolgente, divertente e (!) Ha un repository Github che ti permette di provarlo tu stesso.
Come Nico dice che stanno usando un'API WhatsApp. Il client WhatsApp è in grado di controllare se i tuoi contatti sono online o meno, il che significa che deve esserci un modo per farlo.
È abbastanza facile per qualcuno decompilare il codice o MitM le proprie connessioni per leggere cosa sta facendo l'applicazione. L'unico rischio aggiunto rispetto a un'API pubblicata è che non hai l'obbligo di informare le altre parti prima di cambiarle o rimuoverle.
Non dovresti mai fidarti dei segreti per un dispositivo client!
Leggi altre domande sui tag android whatsapp account-security