Sobre adb
Para colocá-lo em breve, adb
(Android Debug Bridge) é um utilitário criado para ser instalado em um computador, para permitir que ele ganhe um shell em um telefone conectado via cabo USB ou na mesma rede Wi-Fi.
Em certos dispositivos que executam o Android Lollipop (5.1.1) e, possivelmente, versões inferiores do sistema operacional, era possível induzir um dispositivo a se conectar, pois o adb
cliente também vinha incluído no telefone. Isso não é mais possível porque, a partir do Android Marshmallow (6.0), o Google removeu o adb
binário dos telefones para reduzir a superfície de ataque utilizável.
É possível, no entanto, reintroduzir manualmente o adb
cliente em um telefone, sem a necessidade de compilar o binário. Consulte o wiki da tag adb para obter mais informações sobre este tópico, bem como sobre a instalação em um computador e a solução de problemas gerais.
Onde conseguir
Algum tempo atrás, para obter adb
e outro utilitário chamado fastboot
, era necessário baixar o Android SDK completo do Google, se eles quisessem um pacote oficial. Atualmente, um pequeno pacote oficial se tornou disponível, como diz o XDA . Inclui binários para os sistemas operacionais mais comuns.
Como funciona
O adb
cliente, instalado no seu computador, faz uma conexão com um telefone conectado ou detectável por meio de um servidor interno. Em seguida, o usuário poderá enviar uma variedade de comandos para o próprio telefone, que serão ouvidos por adbd
um daemon residente no telefone.
Ao usar adb
, você representa o usuário chamado shell
(UID 2000
). Esse usuário é especial, pois pode conceder permissões de aplicativos e acessar mais informações do que um usuário simples. Esse fato, no entanto, não significa que adb
é o mesmo que su
, pois o último permite que você personifique qualquer usuário.
Mais informações sobre adb
e seu funcionamento podem ser obtidas consultando a documentação oficial .
Emitindo comandos de um telefone
A maioria dos comandos que podem ser emitidos via adb
tendem a ser utilitários pré-instalados em um telefone.
Para acessá-los, você precisa instalar um aplicativo emulador de terminal no seu telefone (observe que o Termux é especial, pois especifica o seu próprio PATH
, ignorando assim os binários do sistema). Isso permitirá, por exemplo, que você emita comandos como logcat
diretamente no seu dispositivo móvel. Lembre-se de omitir o adb
prefixo.
Vale ressaltar que, se você não tiver permissões de root, o intervalo de comandos que você poderá executar e as informações que poderá acessar serão significativamente menores do que se estiver usando adb
, porque o UID que os chama será o aplicativo em si, e os aplicativos têm menos permissões que o UID 2000
.