루팅이 된 안드로이드 장비에서 언루팅을 하는 방법(How to make unrooting a rooted android devices.)


안드로이드폰에서 루팅이 가끔씩 필요할 때가 있습니다. 그렇지만 루팅을 하다 휴대폰에서 은행 어플로 은행 거래를 하려고 하면 "루팅된폰입니다"라고 해서 은행 어플을 못쓰는 경우가 있습니다.


이럴 경우에는 언루팅을 해야 은행어플을 제대로 쓸수 있겠죠?

여기서는 컴퓨터와 안드로이드폰이 연결이 된 상태에서, 컴퓨터에 adb가 설치되었다는 것을 전제로 언루팅(unrooting)설명을 합니다.

1. 루팅된 폰이라면 adb shell 로 들어가 관리자 권한(SuperUser Permission)을 획득합니다.

adb shell

su    

2. 읽기/쓰기 상태로 remount 

mount -o rw,remount /system

3. Superuser.apk파일 삭제

rm /system/app/Superuser.apk

4. su 파일 적당한 이름으로 변경 (다시 루팅해서 쓸 사람이라 su 파일 이름만 변경함, 이름을 filesu 등등으로 변경 가능 여기서는 예로 filesu로 변경)

mv /system/bin/su /system/bin/filesu

5. 리부팅(rebooting)을 하면 언루팅된 폰이 되어 은행앱에서 은행 거래를 편하게 할수 있습니다.

reboot



Buy me a coffeeBuy me a coffee



제 휴대폰인 hTC Desire에 유럽에서 먼저 발표된, Sense UI가 탑재된 Android 2.2 Froyo ROM을 찾아 업그레이드 했습니다.

유럽발 hTC공식 OTA판 Android 2.2 Froyo with Sense UI는 아래의 링크에서 찾아서 적용을 하였습니다.

먼저 루팅을 해야 ROM을 마음대로 올릴수 있습니다. 

루팅(Rooting)후 롬을 올리는 작업


위의 화면처럼 유럽에서 나온 Froyo with Sense UI가 적용된 ROM을 적용하려면 루팅을 해야 됩니다.

제 휴대폰인 hTC Desire에 Sense UI가 탑재된 Android 2.2 Froyo 가 설치되어 있습니다.


Android 2.2 Froyo with hTC Sense UI


이후 More Locale 2설치와 Kandroid keyboard를 설치하여 안드로이드폰에 한글이 쉽게 보이고 한글 입력도 수월하게 하였습니다.

Froyo로 올리고 나서 정말 속도가 빨라짐을 체감하고, Flash를 사용가능하게 되었으며, SD카드에 앱 설치도 가능해지고, 태터링 기능이 생겨서 예전엔 어떻게 사용했는지가 궁금할 정도이군요. ㅎㅎ 

Buy me a coffeeBuy me a coffee





아래는 옵티머스Q 루팅법에 적힌 글을 인용한것입니다.


현재 발견된 취약점으로 아마 모든 안드로이드 폰의 루팅이 가능할 것으로 보입니다 'ㅅ'

본 루팅과정은 드로이드X 루팅 과정인 http://alldroid.org/default.aspx?g=posts&t=493를 Optimus Q에 맞춰서 수정한겁니다. 

아무튼! 다음과 같이 차례대로 진행하시면 됩니다.

1. 옵큐를 usb로 컴과 연결하고 설정->응용프로그램->개발->usb디버깅에 체크한다.
2. 첨부파일을 받아서 c:\ 에 압축을 푼다.
3. 시작->실행에 들어가서 cmd 실행
4. cd c:\adb 치고 엔터
5. 이제 다음 내용을 차례대로 붙여넣기하고 엔터치면 됩니다. ㅇㅇ
 
    adb push su /sdcard/su
    adb push exploid /sqlite_stmt_journals/exploid
    adb shell
    cd /sqlite_stmt_journals
    chmod 755 exploid
    ./exploid
    rootshell
    secretlol
    cat /sdcard/su > /system/bin/su
    chmod 4755 /system/bin/su
    rm /system/bin/rootshell
    exit
    exit

6. 루팅완료!

PS. su 바이너리가 달라서인지 superuser.apk가 작동을 안하네요. 그래서 과감히 빼버렸어요. 아무튼 그래서 갤s나 다른 루팅된 기기와 달리 슈퍼유저 권한을 요청할때 allow창 같은게 안뜹니다. (보안상으로 매우 취약하군요ㄷㄷ)

PS2. busybox도 말을 안들어서 빼버렸습니다. 마켓에 검색해서 직접 깔아주세요.


LG에서 나온 옵티무스Q말고도 모토로이, 드로이드x 루팅하는 법과 국내판 갤럭시S [M110S] 루트권한 얻기시리우스 루팅방법...등의 방법이 나와 있습니다.

나온 방법들을 보면 Android OS의 취약점들을 이용하여 Root권한을 획득하는 것입니다.

보통 HTC의 단말기나 NexusOne같은 경우는 부트로더를 건드려 Root권한을 획득하기 때문에 HTC의 단말기같이 일부로 부트로더를 쉽게 루팅할수 있는 기계가 아닌 이상 모토로라사의 안드로이드폰이나 국내 안드로이드폰도 Root권한을 얻기 어려웠습니다.

이번 루팅은 Android OS의 취약점을 사용하여 부트로더를 안 건드리는 방법으로 폰들의 Root권한을 획득하는 식이다 보니, 약간의 Android OS의 보안문제가 있을 수 있겠군요.

위의 사례에서 보인 것 같이 오픈소스(Opensource)로 공개된 안드로이드(Android) OS는 Linux Kernel위에 Dalvik VM(SUN사의 Java VM을 따라하여 Java실행할수 있게 만든 Virtual Machine)이 올라간 형태입니다.

위의 오픈소스 같은 경우 소스가 공개된 상태이기 때문에 소스에 취약점이 있으면 공통적으로 바로 발견이 가능합니다.


오픈소스로 공개된 리눅스의 장점이랄까요? 단점이랄까요? 단점인 취약점이 금방 공개가 되는 듯 합니다.(그 단점으로 인해 빠른 패치가 가능하다는 장점도 있습니다.) 

안드로이드 오픈소스의 취약점이 바로 발견되기 때문에 위의 취약점으로 해킹을 하여 안드로이드폰 자체가 망가질 수 있는 문제점이 보이기 시작할듯 합니다. 

안드로이드폰의 보안 이슈에는 Root권한을 획득한 폰에서 앱을 통하여 해킹당할때의 문제가 있었지만, 이제는 Root권한을 획득하지 않은 일반 폰에서 앱에서 root권한을 취득할수 있게 만든 코드에서 해킹에 속수무책인 사항까지 나아간것 같습니다.

아마 위의 사례처럼 Android 2.2에서도 취약점발견되어 root권한 획득하는 방법이 있을듯 합니다. (Google측에서 취약점을 몰랐을 경우)

위의 취약점 사례는 아마도 Android Gingerbread 버전에서 사라질 가능성이 있습니다.

Buy me a coffeeBuy me a coffee

+ Recent posts