Jump to content

Мост отладки Android

Это хорошая статья. Нажмите здесь для получения дополнительной информации.

Мост отладки Android
Оригинальный автор(ы) Google
Стабильная версия
34.0.1 (март 2023 г.)
Репозиторий android.googlesource.com
Написано в С++
Операционная система Виндовс, Линукс, МакОС
Входит в комплект Android SDK
Тип Инструмент разработки программного обеспечения
Лицензия Лицензия Апач 2.0
Веб-сайт разработчик .android /студия /командная строка /адб

Android Debug Bridge (обычно сокращенно adb ) — это инструмент программирования , используемый для отладки устройств на базе Android . Демон , который соединяется с на устройстве Android соединяется с сервером на главном компьютере через USB или TCP клиентом, который используется конечным пользователем, через TCP. Доступен как программное обеспечение с открытым исходным кодом по лицензии Apache от Google с 2007 года. Его функции включают оболочку и возможность создания резервных копий. Программное обеспечение adb доступно для Windows , Linux и macOS . Он использовался ботнетами и другими вредоносными программами не по назначению , для чего были разработаны средства защиты, такие как аутентификация RSA и внесение в белый список устройств .

Особенности [ править ]

Монитор устройств Android

Возможности adb включают копирование файлов с главного компьютера, [1] установка приложений, просмотр вывода logcat, получение оболочки Unix , [2] и перезагрузка в режиме Qualcomm EDL . [3] Например, приложения Android можно сохранить командой backup в файл. [4] Он также включает поддержку протокола Java Debug Wire . [5]

некоторые графические интерфейсы Доступны . Графический монитор устройств Android в Android Studio можно использовать для получения информации с устройства Android. [6]

Метод Android для установки APK-файлов на устройство использовался как способ загрузки неофициальных приложений в подсистему Windows для Android. [7] и виртуальная машина Android в Chrome OS. [8]

История развития [ править ]

Комплект разработки программного обеспечения Android (SDK) был впервые выпущен в 2007 году. [9] С 2017 года Google предоставил возможность скачивать adb отдельно от Android SDK. [10]

В 2015 году Microsoft выпустила эмулятор Android, который может подключаться к клиенту adb. [11] В 2016 году для Android Studio 2.0 была повышена производительность в 5 раз при установке приложений и передаче файлов через adb. [12] Для упрощения использования Android Things в 2017 году была создана оболочка для ручных команд adb. [13] Для Android 11 в 2020 году Google добавил инкрементную установку adb. [14] В 2020 году Wi-Fi adb был интегрирован в Android Studio для macOS. [15] В 2021 году для 12 Android adb backup команда была ограничена, поэтому резервное копирование пользовательских данных из приложений включается с использованием конфигурации манифеста для каждого приложения. [16] после того, как он устарел в Android 10 вместе с adb restore. [17] Fuchsia будет обратно совместима с adb. Он будет заменен на fx и ffx. [18]

Настройка [ править ]

Главный компьютер [ править ]

Для Windows Android SDK содержит двоичный файл adb.exe, который можно извлечь и установить. [19] How-To Geek рекомендует добавить папку, содержащую двоичные файлы, в переменную среды PATH . [20]

В Ubuntu adb можно установить с помощью android-tools-adb упаковка. [21] Для Debian рекомендуется также установить android-sdk-platform-tools-common пакет рядом с adb пакет, который устанавливает правила udev , которые позволяют запускать инструмент без прав root . [22] Для macOS и других дистрибутивов Linux можно загрузить инструменты платформы и изменить переменную PATH в bashrc . [23]

Android-устройство [ править ]

В Android 4.2.2 или более поздней версии ( уровень API 17 ) отображается диалоговое окно с отпечатком пальца RSA , который пользователь должен принять. Это защищает от использования компьютерами механизма отладки без согласия пользователя устройства. [24] Начиная с Android 4.2 настройки разработчика по умолчанию скрыты. Нажатие семь раз на номер сборки в меню «О программе» делает их видимыми для пользователя. После этого можно включить опцию отладки по USB. [25] У некоторых поставщиков Android есть разные процедуры для его включения. Например, Huawei требует ввода пин-кода, прежде чем можно будет включить adb.

Если сенсорный экран устройства Android сломан, можно подключить мышь к устройству с помощью USB On-The-Go и включить отладку по USB. [26] [27]

Архитектура [ править ]

Протокол adb может передаваться через USB или через Wi-Fi через TCP . Он использует архитектуру клиент-сервер . Используются два разных протокола. Первый — между клиентом и сервером, второй — между сервером и демоном. Демон adb реализован на языке C и расположен в пользовательском пространстве Android. Демон поддерживается платформой Android USB, UsbDeviceManager и UsbDebuggingManager. [5]

Протокол клиента ↔ сервера [ править ]

