0. Android - AVD, ADB, Rooting, Pm

2025. 7. 22. 14:52·Mobile_security

1. 개요

먼저 하기에 앞서 Android Studio, adb 설치를 해야 한다.

Android 해킹이나 앱 보안 분석을 시작하려면 반드시 이해하고 넘어가야 하는 두 가지 키워드가 존재한다.

바로 AVD(Android Virtual Device)와 ADB(Android Debug Bridge)이다. 

간단하게 알아보자.

2-1. AVD 란?

Android Studio에서 제공하는 가상 안드로이드 디바이스이다.

Pixel, Nexus 등의 기종을 시뮬레이션하여 실제 기기 없이도 앱을 테스트하고 분석할 수 있다.

 

Android AVD Virtual Mobile

 

이런 식으로 가상의 모바일을 사용할 수 있다.

 

더보기
주요 특징
루팅 여부 설정 가능 (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
'Mobile_security' 카테고리의 다른 글
  • 0. Android - NDK 학습
  • 0. Android - 아키텍처
  • 0. Android,IOS - 모바일 사전 지식 정리
  • 0. Android Components (글 주의)
G_OM
G_OM
최대한 설명 열심히 하려고 합니다. 궁금한 거 있으면 언제든지 물어보셔도 좋습니다.
  • G_OM
    끄적끄적
    G_OM
  • 전체
    오늘
    어제
    • 분류 전체보기 (157)
      • 모의해킹 (18)
      • CTF (22)
      • Wargame (69)
        • Linux_bandit (33)
        • Webhacking.kr (36)
      • DreamHack (52)
        • WEB (14)
        • Reverising (9)
        • System (0)
      • Mobile_security (13)
        • Drozer_Android (4)
        • Frida_Android (1)
        • IOS (1)
        • tool (1)
      • 정보보안기사 (2)
      • IT? (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • Github
  • 공지사항

    • DreamHack 에 대한 문제들...
  • 인기 글

  • 태그

    bandit18
    php wrapper
    url encode
    wargame
    CTF
    Dreamhack
    php
    리눅스 워게임
    Linux wargame
    insecurebankv2
    sql injection
    OSINT
    webhacking.kr
    cookies
    난독화
    bandit30
    모의해킹
    Linux
    Frida
    Android
    bandit20
    bandit17
    리눅스
    drozer
    overthewire
    lfi
    bandit
    정보보안기사
    webhacking
    워게임
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
G_OM
0. Android - AVD, ADB, Rooting, Pm
상단으로

티스토리툴바