|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jan 2001
Città: Livorno
Messaggi: 1338
|
[Android] Intercettare API e rimuovere funzionalità
Mi è capitato a volte di navigare con il mio cellulare su internet e di trovarmi dei form precompilati con il mio numero di telefono.
Dato l'enorme fastidio che questa cosa mi provoca (anche perchè sicuramente a questo punto si può leggere il numero da remoto) vorrei intercettare l'API che consente di fare ciò e sostituire il file con un altro che resitutisce sempre 328-0000000. Qualcuno ha delle dritte ? Quale file devo sostituire ? Quale è il nome dell'API ? Inoltre tecnicamente come fa a funzionare questa cosa ? Voglio dire: avendo fatto il passaggio ad un altro operatore, la scheda che ho nel cel originariamente aveva un altro numero e quindi l'unico modo perchè il cell "sappia" il proprio numero è che interroghi la rete. Ma da javascript è possibile far fare al telefono un interrogazione del genere ? Quali altre API potrei voler bloccare ? |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2774
|
Penso che in realtà sia un'impostazione del browser. Se usi chrome, vai in impostazioni e c'è la voce "Compilazione automatica dei moduli", lì puoi o disattivare completamente la feature oppure cancellare solo il numero di telefono (non so però cosa succede la prossima volta che compili un form...)
|
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Jan 2001
Città: Livorno
Messaggi: 1338
|
Quote:
Ad ogni modo il punto non è quello, voglio fare in modo che nessun programma possa accedere a questa informazione. Quindi voglio proprio fare una modifica al sistema operativo. |
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jan 2014
Messaggi: 852
|
>> Premessa: per una modifica del genere dovresti fare il root del so, che invalida la garanzia. <<
L'API Java per ottenere il numero è questa: TelephonyManager.getLine1Number() Dovresti trovare il package, probabilmente nel sistema ci sarà una variabile d'ambiente con il classpath, decompilarlo (esiste un tool gratuito per farlo) e modificare il metodo in modo che ritorni sempre la stringa desiderata, e infine ricompilare. Questo sistema potrebbe funzionare solo con le app java (che sono la stragrande maggioranza), mentre per quelle native la vedo più difficile. Inoltre, alcune app (tipo vuozzapp ![]() |
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Jan 2001
Città: Livorno
Messaggi: 1338
|
Quote:
Nel mio caso il numero che vedo dal menu è "sconosciuto" perchè semplicemente non è memorizzato sulla SIM. Infatti molti si lamentano perchè TelephonyManager.getLine1Number() spesso non funziona. Quando invece vado su chrome compare correttamente il mio numero di cellulare. Non capisco come faccia visto che la SIM non sa il suo numero (anche perchè l'ho portato da un altro operatore). Probabilmente lo standard GSM prevede che si possa chiedere alla rete il proprio numero. Ad ogni modo la API non dovrebbe essere quella. |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Jan 2014
Messaggi: 852
|
Non mi sembra che ci siano altri metodi "automatici", l'unica alternativa è che tu abbia inserito i dati nel browser il quale li ha memorizzati da qualche parte. Tieni presente che su android ci sono diversi tipi di storage, a volte disinstallare un app non è sufficiente per fare pulizia.
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:03.