본문 바로가기

Hacking & Security/Android

ART vs Dalvik, Pros & Cons about Rooting

ART vs Dalvik , Pros & cons about rooting


ART vs Dalvik


안드로이드는 크게 2가지 컴파일 방식이 존재하며 이는 AOT 와 JIT 컴파일이다.

ART는 Android 5.0 버전부터 정식으로 채택되었다.

ART와 Dalvik 의 가장 큰 차이는 컴파일 방식에 있다.

달빅은 JIT(Just - In - Time) 컴파일러를 이용하고 ART는 AOT(Ahead - Of - Time) 컴파일러를 이용한다.

AOT vs JIT


JIT는 이름 그대로 실행 시점에 소스 코드를 번역한다. 따라서, 설치(Boot)는 매우 빠르나 실행(load) 시점에 느려진다.

또한, 변환한 코드를 메모리에 올려야 하기 때문에 많은 메모리를 소요한다.

AOT설치 시점에 소스 코드를 번역한다. 따라서 설치(boot) 속도가 다소 느리고, 변환을 진행하여 따로 파일을 저장하기 때문에 용량을 많이 차지하게 된다. 하지만 실행(load)시점에는 미리 변환해놓은 파일을 실행하므로 빠르게 실행이 가능하다.

결론

즉, JIT는 디바이스에서 앱을 실행할 때 마다 변환해야 하므로 느리고, AOT는 미리 변환을 하여 저장해 놓으므로 빠름.

AOT : 설치속도 느림, 실행속도 빠름

JIT : 설치속도 빠름, 실행속도 느림

Pros and Cons about Rooting


What is Rooting?


UNIX계열의 시스템에서 루트의 권한을 가지면 시스템을 자유자재로 변경할 수 있다. 그러나 마음대로 시스템을 변경하다보면 시스템이 엉망진창이 될 수 있기 때문에 많은 기기의 제작사 또는 서비스 제공업체에서는 제품 출시 이전 루트 권한을 막아놓는다.

이와 같이 허가되지 않은 기기에서의 루트 계정 권한을 획득하는 것을 루팅이라고 한다.

Pros about Rooting


배터리 사용량 증가, 프로그램의 성능 개선, 사용자 기호에 맞도록 기기 설정등 다양한 장점이 존재한다.

실제로 스마트폰의 CPU 클럭을 조절하여 앱의 실행속도를 높일 수도 있고 반대로 이를 낮춰 배터리 소모를 낮출수도 있다. 즉

또한 통신사에서 자신 회사의 고유 앱을 미리 깔아놓고 이를 지우지 못하게 하는 경우가 존재하나 루팅을 통하면 이를 지워 시스템의 저장 공간을 더 넓게 쓸 수 있고, 시스템의 메모리 부담을 줄일 수 있다. 심지어는 안드로이드 내 기본적으로 깔아주는 앱 또한 삭제할 수 있다.

Cons about Rooting


일반적으로 루팅의 단점으로 보안상의 문제점을 들 수 있다.

그러나, 이는 사용자 수준에 다라 오히려 루팅을 통해 시스템 보안을 강화하는 것 또한 가능하다.

대표적인 단점은 A/S거부, 자동 업데이트 불가능, 핸드폰 수명 단축등과 같은 것이 있다.

'Hacking & Security > Android' 카테고리의 다른 글

[OWASP] Uncrackable level 1 - write up  (0) 2019.12.03
Android Security에 대한 고찰  (0) 2019.11.25
Android App Security Best Practices  (0) 2019.11.23
Android Structure  (0) 2019.11.21
Android Introduction  (0) 2019.11.21