약 adb
간단히 말해 adb
(Android Debug Bridge)는 컴퓨터에 설치되어 USB 케이블이나 동일한 Wi-Fi 네트워크를 통해 연결된 전화기에서 셸을 얻는 유틸리티입니다.
Android Lollipop (5.1.1) 및 더 낮은 버전의 OS를 실행하는 특정 기기에서는 adb
클라이언트가 휴대 전화에 번들로 제공 되므로 기기를 연결하여 자신을 연결하는 것이 가능했습니다 . 이는 더 이상 가능하지 안드로이드 산들 바람 (6.0)에서 이후, 때문에 구글이 제거 된 adb
바이너리 가능한 공격 표면을 줄이기 위해 휴대폰에서합니다.
그러나 adb
바이너리를 직접 컴파일 할 필요없이 전화로 클라이언트 를 수동으로 다시 소개 할 수 있습니다. 이 주제 및 컴퓨터에 설치 및 일반적인 문제 해결에 대한 자세한 정보 는 adb 태그 위키 를 참조하십시오 .
어디서 구할 수 있습니까
얼마 전, adb
이라는 다른 유틸리티 를 얻기 위해 fastboot
공식 패키지를 원한다면 Google에서 전체 Android SDK를 다운로드해야했습니다. XDA에 따르면 오늘날에는 작은 공식 번들이 제공되고 있습니다 . 가장 일반적인 운영 체제에 대한 바이너리가 포함되어 있습니다.
작동 원리
adb
컴퓨터에 설치 클라이언트는 내부 서버를 이용하여 연결하거나 감지 전화에 연결을합니다. 그런 다음 사용자는 전화 자체에 다양한 명령을 보낼 수 있으며, 전화에 상주 adbd
하는 데몬이 이를들을 수 있습니다 .
를 사용할 때 (UID ) adb
라는 사용자를 가장합니다 . 이 사용자는 앱 사용 권한을 부여하고 단순한 사용자보다 더 많은 정보에 액세스 할 수 있다는 점에서 특별합니다. 그렇다고 해서 후자가 모든 사용자를 가장 할 수 있기 때문에 와 같은 의미는 아닙니다 .shell
2000
adb
su
공식 문서를adb
보면 자세한 정보 와 작업 내용을 얻을 수 있습니다 .
전화에서 명령 발행
통해 실행할 수있는 대부분의 명령 adb
은 전화에 사전 설치된 유틸리티 인 경향이 있습니다.
그것들에 액세스하려면 휴대 전화에 터미널 에뮬레이터 앱을 설치해야합니다 (Termux는 특별 PATH
하므로 시스템 바이너리를 무시하므로 자체를 지정 합니다). 예를 들어, logcat
모바일 장치에서 직접 같은 명령을 실행할 수 있습니다 . 그러나 접두사 를 생략하십시오 adb
.
루트 권한이 없으면 실행할 수있는 명령의 범위와 액세스 할 수있는 정보가를 사용하는 경우보다 훨씬 적습니다. adb
이를 호출하는 UID는 앱 자체이며 앱은 UID보다 권한이 적습니다 2000
.