Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- beebox
- NTFS
- igoat
- Suninatas
- CTF-d
- Reflected XSS
- 2018
- Docker
- Strings
- Openstack
- diva
- ctf
- otter
- vulnhub
- lord of sql injection
- ESXi
- 인시큐어뱅크
- elasticsearch
- logstash
- frida
- foremost
- base64
- XSS
- SQL Injection
- Volatility
- MFT
- 안드로이드
- kibana
- 파이썬
- InsecureBank
Archives
- Today
- Total
Information Security
안드로이드 4대 컴포넌트 본문
앱 컴포넌트 (구성요소)
- 앱 컴포넌트는 안드로이드 앱의 필수적인 구성요소로 각 독립된 형태로 존재하며 정해진 역할을 수행
- 각 구성 요소는 시스템이나 사용자가 앱에 들어올 수 있는 진입점
- "인텐트"는 다른 앱 컴포넌트로부터 작업을 요청하는 데 사용할 수 있는 메시징 객체
Activity
- 사용자와 상호작용하기 위한 진입점
- 사용자 인터페이스를 포함한 화면 하나를 나타냄
- 이메일 앱이라면 새 이메일 목록을 표시하는 액티비티 하나, 이메일을 작성하는 액티비티 하나, 이메일을 읽는 데 쓰는 액티비티 하나 등이 존재
- 이메일 앱에서 허용할 경우 다른 앱에서 이와 같은 액티비티 중 하나를 시작할 수 있음
Service
- 백그라운드에서 앱을 계속 실행하기 위한 다목적인 진입점
- 사용자 인터페이스(UI)는 제공하지 않음
- 사용자가 다른 앱에 있는 동안에 백그라운드에서 음악을 재생하거나, 사용자 액티비티 간의 상호작용을 차단하지 않고 네트워크를 통해 데이터를 가져올 수 있음
Broadcast Receiver
- 시스템이 정기적인 사용자 플로우 밖에서 이벤트를 앱에 전달하도록 지원하는 컴포넌트
- 대다수의 브로드캐스트는 시스템에서 발생 (화면 꺼짐, 배터리 부족, 사진 캡처 알림 등)
- 일반 앱도 브로드캐스트를 사용하여 사용자 인터페이스를 표시하지 않지만, 상태 표시줄 알림을 생성
Content Provider
- 콘텐츠 제공자는 파일 시스템, SQLite 데이터베이스, 웹상이나 앱이 접근할 수 있는 다른 모든 영구 저장소에 저장 가능한 앱 데이터의 공유형 집합을 관리함
- 다른 앱은 제공자를 통해 해당 데이터를 쿼리하거나, 콘텐츠 제공자가 허용할 경우에는 수정도 가능
- 안드로이드 시스템은 사용자의 연락처 정보를 관리하는 콘텐츠 제공자를 제공하여, 적절한 권한을 가진 앱이라면 콘텐츠 제공자를 쿼리 하여 특정한 인물에 대한 정보를 읽고 쓸 수 있음