Около 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
.