1. 개요
먼저 하기에 앞서 Android Studio, adb 설치를 해야 한다.
Android 해킹이나 앱 보안 분석을 시작하려면 반드시 이해하고 넘어가야 하는 두 가지 키워드가 존재한다.
바로 AVD(Android Virtual Device)와 ADB(Android Debug Bridge)이다.
간단하게 알아보자.
2-1. AVD 란?
Android Studio에서 제공하는 가상 안드로이드 디바이스이다.
Pixel, Nexus 등의 기종을 시뮬레이션하여 실제 기기 없이도 앱을 테스트하고 분석할 수 있다.

이런 식으로 가상의 모바일을 사용할 수 있다.
| 주요 특징 |
| 루팅 여부 설정 가능 (user debug image) |
| 해상도, 메모리, 저장공간, 센서 등 설정 가능 |
| 실제 APK 설치 및 실행 가능 |
| 다양한 안드로이드 버전 선택 가능 (Android 8 ~ Android 14 등) |
2-2. ADB 란?
PC에서 Android 디바이스를 제어할 수 있도록 해주는 CLI 도구이다.
기본 명령어 구조
adb [command] [options]
| 명령어 | 설명 |
| adb devices | 연결된 디바이스 목록 확인 |
| adb shell | Android 디바이스 쉘 접속 |
| adb install app.apk | APK 설치 |
| adb push local romote | 파일을 디바이스로 복사 |
| adb pull romote local | 파일을 PC로 복사 |
| adb root | 루트 권한 활성화 (루팅된 환경) |
| adb logcat | 로그 출력 |
| adb tcpip | 무선 디버깅 포트 열기 |
2-2-1. AVD 연결 예시 (Rooting)

이런 식으로 접속을 시도하면 자동적으로 root 권한을 얻을 수 있다.
이것은 가상에 디바이스이기에 따로 설루션이 있는 것이 아니라서 쉽게 접근할 수 있는 것이고
보통은 설루션을 우회해서 루팅 하는 것이 일반적이라고 할 수 있다.
3. Rooting
모바일 기기에서 구동되는 안드로이드 운영 체제의 최상위 권한(root 권한)을 얻어 해당 기기의 대한 모든 제약을 해제하는 행위를 말한다.
대부분 모바일 설루션이 설치되어 있어 우회하는 과정이 일반적이고 잘 우회가 안 되는 경우도 있다.
위의 사진을 보면 root 권한을 얻은 것으로 보이는데 저 과정을 Rooting이라고 한다.
4. Package Manager
Android OS에서 앱의 설치, 삭제, 정보 조회 등을 담당하는 시스템 서비스이다.
ADB 쉘에 진입한 뒤에 사용이 가능하다.
4-1. 기본 명령어 구조
adb shell
pm [subcommand] [options]
| 명령어 | 설명 |
| pm list packages | 설치된 모든 패키지 나열 |
| pm list packages -s | 시스템 앱만 나열 |
| pm list packages -3 | 유저 앱만 나열 |
| pm list permissions | 시스템에 등록된 퍼미션 확인 |
| pm dump [package_name] | 앱의 컴포넌트, 권한, 서비스 등 전체 정보 |
| pm path [package_name] | ARK 경로 확인 가능 |
| pm install [APK_Path] | 앱 설치 |
| pm uninstall [package_name] | 앱 삭제 |
4-2. 명령어 예시

이런 식으로 설치된 앱 목록을 확인할 수 있다.
5. Activity Manager
안드로이드에서 앱의 Activity, Task, Process를 관리하는 핵심 시스템 서비스이다.
사용자가 앱을 실행하면 화면(Activity)을 말한다.
5-1. 기본 명령어 구조
adb shell am [subcommand]
| 명령어 | 설명 |
| am start -n package/class | 명시적 액티비티 실행 |
| am start -a ACTION_VIEW | 암시적 액티비티 실행 |
| am force-stop package | 앱 강제 종료 |
| am kill package | 앱 프로세스 종료 (force-stop과 다름) |
| am broadcast -a action | 브로드캐스트 송신 |
| am instrument | 앱 단위 테스트 실행 |
| am stack / am task | 태스크 및 스택 정보 관리 |
'Mobile_security' 카테고리의 다른 글
| Android reversing - Plan (0) | 2026.02.03 |
|---|---|
| 0. Android - NDK 학습 (0) | 2025.12.22 |
| 0. Android - 아키텍처 (0) | 2025.12.17 |
| 0. Android,IOS - 모바일 사전 지식 정리 (0) | 2025.12.11 |
| 0. Android Components (글 주의) (0) | 2025.02.01 |