모의해킹/안드로이드 앱

ADB - Android Debug Bridge

초코맛동산 2024. 5. 26. 15:32

ADB(Android Debug Bridge)

: 안드로이드 애뮬레이터 혹은 실제 Device와 통신 및 제어를 가능하게 하는 안드로이드 디버깅 도구. 안드로이드 SDK에 포함되어 있어 추가 설치 없이 간편하게 해당 툴을 사용할 수 있다. 

위치: (안드로이드 SDK를 설치했다면) C:(생략)\Android\Sdk\platform-tools

 

 

 

1. ADB 3요소

요소 설명
클라이언트 안드로이드 개발 시스템에서 실행. ADB 명령어 입력한 후 쉘에서 클라이언트 호출.
서버 안드로이드 개발 시스템에서 백그라운드 프로세스로 실행. 클라이언트와 데몬 간 통신을 관리. 
데몬(adbd) 에뮬레이터나 각 기기에서 백그라운드 프로세스로 실행. 기 기에서 명령어를 실행

 

 

2. ADB 작동 방식

1 ADB 클라이언트 시작 시 ADB 서버 프로세서가 실행 중인지 점검
2 실행 상태가 아닐 때 -> 서버 프로세스 구동
실행 상태일 때 -> TCP 5037 포트에 바인드하며 모든 클라이언트가 해당 포트로 ADB 서버와 통신.
즉, 전송된 명령어를 리슨.
3 에뮬레이터/장치 인스턴스에 대한 연결 설정
4 포트 번호 5555 ~ 5585의 범위 안에서 홀수 번호 포트를 스캐닝(장치를 찾음)
5 서버가 ADB 데몬을 발견하면 해당 포트 번호와의 연결을 설정. ADB는 홀수 포트를 갖고, 에뮬레이터 인스턴스 콘솔 포트는 짝수 포트와 연결.
6 서버가 모든 장치에 연결되면 사용자는 인스턴스에 접근할 수 있는 ADB 명령을 수행할 수 있다. 

 

 

3. ADB 디바이스 장치 선택

3.1 장치가 1개일 때

1. 연결 명령어 입력: adb shell

 

+) 옵션:

USB 디바이스 -d
애뮬레이터 -e

 

 

3.2 장치가 2개 이상일 때 

1. 연결 장치 확인 : adb devices

 

 

- 시리얼 번호, 상태로 구성

device ADB 서버와 연결되어 있는 경우의 상태 표시
offline ADB 서버와 연결되어 있지 않거나 응답이 없는(부팅 중) 경우의 상태 표시

 

 

2. 연결 명령어 입력: adb -s [장치명] shell  


#출처

ADB: 

https://developer.android.com/tools/adb?hl=ko

 

Android 디버그 브리지(adb)  |  Android Studio  |  Android Developers

기기와 통신할 수 있도록 지원하는 다목적 명령줄 도구인 Android 디버그 브리지에 대해 알아보세요.

developer.android.com

교재:

안드로이드 모바일 앱 모의해킹. 조정원 외 4인 지음.