Italian Tanto per perdere altro tempo...

LucaMs

Expert
Licensed User
Longtime User
... e dato che in questo momento mi spaventa affrontare una modifica "pesante" alla mia app...

ho qualche domanda da fare.

Prima quella che meno mi interessa dal punto di vista pratico (benché anche la seconda non abbia fini reali).
Ancora una volta ho sentito parlare di app spia (stavolta nel programma TV "Le Iene").
Queste app sarebbero in grado di "registrare" ogni operazione dell'utente, dall'invio di messaggi di vario tipo (sms, whatsapp, etc), alle telefonate, foto e così via.

Come fanno a creare un'app del genere? E come fanno ad installarla all'insaputa dell'utente (senza averne il dispositivo in mano, ovviamente)?

Ripeto, giusto per sapere se avete informazioni o idee al riguardo, perché, ALMENO PER IL MOMENTO :p, non ho intenzione di creare app di questo genere né di spiare alcuno.

La seconda cosa potrebbe avere maggiore utilità.
Come sapete, è possibile inviare "comandi" da un sw ad un altro in ambiente Windows; ad esempio è possibile inviare codici di controllo / tasti tramite SendKeys, usando VB.Net. E' anche vero che in ambiente Windows si possono avere, e normalmente si hanno, più applicazioni attive contemporaneamente.

Ora, in Android, pensando che l'eventuale applicazione "controllante" potrebbe utilizzare un servizio ed immaginando che l'app "controllata" venga sviluppata in modo che NON venga scritto direttamente codice negli eventi tipo Button1_Click, o Panel1_Touch etc, ma in questi eventi venga richiamata una routine esterna, messa in altri moduli di codice o di servizio o in classi (oggetti), sarebbe possibile rendere queste routine disponibili "all'esterno", ovvero all'app "controllante"?
 

Picena Informatica

Active Member
Licensed User
Longtime User
in Windows puoi con un software premere virtualmente un pulsante in un form di una qualunque applicazione aperta se ne conosci i nomi o gli handle
 

LordZenzo

Well-Known Member
Licensed User
Longtime User
per la prima domando rispondo io
NO!
o forse si potresti crearla, ma scordati di usare java o un qualsiasi altro linguaggio "interpretato" da android
quei programmi sono creati con il "linguaggio macchina" ho come si chiama in ambiente "fonino"
leggono l'ardware precedendo android o qualsiasi altro SW, si installano solitamente aprendo un "quasi" MMS che invece di essere multimediale ha il codice (poche righe) che avvia in maniera silenziosa il download dello "spione".
usano l' MMS poiché non chiede di aprire pagine internet, e spesso il contenuto multimediale e' online, e negli ultimi "fonini" la differenza tra MMS e SMS non viene indicata e almeno di vedere foto o animazioni l'utente finale non si accorge di aprire un MMS invece di un SMS
 

LucaMs

Expert
Licensed User
Longtime User
Uhm... devo dire che tutto ciò non mi convince (né mi indirizzerebbe verso la strada giusta, ammettendo che prima o poi ci metta le mani).

A parte che penso che oggi gli MMS non li usi più alcuno (io mai usati) e che quindi si debba prevedere un altro mezzo d'installazione, se fosse come dici, Lord, andrebbe installato addirittura prima che venga avviato qualunque componente del S.O.

D'altra parte, se stesse "sopra" al S.O., come livello, gli servirebbe l'utente Root.


Ok, "divertitevi" a sviluppare due app di quei due tipi, "spia" e "controller" e fatemi sapere :)
 

LordZenzo

Well-Known Member
Licensed User
Longtime User
A parte che penso che oggi gli MMS non li usi più alcuno
ogni volta che per sms usi una faccina, stai di fatto usando un MMS, oggi con tutte le app di chat/messagini whatapp e simili nessuno riconosce la differenza tra mms e sms
D'altra parte, se stesse "sopra" al S.O., come livello, gli servirebbe l'utente Root.
quando accendi il pc, il bios ha bisogno della tua password? e quando mai un virus chiede il permesso, e' chiaro che si tratta di programmazione a basso livello che esula dal S.O. e dal "Root"
 

