Podul de depanare Android

Podul de depanare Android
Tip de utilitar de linie de comandă [d]
Scris in C++
Sistem de operare Microsoft Windows , Linux și macOS
Licență Licență Apache 2.0
Site-ul web developer.android.com/st…
 Fișiere media la Wikimedia Commons

Android Debug Bridge (prescurtat în mod obișnuit ca adb ) este un instrument de programare folosit pentru a depana dispozitivele Android . Daemon pe un dispozitiv Android se conectează la un server de pe mașina gazdă prin USB sau TCP , care se conectează la clientul utilizat de utilizatorul final prin TCP. Disponibil ca software open source sub licența Google Apache din 2007, caracteristicile includ un wrapper și capacitatea de a face copii de rezervă. software adb compatibil cu Windows , Linuxși macOS . A fost folosit greșit de rețele botnet și alte programe malware pentru care au fost dezvoltate protecții precum autentificarea RSA și lista albă a dispozitivelor.

Funcții

Capacitățile adb includ copierea fișierelor de pe computerul gazdă, instalarea aplicațiilor, vizualizarea ieșirii logcat, obținerea unui shell Unix și repornirea în modul Qualcomm EDL [1] [2] [3] . De exemplu, aplicațiile Android pot fi salvate folosind comanda de rezervă în fișier [4] . De asemenea, include suport pentru Java Debug Wire Protocol [5] .

Sunt disponibile mai multe interfețe grafice. Monitorul grafic al dispozitivului Android din Android Studio poate fi folosit pentru a obține informații de la un dispozitiv Android [6] .

Istoricul dezvoltării

Android Software Development Kit (SDK) a fost lansat pentru prima dată în 2007. Începând cu 2017, Google vă permite să descărcați adb separat de Android SDK [7] .

În 2015, Microsoft a lansat un emulator Android care se poate conecta la clientul adb. În 2016, pentru Android Studio 2.0 , performanța instalării aplicațiilor și a descărcarii fișierelor prin adb a fost crescută de 5 ori. Pentru a simplifica utilizarea Android Things, a fost creat un wrapper pentru comenzi adb manuale în 2017. Pentru Android 11 în 2020, Google a adăugat instalarea incrementală adb. În 2020, adb Wi-Fi a fost integrat în Android Studio pentru macOS [8] . În 2021, pentru Android 12 , comanda de backup adb a fost limitată, astfel încât datele utilizatorilor din aplicații au fost salvate folosind o configurație manifest per aplicație [9] .

Arhitectură

Protocolul adb poate fi transferat prin USB sau prin WiFi prin TCP. Utilizează o arhitectură client-server. Sunt utilizate două protocoale diferite. Primul este între client și server, iar al doilea este între server și demon. Daemonul adb este implementat în C și rezidă în spațiul utilizatorului Android. Daemonul este acceptat de framework-ul Android USB , UsbDeviceManager și UsbDebuggingManager [5] .

Client ↔ protocol server [5]

Modul de comunicare între client și server este socket TCP . Serverul ascultă pe portul pe care clientul ar trebui să trimită cererea. Solicitarea conține un câmp inițial ASCII de 4 octeți și o sarcină utilă. Sarcina utilă începe cu cuvântul gazdă pentru a indica faptul că ar trebui trimisă la server. Serverul poate răspunde apoi cu OK sau FAIL pentru a indica starea în combinație cu încărcătura și lungimea suplimentară.

Server Protocol ↔ Daemon [5]

Mesajele trimise de pe server constau dintr-un antet de 24 de octeți cu următoarele câmpuri:

  1. Echipă
  2. Primul argument
  3. Al doilea argument
  4. Lungimea sarcinii utile, 0 sau mai mare
  5. sarcină utilă CRC32
  6. Valoarea magică calculată folosind comanda XOR 0xFFFFFFFF

Securitate

Înainte de Android 2.2 , Android era vulnerabil la exploitul RageAgainstTheCage. Daemonul adb nu a verificat valoarea returnată a apelului de sistem setuid când a renunțat la privilegii. Exploatarea furcă procesele până când eșuează din cauza epuizării ID-urilor de proces. Când un demon se blochează și repornește, nu poate începe un nou proces cu privilegii pierdute și continuă să ruleze ca root. adb a furnizat apoi un shell rădăcină [10] .

În 2017, a fost descoperită o vulnerabilitate de securitate care a folosit ADB pentru a deturna modemul încorporat. Atacul a necesitat ca adb să fie deja activat și autorizat, deși erau disponibile unele soluții [11] . Diverse familii de malware, cum ar fi ADB. Miner, Ares, IPStorm, Fbot și Trinity au scanat internetul pentru interfața publică adb și au instalat malware pe acele dispozitive. adb poate fi folosit și pentru a elimina programele malware pornind în modul sigur și rulând comanda adb [12] uninstall .

Note

  1. Lauren Darcey, Shane Conder. Dezvoltare de aplicații wireless Android . - Upper Saddle River, NJ: Addison-Wesley, 2012. - ISBN 978-0-321-81383-1 , 978-0-321-81384-8. Arhivat pe 30 mai 2022 la Wayback Machine
  2. Lucruri pe care le puteți face cu  comanda adb de la Android . manechine . Preluat: 30 mai 2022.
  3. Chuck Easttom. Ghid detaliat pentru criminalistica dispozitivelor mobile . - 2022. - ISBN 978-0-367-63300-4 , 978-0-367-63298-4. Arhivat pe 30 mai 2022 la Wayback Machine
  4. Jack Wallen. Cum să creezi o copie de rezervă completă a dispozitivului tău Android fără   root ? . TechRepublic (6 martie 2015). Preluat la 30 mai 2022. Arhivat din original la 24 ianuarie 2016.
  5. 1 2 3 4 Rajaram Regupathy. Unboxing Android USB: o abordare practică cu exemple din lumea reală . - 2014. - ISBN 978-1-4302-6209-1 .
  6. Ivan Morgillo, Stefano Viola. Învățarea programării Android N încorporate . — Packt Publishing Ltd, 29.07.2016. — 282 p. — ISBN 978-1-78528-328-4 . Arhivat pe 30 mai 2022 la Wayback Machine
  7. Google lansează Android   SDK ? . Macworld . Preluat la 30 mai 2022. Arhivat din original la 10 septembrie 2021.
  8. Trecerea la 11: Android 11 pentru  dezvoltatori . Blogul dezvoltatorilor Android . Preluat la 30 mai 2022. Arhivat din original la 17 septembrie 2021.
  9. Modificări de comportament: aplicații care vizează Android  12 . dezvoltatori Android . Preluat la 30 mai 2022. Arhivat din original la 24 mai 2022.
  10. Joshua J Drake, Zach Lanier, Collin Mulliner, Pau Oliva, Stephen A Ridley. Manual pentru hackeri Android . - Indianapolis, IN: Wiley, 2014. - ISBN 978-1-118-60861-6
  11. Tom Mendelsohn. Google conectează o vulnerabilitate severă Android care a expus dispozitivele la   spionaj ? . Ars Technica (9 ianuarie 2017). Preluat la 30 mai 2022. Arhivat din original la 10 septembrie 2021.
  12. Evan Schuman. Această aplicație Vultur duce malițiosul la următorul  nivel . Computerworld (4 august 2021). Preluat la 30 mai 2022. Arhivat din original la 10 septembrie 2021.