Режим связи между клиентом и сервером — TCP-сокет. Сервер прослушивает порт, на который клиент должен отправить запрос. Запрос содержит 4-байтовое начальное поле в формате ASCII и полезную нагрузку. Полезная нагрузка начинается со слова хост, указывающего на то, что ее следует отправить на сервер. Затем сервер может ответить OKAY или FAIL, чтобы указать статус в сочетании с необязательной полезной нагрузкой и длиной. [5]

Сервер ↔ протокол демона [ править ]

Сообщения, отправляемые с сервера, состоят из 24-байтового заголовка со следующими полями: [5]

  • Команда
  • Первый аргумент
  • Второй аргумент
  • Длина полезной нагрузки, 0 или выше
  • CRC-32 полезных данных
  • Магическое значение, рассчитанное с помощью команды XOR 0xFFFFFFFF

Безопасность [ править ]

До версии Android 2.2 Android был уязвим для RageAgainstTheCage эксплойта . adb Демон не проверял возвращаемое значение setuid системного вызова при удалении привилегий . Эксплойт разветвляет процессы до тех пор, пока не произойдет сбой из-за исчерпания идентификаторов процессов . Когда демон выходит из строя и перезапускается, он не может запустить новый процесс с утраченными привилегиями и продолжает работать от имени пользователя root. Затем adb предоставил корневую оболочку. [28] В 2017 году была обнаружена уязвимость безопасности, которая использовала ADB для захвата встроенного модема . Для атаки требовалось, чтобы adb был уже включен и авторизован, хотя были доступны некоторые обходные пути. [29]

Различные семейства вредоносных программ, такие как ADB.Miner, Ares, IPStorm, Fbot и Trinity, сканировали Интернет на наличие общедоступного интерфейса adb и устанавливали вредоносное ПО на эти устройства. [30] adb также можно использовать для удаления вредоносного ПО , загрузившись в безопасный режим и запустив adb uninstall команда. [31]

См. также [ править ]

