Android Debug Bridge - Android Debug Bridge
|
Executando o subcomando de enumeração de dispositivo de adb no PowerShell
| |
| Autor (es) original (is) | |
|---|---|
| Versão estável | 31.0.3
|
| Repositório | android |
| Escrito em | C ++ |
| Sistema operacional | Windows, Linux, macOS |
| Incluído com | Android SDK |
| Modelo | Ferramenta de desenvolvimento de software |
| Licença | Licença Apache 2.0 |
| Local na rede Internet | desenvolvedor |
O Android Debug Bridge , comumente abreviado como adb, é uma ferramenta de programação usada para depurar dispositivos baseados em Android usando uma conexão USB ou TCP . Ele consiste em um cliente e um servidor no PC host, onde o servidor se conecta ao daemon no dispositivo Android. Está disponível desde 2007 e inclui várias funcionalidades, como a shell e a possibilidade de fazer backups. Ele viu diferentes ataques de segurança e melhorias para mitigá-los.
Recursos
Os recursos do adb incluem a cópia de arquivos do computador host, a instalação de aplicativos, a exibição da saída do logcat, a obtenção de um shell Unix e a reinicialização no modo Qualcomm EDL . Por exemplo, os aplicativos Android podem ser salvos pelo comando backupem um arquivo, cujo nome é backup.abpor padrão. Também inclui suporte para o Java Debug Wire Protocol . Algumas interfaces gráficas foram disponibilizadas.
História
A primeira versão beta do Android SDK foi em 2007. Desde 2017, o Google tornou possível baixar ADB separadamente do Android SDK . Em 2015, a Microsoft lançou um emulador Android capaz de se conectar usando ADB. Para o Android 11, o Google adicionou instalações incrementais ADB. No Android Studio 2.0, uma melhoria de desempenho de 5x foi feita para instalar aplicativos e enviar arquivos através do ADB. Para facilitar o uso do Android Things , um wrapper foi criado em torno dos comandos ADB manuais. Em 2020, o Wi-Fi ADB foi integrado ao Android Studio para macOS. No Android 12 , o adb backupcomando será limitado.
Habilitação
Computador host
Para Windows, o Android SDK contém o binário adb.exe que pode ser extraído e instalado, junto com o software fastboot . Recomenda-se adicionar a pasta que contém os binários à variável de ambiente PATH .
No Ubuntu , o ADB pode ser instalado com o android-tools-adbpacote. Para o Debian , foi recomendado instalar também o android-sdk-platform-tools-commonpacote próximo ao adbpacote, que instala as regras do udev , o que torna possível executar a ferramenta sem permissões de root .
Dispositivo Android
No Android 4.2.2 ou posterior (API de nível 17), uma caixa de diálogo é exibida com uma impressão digital RSA que precisa ser aceita. Isso protege contra computadores que exploram o mecanismo de depuração sem o consentimento do usuário do telefone. A partir do Android 4.2, as configurações do desenvolvedor ficam ocultas por padrão. Para torná-los visíveis, é necessário pressionar sete vezes no número da compilação no menu sobre. Depois disso, a opção de depuração USB pode ser habilitada. O procedimento é diferente para alguns fornecedores de Android. Para Huawei, é necessário inserir um código PIN antes de habilitar o adb.
Se a tela sensível ao toque de um dispositivo Android estiver quebrada, pode ser possível conectar um mouse usando USB On-The-Go e habilitar a depuração USB.
Arquitetura
O ADB pode ser transportado por USB ou pela rede por meio de TCP . Ele usa uma arquitetura cliente-servidor .
Segurança
Até o Android 2.2 , o Android era vulnerável ao exploit RageAgainstTheCage . O daemon ADB não verificou o valor de retorno da chamada do sistema setuid ao descartar privilégios . A exploração bifurca os processos até que falhe devido ao esgotamento dos identificadores de processo . Quando o daemon trava e reinicia, ele não pode iniciar um novo processo com privilégios perdidos e continua executando como root. Então o adb forneceu um shell de root. Em 2017, foi divulgada uma vulnerabilidade de segurança que explorava o ADB para assumir o controle do modem integrado . O ataque exigia que o ADB já estivesse habilitado e autorizado, embora algumas soluções alternativas estivessem disponíveis. Várias famílias de malware, como ADB.Miner, Ares, IPStorm, Fbot e Trinity, examinaram a Internet quanto à disponibilidade pública da interface ADB e instalaram malware nesses dispositivos. O ADB também foi usado no processo de eliminação de malware , inicializando no modo de segurança e executando o comando.
adb uninstall