LordZenzo

Well-Known Member
Licensed User
Longtime User
Ora, in Android, pensando che l'eventuale applicazione "controllante" potrebbe utilizzare un servizio ed immaginando che l'app "controllata" venga sviluppata in modo che NON venga scritto direttamente codice negli eventi tipo Button1_Click, o Panel1_Touch etc, ma in questi eventi venga richiamata una routine esterna, messa in altri moduli di codice o di servizio o in classi (oggetti), sarebbe possibile rendere queste routine disponibili "all'esterno", ovvero all'app "controllante"?
leggendo bene.... mica l'ho capita
tu vorresti che un app usi le routine di un altra app?
allora vorresti trasformare un app in una sorta di libreria di comandi a sua insaputa?
 

LucaMs

Expert
Licensed User
Longtime User
tu vorresti che un app usi le routine di un altra app?
Sì e che queste routine siano (possano essere) "collegate" ad eventi delle view dell'interfaccia grafica di un'app... insomma, di un'Activity.


libreria di comandi a sua insaputa?
Non direi "a sua insaputa"; entrambe le app andrebbero sviluppate per questo scopo, altrimenti la cosa diventa probabilmente impossibile
 

LucaMs

Expert
Licensed User
Longtime User
Insomma, se volessi realizzare un'app che simuli un giocatore umano che giochi con una seconda app?

Se una routine evento dell'app gioco avesse codice simile a questo:
B4X:
Sub Button1_Click
    RoutineX
End Sub

anziché contenere direttamente il codice da eseguire ed il codice di RoutineX fosse accessibile "dall'esterno", ovvero da una seconda app...!
 

LucaMs

Expert
Licensed User
Longtime User
C'ho pensato leggermente meglio; lo scopo sarebbe di fare in modo che l'App A "giochi" con l'App B, in modo che questa seconda ottenga la visualizzazione di pubblicità e quindi faccia guadagnare lo sviluppatore.

A parte che non è molto corretto e se ti beccano ti espellono a vita da Google Play :p, dato che sarebbe necessario creare l'app B di gioco in modo "ideoneo", tanto varrebbe mettere un timer che visualizzi una pubblicità ogni tot tempo e lasciare l'app attiva nel dispositivo, senza utilizzarla.
 

LordZenzo

Well-Known Member
Licensed User
Longtime User
A parte che non è molto corretto e se ti beccano ti espellono a vita da Google Play :p, dato che sarebbe necessario creare l'app B di gioco in modo "ideoneo", tanto varrebbe mettere un timer che visualizzi una pubblicità ogni tot tempo e lasciare l'app attiva nel dispositivo, senza utilizzarla.
esistono dei "BOT" che giocano in borsa...ci guadagneresti molto di più :p:p:p:p:p
 

Star-Dust

Expert
Licensed User
Longtime User
Ancora una volta ho sentito parlare di app spia (stavolta nel programma TV "Le Iene").
Queste app sarebbero in grado di "registrare" ogni operazione dell'utente, dall'invio di messaggi di vario tipo (sms, whatsapp, etc), alle telefonate, foto e così via.

Come fanno a creare un'app del genere? E come fanno ad installarla all'insaputa dell'utente (senza averne il dispositivo in mano, ovviamente)?

Ripeto, giusto per sapere se avete informazioni o idee al riguardo, perché, ALMENO PER IL MOMENTO :p, non ho intenzione di creare app di questo genere né di spiare alcuno.

Forse ti posso rispondere in parte a queste domande:

1) SMS: Per registrare gli SMS e eventualmente re-inviarli a un secondo numero o registrare gli sms in entrata e in uscita come scatola nera basta semplicemente la libreria SMS-inteceptor. Questa liberia ti permette di intecettare i messaggi ancora prima che l'App principale dei messaggi.
Puoi ricevere sms da un dispositivo "Master" che invia comandi al dispositivo "vittima". Fino alla versione 4.2 di android puoi anche cancellare i messaggi che vuoi far sparire dal dispositivo, come gli sms di comando o sms che non vuoi che la "vittima" legga.
Con Android 4.4 o superiore, i messaggi vengono ricevuti prima dall'App principale degli SMS e successivamente le altre App, e permette di cancellare gli SMS solo all'App impostata come principale. Si potrebbe impostare l'App "malevola" come principale, ma si dovrebbe avere il dispositivo fra le mani.

