Di adb
Per dirla in breve, adb(Android Debug Bridge) è un'utilità creata per essere installata su un computer, in modo da ottenere una shell su un telefono collegato tramite cavo USB o sulla stessa rete Wi-Fi.
Su alcuni dispositivi che eseguono Android Lollipop (5.1.1) e versioni probabilmente inferiori del sistema operativo, è stato possibile ingannare un dispositivo per connettersi a se stesso, poiché il adbclient è stato fornito in bundle anche nel telefono. Questo non è più possibile perché, da Android Marshmallow (6.0) in poi, Google ha rimosso il adbbinario dai telefoni per ridurre la superficie di attacco utilizzabile.
È possibile, tuttavia, reintrodurre manualmente il adbclient su un telefono, senza la necessità di compilare il file binario da soli. Fare riferimento al tag adb wiki per ulteriori informazioni su questo argomento, sull'installazione su un computer e sulla risoluzione generale dei problemi.
Dove trovarlo
Qualche tempo fa, al fine di ottenere adbe chiamare un'altra utility, fastbootsi doveva scaricare l'SDK completo di Android da Google, se si voleva un pacchetto ufficiale. Oggi è diventato disponibile un piccolo pacchetto ufficiale, come afferma XDA . Include binari per i sistemi operativi più comuni.
Come funziona
Il adbclient, installato sul computer, effettua una connessione a un telefono collegato o altrimenti rilevabile, tramite un server interno. Quindi, l'utente sarà in grado di inviare una varietà di comandi al telefono stesso, che verrà ascoltato da adbdun demone residente sul telefono.
Quando si utilizza adb, si rappresenta l'utente chiamato shell(UID 2000). Questo utente è speciale, in quanto può concedere autorizzazioni per le app e accedere a più informazioni di un semplice utente. Questo fatto, tuttavia, non significa che adbsia lo stesso di su, poiché quest'ultimo consente di impersonare qualsiasi utente.
Maggiori informazioni su adbe il suo funzionamento possono essere ottenute guardando la documentazione ufficiale .
Emissione di comandi da un telefono
La maggior parte dei comandi che possono essere emessi tramite adbtendono ad essere utility che vengono preinstallate in un telefono.
Per accedervi, è necessario installare un'app di emulazione terminale sul telefono (notare che Termux è speciale, in quanto specifica la propria PATH, ignorando così i file binari del sistema). Questo, ad esempio, ti consentirà di inviare comandi come logcatdirettamente sul tuo dispositivo mobile. Ricorda di omettere il adbprefisso, però.
Vale la pena ricordare che, se non si dispone delle autorizzazioni di root, la gamma di comandi che si sarà in grado di eseguire e le informazioni a cui si sarà in grado di accedere saranno significativamente inferiori rispetto all'utilizzo adb, poiché l'UID che le invoca sarà il app stessa e le app hanno meno autorizzazioni dell'UID 2000.