Около adb
Короче говоря, adb(Android Debug Bridge) - это утилита, предназначенная для установки на компьютер, чтобы позволить ей получить оболочку на телефоне, который либо подключен через USB-кабель, либо в той же сети Wi-Fi.
На некоторых устройствах под управлением Android Lollipop (5.1.1) и, возможно, более ранних версий ОС можно было обмануть устройство, чтобы оно подключилось к себе, поскольку adbклиент также входил в комплект поставки телефона. Это больше невозможно, потому что начиная с Android Marshmallow (6.0), Google удалил adbдвоичный файл с телефонов, чтобы уменьшить поверхность атаки.
Тем не менее, можно вручную ввести adbклиента в телефон без необходимости компилировать двоичный файл самостоятельно. Обратитесь к вики-тегу adb для получения дополнительной информации об этой теме, а также об установке на компьютере и общих проблемах.
Где его взять
Некоторое время назад, чтобы получить adbи другую утилиту под названием fastboot, нужно было загрузить полный Android SDK от Google, если они хотели получить официальный пакет. В настоящее время, как говорит XDA , появился небольшой официальный пакет . Включает в себя двоичные файлы для наиболее распространенных операционных систем.
Как это устроено
adbКлиент, установленный на компьютере, делает соединение с подключенным или иным образом обнаруживаемого телефона, с помощью внутреннего сервера. Затем пользователь сможет отправлять различные команды на сам телефон, который будет прослушиваться adbdдемоном, находящимся на телефоне.
При использовании adbвы выдаете себя за пользователя с именем shell(UID 2000). Этот пользователь особенный, поскольку он может предоставлять разрешения для приложений и получать доступ к большему количеству информации, чем простой пользователь. Этот факт, однако, не означает, что adbэто то же самое su, что последний позволяет выдавать себя за любого пользователя.
Более подробную информацию о adbего работе можно получить, ознакомившись с официальной документацией .
Выдача команд с телефона
Большинство команд, которые могут быть переданы через, adbкак правило, представляют собой служебные программы, которые предустановлены в телефоне.
Чтобы получить к ним доступ, вам необходимо установить приложение эмулятора терминала на свой телефон (обратите внимание, что Termux особенный, так как он определяет свой собственный PATH, тем самым игнорируя двоичные файлы системы). Это, например, позволит вам вводить команды, например, logcatпрямо на вашем мобильном устройстве. Не забудьте опустить adbпрефикс, хотя.
Стоит отметить, что, если у вас нет прав доступа root, диапазон команд, которые вы сможете выполнить, и информация, к которой вы сможете получить доступ, будет значительно меньше, чем при использовании adb, потому что вызывающий их UID будет само приложение, и приложения имеют меньше разрешений, чем UID 2000.