2) WhatsApp: Qualcuno ha loggato i testi inviati da WhatsApp sostituendo la tastiera con una personalizzata AD HOC che registra il testo scritto. Ovviamente dalla 4,4 in poi richiederebbe un autorizzazione dall'utente.
Ho letto anche di altre tipo proxy (che funzionerebbe solo con il WIFI), leggere le notifiche ... ma credo poco praticabili.

3) Foto: Be quello basta scansionare le cartelle del dispositivo cercando le estensioni giuste e ottieni le immagini. Nei forum ho visto che qualcuno ha inviato una procedura ricorsiva per entrare in tutte le cartelle (autorizzazioni permettendo) del dispositivo.

4) Telefonate: E' possibile? direi "NI".
Vedi questo link https://www.b4x.com/android/forum/threads/about-phone-call-recording-automatically.21166/

5) GPS: Con alcune librerie specifiche puoi accendere il GPS e leggere la posizione. E inviarlo via SMS. Ma che funzionerebbe solo con una versione Android precedente alla 4

5) INSTALLAZIONE:
Questo è la parte più difficile e non ho trovato mai risposte. Avere in mano il dispositivo è la cosa migliore.
Ma ne caso si trovasse un modo per installare da remoto, con un exploit nell'email, sms o sito internet si deve sperare che il dispositivo sia stato abilitato a ricevere App da origine sconosciute, perchè un App del genere non la puoi mettere su Google Play.
Se il dispositivo della vittima avesse i permessi di root sarebbe più facile, perchè hai meno limiti.
 

LucaMs

Expert
Licensed User
Longtime User
Grazie per la rispostona, @Star-Dust :)

Come detto, era un pourparler, tanto per evitare di affrontare il mostro (la mia app :D).

Però sono argomenti, secondo me, "affascinanti" (forse proprio perché proibiti? :D No, forse perché sono tecnicamente complicati).

Aver visto (sempre alle Iene, almeno un anno fà, penso) un tizio al PC che intercetta tutto ciò che un altro fa sul proprio è appunto intrigrante, sempre tecnicamente.

Nella domanda ho scritto SMS, Whatsapp... Intendevo una cosa più generale, benché meno efficace ed utile: pensavo che magari potesse essere possibile intercettare la "digitazione di tasti" al "priore di Anzio", ovvero prima che questi vengano inviati all'app attiva.

Si avrebbe il vantaggio di conoscere qualunque testo scritto dall'utente in qualunque app; gli svantaggi sarebbero di ricevere un'accozzaglia di caratteri senza sapere quale app si stia usando e non conoscere le risposte dell'altro interlocutore. Inoltre, suppongo che questo non sia possibile, forse non lo è nemmeno potendo intervenire come Root.

Anche per quel che riguarda gli Exploit tramite EMail (parlando di PC Windows)... solo sentiti nominare; ma come diavolo fanno ad installare SW? (A dire il vero, se mi interessasse concretamente, mi basterebbe cercare sul WEB :D ma magari qualcuno ha informazioni e voglia di chiacchierare, ogni tanto).


[Da qualche parte volevo scriverlo e lo SCHIAffo qui:

come si fà a mandare su Marte qualcosa di nome SCHIAPArelli?

Poi ci si meraviglia se si SCHIAnta come una SCHIAPPA!

:p

Che figura di... da europei, và.

]
 
Last edited:

LordZenzo

Well-Known Member
Licensed User
Longtime User
giusto pourparler
avendo il codice imei, si può intercettare ogni comunicazione radio del dispositivo
conoscendo account google si può leggere la cronologia delle posizioni del dispositivo (di solito attivo per predefinito)
io stesso con quest'ultimo sistema ho 'sgamato' tutte le 'scappatelle' di mio figlio:D
 
Top