모바일

[안드로이드 취약점 진단] 1-3. 안드로이드 파일시스템 및 프로젝트 파일 구성

동로시 2022. 6. 7. 02:26

안드로이드 파일 시스템

 

디렉토리 설명
/ 루트 파일 시스템 디렉토리, 부팅 관련 설정 파일을 참고해 초기 프로세스 정보 포함
/data 사용자 애플리케이션이 저장되는 장소
/data/app 사용자 애플리케이션이 설치되는 장소
/data/data/[패키지이름]/ 해당 애플리케이션의 라이브러리 및 DB가 저장되는 장소
/cache 캐시
/system 관리 애플리케이션이 저장되는 장소
/sdcard 외부 저장소, sdcard
/data/data/[패키지이름]/shared_prefs 애플리케이션 상태, 간단한 사용자 정보 및 구성 옵션 등의 정보 저장/복원
key-value 구조로 XML 파일
activity 내에서 혹은 동일 애플리케이션의 여러 activity간 데이터 공유 가능
/data/data/[패키지 이름]/databases 다른 애플리케이션에서는 접근 불가
/data/data/[패키지 이름]/files 애플리케이션 내부 저장소
애플리케이션이 삭제되면 해당 데이터도 삭제
/mnt/sdcard 사용자 데이터(사진, 동영상 등)이 저장
일반적으로 디바이스의 외장 sd 카드지만 디바이스 내부에 탑재되어 있는 경우도 존재

특정 애플리케이션만 사용하는 고유 영역과 함께 사용되는 공통 영역 존재, 고유 영역은 해당 애플리케이션이 삭제될 때 함께 삭제, 공통 영역은애플리케이션 삭제에 영향x

외부 저장소에 저장된 데이터는 고유 영역에 저장되어 있어도 다른 애플리케이션에 의해 접근 가능

 

프로젝트 파일 구성 (이클립스)

/src : 소스

/gen : 자동 생성 디렉토리, 내부에 R.java 자동 생성

(R.java : 실행 코드 내부에서 리소스들을 쉽게 사용할 수 있게 해주는 R 객체 인스턴스의 기본 클래스)

/res : 리소스

/layout/main.xml : 레이아웃, 기본 레이아웃 = main.xml

/values/strings.xml : 문자열, 배열, 색상, 크기 등에 대한 리소스 관리 strings.xml

AndroidMainfest.xml : 이름, 버전, 구성요소, 권한 등 설정

 

프로젝트 파일 구성 (안드로이드 스튜디오)

프로젝트

모듈 : 애플리케이션이나 라이브러리를 구성ㅇ하는 최소 단위, 이클립스의 프로젝트

Gradle Wrapper : Gradle 툴을 편리하게 사용할 수 있도록 도와주는 스크립트