À propos de adb
Pour le dire brièvement, adb
(Android Debug Bridge) est un utilitaire conçu pour être installé sur un ordinateur, afin de lui permettre de gagner un shell sur un téléphone qui est connecté via un câble USB ou sur le même réseau Wi-Fi.
Sur certains appareils exécutant Android Lollipop (5.1.1) et éventuellement des versions inférieures du système d'exploitation, il était possible de tromper un appareil pour qu'il se connecte à lui-même, car le adb
client était également fourni avec le téléphone. Ce n'est plus possible car, à partir d'Android Marshmallow (6.0), Google a supprimé le adb
binaire des téléphones pour réduire la surface d'attaque utilisable.
Il est cependant possible de réintroduire manuellement le adb
client sur un téléphone, sans avoir besoin de compiler le binaire vous-même. Reportez-vous au wiki de la balise adb pour plus d'informations sur ce sujet, ainsi que sur l'installation sur un ordinateur et le dépannage général.
Où l'obtenir
Il y a quelque temps, pour obtenir adb
un autre utilitaire, appelé fastboot
, il fallait télécharger le SDK Android complet de Google, s'ils voulaient un package officiel. De nos jours, un petit ensemble officiel est devenu disponible, comme le dit XDA . Il comprend des fichiers binaires pour les systèmes d'exploitation les plus courants.
Comment ça fonctionne
Le adb
client, installé sur votre ordinateur, se connecte à un téléphone branché ou autrement détectable, au moyen d'un serveur interne. Ensuite, l'utilisateur pourra envoyer diverses commandes au téléphone lui-même, qui seront écoutées par adbd
un démon résidant sur le téléphone.
Lors de l'utilisation adb
, vous empruntez l'identité de l'utilisateur appelé shell
(UID 2000
). Cet utilisateur est spécial, car il peut accorder des autorisations d'application et accéder à plus d'informations qu'un simple utilisateur. Ce fait, cependant, ne signifie pas que adb
c'est la même chose su
, car ce dernier vous permet d'usurper l'identité de n'importe quel utilisateur.
Plus d'informations sur adb
et son fonctionnement peuvent être obtenues en consultant la documentation officielle .
Émettre des commandes à partir d'un téléphone
La majorité des commandes pouvant être émises via sont adb
généralement des utilitaires préinstallés dans un téléphone.
Pour y accéder, vous devez installer une application d'émulation de terminal sur votre téléphone (notez que Termux est spécial, car il spécifie le sien PATH
, ignorant ainsi les binaires du système). Cela vous permettra, par exemple, d'émettre des commandes telles que logcat
directement sur votre appareil mobile. N'oubliez pas d'omettre le adb
préfixe, cependant.
Il convient de mentionner que, si vous ne disposez pas des autorisations root, la gamme de commandes que vous pourrez exécuter et les informations auxquelles vous pourrez accéder seront nettement inférieures à celles utilisées adb
, car l'UID qui les invoque sera le l'application elle-même et les applications ont moins d'autorisations que l'UID 2000
.