Ссылки [ править ]

  1. ^ Дарси, Лорен (2012). Разработка беспроводных приложений для Android . Шейн Кондер (3-е изд.). Река Аппер-Сэддл, Нью-Джерси: Аддисон-Уэсли. ISBN  978-0-321-81383-1 . OCLC   749852462 . Архивировано из оригинала 26 сентября 2021 г. Проверено 26 сентября 2021 г.
  2. ^ «Что можно сделать с помощью команды adb в Android» . Для чайников . Архивировано из оригинала 15 мая 2018 г. Проверено 9 сентября 2021 г.
  3. ^ ИСТТОМ, ЧАК (2021). Подробное руководство по криминалистике мобильных устройств . [Sl]: CRC PRESS. п. 72. ИСБН  978-0-367-63300-4 . OCLC   1250310301 . Архивировано из оригинала 26 сентября 2021 г. Проверено 26 сентября 2021 г.
  4. ^ Джек Уоллен (06 марта 2015 г.). «Как создать полную резервную копию вашего Android-устройства без рута» . Архивировано из оригинала 24 января 2016 г. Проверено 29 января 2016 г.
  5. ^ Jump up to: Перейти обратно: а б с д Регупатия, Раджарам (2014). Распаковка Android USB: практический подход с примерами из реальной жизни . Беркли, Калифорния. ISBN  978-1-4302-6209-1 . OCLC   880673864 . Архивировано из оригинала 26 сентября 2021 г. Проверено 26 сентября 2021 г. {{cite book}}: CS1 maint: отсутствует местоположение издателя ( ссылка )
  6. ^ Морджилло, Иван; Виола, Стефано (2016). Изучение программирования для встроенного Android N: создайте идеально настраиваемую систему, раскрыв возможности ОС Android на встроенном устройстве . Бирмингем, Великобритания. п. 89. ИСБН  9781785283284 . OCLC   1020708322 . Архивировано из оригинала 26 сентября 2021 г. Проверено 26 сентября 2021 г. {{cite book}}: CS1 maint: отсутствует местоположение издателя ( ссылка )
  7. ^ «Как загрузить неопубликованные приложения Android в Windows 11» . 23 января 2022 г.
  8. ^ «Как загрузить приложения на Chromebook» . 5 марта 2023 г.
  9. ^ «Google выпускает Android SDK» . Макмир . Архивировано из оригинала 10 сентября 2021 г. Проверено 10 сентября 2021 г.
  10. ^ «Google делает ADB, fastboot и другие инструменты платформы доступными без полной загрузки SDK или Android Studio» . Андроид Полиция . 05.01.2017. Архивировано из оригинала 10 апреля 2021 г. Проверено 9 сентября 2021 г.
  11. ^ Василе, Космин. «Microsoft выпускает эмулятор Android, и он должен быть быстрее, чем у Google» . Софтпедия . Архивировано из оригинала 10 сентября 2021 г. Проверено 10 сентября 2021 г.
  12. ^ «Android Studio 2.0 — бета» . Блог разработчиков Android . Архивировано из оригинала 10 сентября 2021 г. Проверено 10 сентября 2021 г.
  13. ^ «Предварительная версия Android Things для разработчиков 6» . Блог разработчиков Android . Архивировано из оригинала 10 сентября 2021 г. Проверено 10 сентября 2021 г.
  14. ^ «Доводим до версии 11: Android 11 для разработчиков» . Блог разработчиков Android . Архивировано из оригинала 17 сентября 2021 г. Проверено 10 сентября 2021 г.
  15. ^ «Анонсируем Android Studio Arctic Fox (2020.3.1) и плагин Android Gradle 7.0» . Блог разработчиков Android . Архивировано из оригинала 12 сентября 2021 г. Проверено 10 сентября 2021 г.
  16. ^ «Изменения в поведении: приложения, ориентированные на Android 12 | Android 12 Beta» . Android-разработчики . Архивировано из оригинала 28 сентября 2021 г. Проверено 28 сентября 2021 г.
  17. ^ «Google рассматривает возможность удаления резервного копирования и восстановления Android ADB» .
  18. ^ Брэдшоу, Кайл (26 августа 2022 г.). «Google хочет сделать устройствами Fuchsia управляемыми с помощью инструмента Android ADB» . 9to5Google . Проверено 29 августа 2022 г.
  19. ^ Харвани, Б.М. (2013). Сборка PhoneGap: разработка кроссплатформенных мобильных приложений в облаке . Бока Ратон. п. 38. ISBN  978-1-4665-8975-9 . OCLC   862745697 . Архивировано из оригинала 07 марта 2022 г. Проверено 29 января 2022 г. {{cite book}}: CS1 maint: отсутствует местоположение издателя ( ссылка )
  20. ^ Хоффман, Крис; Федева, Джо (4 сентября 2021 г.). «Как установить и использовать ADB, утилиту Android Debug Bridge» . Как компьютерщик . Архивировано из оригинала 18 сентября 2021 г. Проверено 9 сентября 2021 г.
  21. ^ Смит, Нил (2020). «7». Основы разработки в Android Studio 4.0 — Java Edition: разработка приложений для Android с использованием Android Studio 4.0, Java и Android Jetpack . Кэри. ISBN  978-1-951442-21-7 . OCLC   1190906409 . Архивировано из оригинала 26 сентября 2021 г. Проверено 26 сентября 2021 г. {{cite book}}: CS1 maint: отсутствует местоположение издателя ( ссылка )
  22. ^ «Debian — Подробная информация о пакете adb в яблочко» . packages.debian.org . Архивировано из оригинала 8 сентября 2021 г. Проверено 8 сентября 2021 г.
  23. ^ «Как установить Android Debug Bridge (ADB) и Fastboot» . Жизненный провод . Архивировано из оригинала 30 января 2022 г. Проверено 18 января 2022 г.
  24. ^ «Запуск приложений на аппаратном устройстве» . Android-разработчики . Архивировано из оригинала 8 сентября 2021 г. Проверено 8 сентября 2021 г.
  25. ^ Уоллен, Джек. «Как включить параметры разработчика в Android 4.2» . Техреспублика . Архивировано из оригинала 9 сентября 2021 г. Проверено 9 сентября 2021 г.
  26. ^ Огубуике, Удочи (9 августа 2019 г.). «Как включить режим отладки по USB на Android» . Удар . Архивировано из оригинала 17 сентября 2019 г. Проверено 9 сентября 2021 г.
  27. ^ Аранзулла, Сальваторе . «Как включить отладку по USB» . Сальваторе Аранзулла (на итальянском языке). Архивировано из оригинала 9 сентября 2021 г. Проверено 9 сентября 2021 г.
  28. ^ Дрейк, Джошуа Дж. (2014). Руководство Android-хакера . Зак Ланье, Коллин Муллинер, Пау Олива, Стивен А. Ридли, Георг Вичерски. Индианаполис, Индиана: Уайли. п. 75. ИСБН  978-1-118-60861-6 . ОСЛК   875820167 . Архивировано из оригинала 26 сентября 2021 г. Проверено 26 сентября 2021 г.
  29. ^ Мендельсон, Том (9 января 2017 г.). «Google устраняет серьезную уязвимость Android, из-за которой устройства могут шпионить» . Арс Техника . Архивировано из оригинала 10 сентября 2021 г. Проверено 10 сентября 2021 г.
  30. ^ Чимпану, Каталин. «Устройства Android попали в DDoS-ботнет» . ЗДНет . Архивировано из оригинала 10 сентября 2021 г. Проверено 10 сентября 2021 г.
  31. ^ Шуман, Эван. «Это приложение Vultur выводит вредоносность на новый уровень» . Компьютерный мир . Архивировано из оригинала 10 сентября 2021 г. Проверено 10 сентября 2021 г.

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 6c980588216393538f33dd4857c9458f__1713015780
URL1:https://arc.ask3.ru/arc/aa/6c/8f/6c980588216393538f33dd4857c9458f.html
Заголовок, (Title) документа по адресу, URL1:
Android Debug Bridge - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)