APK란?

Android Package로 안드로이드에서 앱을 설치하기 위해서 사용하는 파일 포맷이다.

확장자가 .apk이다.

애플 IOS에서는 IPA란 확장자 파일을 사용하고 있는데 IOS의 경우 탈옥을 하지 않으면 AppStore 이 외의 앱은 설치 할 수 없다. 하지만 안드로이드는 루팅을 하지 않아도 스토어 이 외의 APK 파일을 설치 가능하다.

 

 

앱 종류

앱은 보통 3가지로 분류할 수 있다.

1. Native Apps

2. Web Apps

3. Hybrid Apps

 

1. Native Apps

네이티브 앱은 보통 앱스토어에서 판매 및 다운로드가 가능한 앱이다.

예를 들면 게임이 있다. 

Native Apps

네이티브 앱의 특징으로는 모바일 기기의 하드웨어 접근 제어가 가능한데 무슨 말이냐면

예를 들어 카카오톡의 경우 모바일 기기의 주소록에 접근하여 다른 사람의 번호를 가져올 수 있다. 

또는 앨범에 접근하여 다른 사진들을 불러올 수 있다. 

이렇게 하드웨어적으로 접근할 수 있는 기능을 갖고 있는 앱이 네이티브 앱이다.

 

2. Web Apps

웹 앱은 스토어에서 판매 및 다운로드를 할 수 없다.

왜냐하면 브라우저(크롬, 사파리)를 사용하여 그냥 웹 페이지를 들어가는 것 뿐.

 

예를 들어 크롬을 열고 URL창에 www.naver.com을 입력한다.  

PC로 접속했을 때

PC로 접속하면 화면 상에 위와 같은 사진처럼 보이지만

모바일로 접속하면 아래 사진 처럼 보인다.

모바일로 접속했을 때

 

이 처럼 웹 앱은 모바일 기기의 화면 크기에 맞춰서 동적으로 웹 페이지를 제공한다. 

하드웨어 접근 제어가 불가능하다.

 

3. Hybrid Apps

하이브리드 앱은 Native Apps + Web Apps 이다.

예를 들면 Naver App이 있다.

Naver App으로 네이버를 접속하는 것과 크롬으로 www.naver.com을 사용하여 네이버에 접속하는 것은

보기에는 별 다른 차이가 없지만 기능적으로는 차이가 있다.

 

Naver App으로 접속

Naver App으로 네이버를 접속하면 다음과 같이 음악을 찾을 수 있는 기능이 있다.

Naver App으로 음악 찾기

Naver App을 사용하면 앱이 마이크에 접근하여 현재 들려오는 노래 소리를 마이크로 입력 받아서 노래를 찾는다. 

이 처럼 Hybrid App은 Native App과 마찬가지로 하드웨어 접근 제어가 가능하다. 그리고 Web App처럼 웹 페이지를 모바일 화면에 맞게 보여준다.

 

다음은 Web App에서 음악 찾기 기능을 사용했을 때 어떻게 되는지 보여준다. 

브라우저로 네이버에 접속

 

Web App으로 음악 찾기 기능을 사용할 때

이 처럼 Web App은 마이크에 접근하여 음악 소리를 받아오지 못하기 때문에 Hybrid App인 Naver App을 이용하여

음악 찾기를 시도하려고 한다.

'Android > Reversing' 카테고리의 다른 글

ELF Parser  (0) 2020.03.09
Smali Code  (0) 2020.03.04
DEX 구조  (0) 2020.03.02
안드로이드 APK 구성  (0) 2020.03.02
안드로이드 리버스 엔지니어링 공부 순서  (0) 2020.03.01

WRITTEN BY
Bugday

,