Android Debug Bridge: Difference between revisions

Content deleted Content added
GreenC bot (talk | contribs)
Rescued 1 archive link. Wayback Medic 2.5 per WP:USURPURL and JUDI batch #26ai
Citation bot (talk | contribs)
Removed URL that duplicated identifier. Removed access-date with no URL. Removed parameters. | Use this bot. Report bugs. | #UCB_CommandLine
 
(3 intermediate revisions by 3 users not shown)
Line 50:
== Features ==
[[File:Android Device Monitor.png|thumb|left|Android Device Monitor]]
Features of adb include copying files from the host computer,<ref>{{Cite book|last=Darcey|first=Lauren|url=https://www.worldcat.org/oclc/749852462|title=Android wireless application development|date=2012|publisher=Addison-Wesley|others=Shane Conder|isbn=978-0-321-81383-1|edition=3rd|___location=Upper Saddle River, NJ|oclc=749852462|access-date=2021-09-26|archive-date=2021-09-26|archive-url=https://web.archive.org/web/20210926122121/https://www.worldcat.org/title/android-wireless-application-development/oclc/749852462|url-status=live}}</ref> installing apps, viewing logcat output, getting a [[Unix shell]],<ref>{{Cite web|title=Things You Can Do with Android's adb Command|url=https://www.dummies.com/web-design-development/mobile-apps/android-apps/things-you-can-do-with-androids-adb-command/|url-status=live|access-date=2021-09-09|website=[[For Dummies]]|language=en|archive-date=2018-05-15|archive-url=https://web.archive.org/web/20180515143530/https://www.dummies.com/web-design-development/mobile-apps/android-apps/things-you-can-do-with-androids-adb-command}}</ref> and rebooting into [[Qualcomm EDL mode]].<ref>{{Cite book|last=EASTTOM|first=CHUCK|url=https://www.worldcat.org/oclc/1250310301|title=An In-Depth Guide to Mobile Device Forensics|date=2021|publisher=CRC PRESS|isbn=978-0-367-63300-4|___location=[S.l.]|pages=72|oclc=1250310301|access-date=2021-09-26|archive-date=2021-09-26|archive-url=https://web.archive.org/web/20210926122044/https://www.worldcat.org/title/in-depth-guide-to-mobile-device-forensics/oclc/1250310301|url-status=live}}</ref> For example, Android [[Android application package|applications]] can be saved by the command <code>[[backup]]</code> to a file.<ref>{{cite web|author=Jack Wallen|date=2015-03-06|title=How to create a full backup of your Android device without root|url=https://www.techrepublic.com/article/how-to-create-a-full-backup-of-your-android-device-without-root/|access-date=2016-01-29|archive-date=2016-01-24|archive-url=https://web.archive.org/web/20160124184710/https://www.techrepublic.com/article/how-to-create-a-full-backup-of-your-android-device-without-root/|url-status=live}}</ref> It also includes support for the [[Java Debug Wire Protocol]].<ref name=":0">{{Cite book|last=Regupathy|first=Rajaram|url=https://www.worldcat.org/oclc/880673864|title=Unboxing Android USB: a hands-on approach with real World examples|date=2014|isbn=978-1-4302-6209-1|___location=Berkeley, CA|oclc=880673864|access-date=2021-09-26|archive-date=2021-09-26|archive-url=https://web.archive.org/web/20210926122019/https://www.worldcat.org/title/unboxing-android-usb-a-hands-on-approach-with-real-world-examples/oclc/880673864|url-status=live}}</ref>
 
Some [[Graphical user interface|graphical interfaces]] have been made available. The graphical Android Device Monitor in [[Android Studio]] can be used for retrieving information from an Android device.<ref>{{Cite book|last1=Morgillo|first1=Ivan|last2=Viola|first2=Stefano|url=https://books.google.com/books?id=bOrUDQAAQBAJ|title=Learning embedded Android N programming: create the perfectly customized system by unleashing the power of Android OS on your embedded device|date=2016|___location=Birmingham, UK|page=89|isbn=9781785283284|oclc=1020708322|access-date=2021-09-26|archive-date=2021-09-26|archive-url=https://web.archive.org/web/20210926122010/https://www.worldcat.org/title/learning-embedded-android-n-programming-create-the-perfectly-customized-system-by-unleashing-the-power-of-android-os-on-your-embedded-device/oclc/957278992|url-status=live}}</ref>
Line 68:
|width=200 | height=350
|align=right
|File:USB debugging prompt warning - Android 13.png|For enabling USB debugging on the Android device, it needs to be enabled in the "developer settings" window
|File:Android Debug Bridge allow.png
|For enabling File:USB debugging onprompt the- RSA auth - Android 13.png|After the device is connected to the host computer, itthe user needs to beverify enabledthe inRSA thekey "developerfingerprint of the settings"host windowcomputer
|File:Android Debug Bridge RSA key fingerprint.png
|After the device is connected to the host computer, the user needs to verify the RSA key fingerprint of the host computer
}}
 
=== Host computer ===
For Windows, the Android SDK contains the adb.exe binary that can be extracted and installed.<ref>{{Cite book|last=Harwani|first=B. M.|url=https://www.worldcat.org/oclc/862745697|title=PhoneGap build: developing cross platform mobile applications in the cloud|date=2013|isbn=978-1-4665-8975-9|___location=Boca Raton|pages=38|oclc=862745697|access-date=2022-01-29|archive-date=2022-03-07|archive-url=https://web.archive.org/web/20220307163655/https://www.worldcat.org/title/phonegap-build-developing-cross-platform-mobile-applications-in-the-cloud/oclc/862745697|url-status=live}}</ref> How-To Geek recommends adding the folder containing the binaries to the [[PATH (variable)|PATH]] environment variable.<ref>{{Cite web|last1=Hoffman|first1=Chris|last2=Fedewa|first2=Joe|date=4 September 2021|title=How to Install and Use ADB, the Android Debug Bridge Utility|url=https://www.howtogeek.com/125769/how-to-install-and-use-abd-the-android-debug-bridge-utility/|url-status=live|access-date=2021-09-09|website=How-To Geek|language=en-US|archive-date=2021-09-18|archive-url=https://web.archive.org/web/20210918232917/https://www.howtogeek.com/125769/how-to-install-and-use-abd-the-android-debug-bridge-utility/}}</ref>
 
On [[Ubuntu]], adb can be installed with the <code>android-tools-adb</code> package.<ref>{{Cite book|last=Smyth|first=Neil|url=https://www.worldcat.org/oclc/1190906409|title=Android Studio 4. 0 Development Essentials - Java Edition: Developing Android Apps Using Android Studio 4. 0, Java and Android Jetpack.|date=2020|isbn=978-1-951442-21-7|___location=Cary|chapter=7|oclc=1190906409|access-date=2021-09-26|archive-date=2021-09-26|archive-url=https://web.archive.org/web/20210926121959/https://www.worldcat.org/title/android-studio-4-0-development-essentials-java-edition-developing-android-apps-using-android-studio-4-0-java-and-android-jetpack/oclc/1190906409|url-status=live}}</ref> For [[Debian]], it has been recommended to also install the <code>android-sdk-platform-tools-common</code> package next to the <code>adb</code> package, which installs the [[udev]] rules which makes it possible to run the tool without [[Superuser|root permissions]].<ref>{{Cite web|title=Debian -- Details of package adb in bullseye|url=https://packages.debian.org/stable/adb|access-date=2021-09-08|website=packages.debian.org|archive-date=2021-09-08|archive-url=https://web.archive.org/web/20210908120401/https://packages.debian.org/stable/adb|url-status=live}}</ref> For macOS and other Linux distributions, the platform tools can be downloaded and the PATH variable can be modified in [[Bash (Unix shell)|bashrc]].<ref>{{Cite web|title=How to Install Android Debug Bridge (ADB) and Fastboot|url=https://www.lifewire.com/android-debug-bridge-adb-4149410 |archive-url=https://ghostarchive.org/archive/20220130/https://www.lifewire.com/android-debug-bridge-adb-4149410 |archive-date=2022-01-30|url-status=live|access-date=2022-01-18|website=[[Lifewire]]|language=en}}{{cbignore}}</ref>
 
=== Android device ===
Line 101 ⟶ 99:
 
== Security ==
Up to [[Android 2.2]], Android was vulnerable to the ''RageAgainstTheCage'' [[Exploit (computer security)|exploit]]. The adb [[Daemon (computing)|daemon]] did not check for the return value of the [[setuid]] [[system call]] when [[dropping privileges]]. The exploit [[Fork (system call)|forks]] processes until it fails due to the exhaustion of [[process identifier]]s. When the daemon crashes and restarts, it cannot start a new process with dropped privileges and keeps running as root. Then adb provided a root shell.<ref>{{Cite book|last=Drake|first=Joshua J.|url=https://www.worldcat.org/oclc/875820167|title=Android hacker's handbook|date=2014|publisher=Wiley|others=Zach Lanier, Collin Mulliner, Pau Oliva, Stephen A. Ridley, Georg Wicherski|isbn=978-1-118-60861-6|___location=Indianapolis, IN|pages=75|oclc=875820167|access-date=2021-09-26|archive-date=2021-09-26|archive-url=https://web.archive.org/web/20210926122022/https://www.worldcat.org/title/android-hackers-handbook/oclc/875820167|url-status=live}}</ref> In 2017, a security vulnerability was disclosed that exploited ADB to take over the onboard [[modem]]. The attack required adb to be already enabled and authorized, although some workarounds were available.<ref>{{Cite web|last=Mendelsohn|first=Tom|date=2017-01-09|title=Google plugs severe Android vulnerability that exposed devices to spying|url=https://arstechnica.com/information-technology/2017/01/google-plugs-severe-android-bootmode-vulnerability/|url-status=live|access-date=2021-09-10|website=[[Ars Technica]]|language=en-us|archive-date=2021-09-10|archive-url=https://web.archive.org/web/20210910135518/https://arstechnica.com/information-technology/2017/01/google-plugs-severe-android-bootmode-vulnerability/}}</ref>
 
Various families of malware such as ADB.Miner, Ares, IPStorm, Fbot and Trinity have scanned the internet for public availability of the adb interface and installed malware on those devices.<ref>{{Cite web|last=Cimpanu|first=Catalin|title=Android devices ensnared in DDoS botnet|url=https://www.zdnet.com/article/android-devices-ensnared-in-ddos-botnet/|url-status=live|access-date=2021-09-10|website=[[ZDNet]]|language=en|archive-date=2021-09-10|archive-url=https://web.archive.org/web/20210910135518/https://www.zdnet.com/article/android-devices-ensnared-in-ddos-botnet/}}</ref> adb can also be used to remove [[malware]], by booting into [[safe mode]] and running the <code>adb uninstall</code> command.<ref>{{Cite news|last=Schuman|first=Evan|title=This Vultur app takes malicious to the next level|language=en|work=[[Computerworld]]|url=https://www.computerworld.com/article/3627326/this-vultur-app-takes-malicious-to-the-next-level.html|access-date=2021-09-10|archive-date=2021-09-10|archive-url=https://web.archive.org/web/20210910135522/https://www.computerworld.com/article/3627326/this-vultur-app-takes-malicious-to-the-next-level.html|url-status=live}}</ref>