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 adb
client è stato fornito in bundle anche nel telefono. Questo non è più possibile perché, da Android Marshmallow (6.0) in poi, Google ha rimosso il adb
binario dai telefoni per ridurre la superficie di attacco utilizzabile.
È possibile, tuttavia, reintrodurre manualmente il adb
client 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 adb
e chiamare un'altra utility, fastboot
si 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 adb
client, 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 adbd
un 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 adb
sia lo stesso di su
, poiché quest'ultimo consente di impersonare qualsiasi utente.
Maggiori informazioni su adb
e 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 adb
tendono 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 logcat
direttamente sul tuo dispositivo mobile. Ricorda di omettere il adb
prefisso, 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
.