루팅

 


1. Looting
1.1. MMORPG의 루팅 방식
1.2. 관련 문서
2. Rooting
2.1. 읽기 전에
2.2. 개요
2.3. 루팅으로 할 수 있는 것들
2.4. 하는 법
2.5. 주의점
2.6. 제어용 프로그램
2.7. 기타
2.8. 안드로이드 루팅이 불법?
2.9. 루팅 툴 목록
2.9.1. 현역
2.9.2. 개발 중단
2.10. 루팅한 환경에서 플레이 가능/불가능한 게임들
2.10.1. 플레이 가능
2.10.2. 플레이 불가능


1. Looting


화재, 내란 등이 났을 때 건물, 상점 등에서 물건을 훔치거나 약탈하는 행위를 뜻하는 말로, 폭동이 드문 한국에서 이 단어는 대부분 게임에서나 쓰이는 단어이다. 이 경우 RPG에서 적을 쓰러뜨리고 나서 그 적이 지닌 물건을 가져가는 행동 또는 보물상자를 발견하고 이를 열어 내용물을 획득하는 것을 루팅이라 부른다. 일단 Loot 자체가 약탈품, 전리품 등을 가리키는 명사이자 그것들을 얻는 행동을 가리키는 동사이다.
울티마 온라인 등 초기 MMORPG에서는 PK로 척살하고 아이템을 싸그리 벗겨가는 사실적인 약탈도 있었으나 인간적으로 너무해서 요즘에는 없다. 당하는 입장에선 공들여 구비한 장비들이 한순간에 날아가 버리니 심하게 멘붕해서 게임을 접기 십상이고, 하는 입장에서도 언제나 뛰는 놈 위에 나는 놈 있기 마련인 MMORPG의 특성상 언젠간 같은 꼴을 당하지 않으리란 보장도 없어서 결국 만만한 사냥감인 저렙들만 상대로 약탈을 벌인다. 그리고 신규 유저 유입이 급감하고 기존 유저들도 멘붕하고 접는 식으로 줄어서 종국에는 게임이 망한다. GTA 시리즈도 어찌 보면 약탈게임의 대표적인 예라고 할수 있다.
MMORPG에서는 다수의 인원이 몰려가 보스 몬스터를 공략하는 레이드 시스템을 많이 채용하는데, 모든 인원이 나눠 가질 만큼 충분히 아이템이 나오는 것은 아니다. 그러므로 적절한 분배 규칙이 필요하다. 월드 오브 워크래프트의 경우는 주사위팟, 골드팟, 개인 루팅 등의 방법이 존재하며, 여타의 MMORPG에서도 유사한 분배방식을 사용한다.
메탈기어 시리즈에선 잠입 액션 게임이기 때문인지 주인공인 솔리드 스네이크는 부적처럼 갖고 다니는 담배[1]를 제외하면 항상 모든 무기와 장비는 현지 조달 , 즉 루팅해야 한다. 그래도 한참 나중에 나온 작품들(피스 워커, 팬텀 페인 등)은 루팅도 가능하지만 기본적으로 장비를 미리 세팅해 들고 나가는 경우가 더 많아졌다.

1.1. MMORPG의 루팅 방식



1.2. 관련 문서



2. Rooting


root + -ing.
루트 권한[2]이 원래 허가되지 않은 기기나 OS에서 모종의 방법을 통해 루트 액세스(root access) 권한을 취득하는 것이다. 리눅스 계통의 운영체제에서는 그냥 root 계정에 로그인하면 루트 권한을 얻을 수 있지만, 루트 권한을 획득하는 것을 막은 기기나 OS에서는 시스템의 보안 허점을 통하여 코드를 실행해 루트 권한을 획득하는 절차가 필요하게 된다. 이러한 '루팅'이라는 말이 매우 잘 알려진 것은 가장 널리 퍼진 리눅스 기반 OS이면서 루팅이 어려운 안드로이드를 통하면서다.

2.1. 읽기 전에


관련 유명 커뮤니티인 xda-developers의 개발자의 글을 참고하는 것이 좋고, 영어가 장벽으로 다가온다면 번역본을 찾거나 자신이 궁금한 부분을 검색하여 믿을만한 개인 블로그나 카페 등 커뮤니티의 게시글을 찾아 읽는 것이 권장할만한 방법이다. (2.1.7 기타 참고) 이것이 불가능할 경우에만 나무위키, 블로그, 관련 카페 (안드로이더스, 디벨로이드 등)을 참조하는 게 좋다. 이는 신용할 수 없는 정보가 여럿 떠돌고 있기 때문으로 소프트웨어 쪽은 하나만 잘못돼도 대상 기기가 한 번에 훅 가는 수가 있으니 여건이 정 안된다 하더라도 가급적이면 번역글이라도 찾아서 읽는 것을 권장한다.
복잡하므로 공부할 게 많다. 브랜드, 기종, 안드로이드 버전, 통신사에 따라 어플을 통한 원-클릭 루팅에서부터 직접 공부하여 진행하는 adb 노가다까지 필요한 툴, 방법, 난이도가 다르다.
시스템 파일 손상, 권한 꼬임, 악성 툴 설치로 이어지기 쉽고, 심하면 소프트 브릭[3]이 될 수도 있다. 위에 내용을 보다시피루팅에는 위험성이 따른긴 하지만 느려서 짜증나는 거보다는 100배 이상 낫다.
금융 앱을 사용할 경우 루팅 감지를 할 수 있고 특히 갤럭시 S6, 갤럭시 노트 5 이후 기종은 루팅을 할 경우 Secure Boot 같은 삼성의 독자적인 기술로 시스템의 커널이나 부트로더 등이 변조되었는지, 버전에 변화가 있는지 등을 분석하고 비정상적인 것이 하나라도 감지되면 메인보드에 있는 회로인 Efuse를 아예 '''물리적으로''' 끊어버린다. 이 때문에 녹스 워런티가 깨지고, 결정적으로 삼성페이를 사용할 수 없게 된다. 이는 메인보드 자체에 변화가 생긴 것이기 때문에 순정 펌웨어를 씌우는 등의 방법을 써도 소용이 없고, 메인보드를 완전 갈아엎지 않는 이상 원상복구는 불가능하다.

2.2. 개요


안드로이드에서의 루팅은 위의 설명대로 루트 권한을 얻는 것이다. 윈도우 관리자보다 훨씬 강한 권한이 리눅스의 루트 권한이다.[4]
같은 뿌리를 가졌음에도 여타 리눅스 기반 OS와 달리 안드로이드에서는 사용자가 루트 권한을 가지기 어렵다. 개발자나 헤비 유저 입장에서는 불편하지만, 안드로이드의 낮은 진입장벽과 보안 때문에 사용자가 OS를 건드리다 망칠 수도 있고 '''악성 앱이 루트 권한을 얻어 rm -rf / 같은 명령어를 실행하면 매우 큰 문제가 생기무로''' 일반 사용자에게 루트 권한이 없는 편이 좋다.
너무 일상적으로 사용하는 기기라 간과하기 쉽지만, 스마트폰은 피처폰처럼 기본 펌웨어에 있는 기능만 사용하는 기기가 아니다. 부트로더 락이나 루트 권한 제한은 직접 OS를 관리하기에 충분한 지식이 없는 사용자가 스마트폰을 고장내지 않도록 막아 주기 때문에 나쁜 것은 아니다.
안드로이드의 root 권한을 얻으면 조작할 수 있는 것은 다음과 같다.

2.3. 루팅으로 할 수 있는 것들


  • 하드웨어 성능 조절: 오버클럭을 생각하면 된다. 커널이 해당 기능을 지원하면 더 좋다. 스마트폰 CPU의 기본 동작 클럭을 올려서 원래 성능보다 더 높게 쓰는 방법이 있고 반대로 클럭을 낮춰서 배터리 소모를 줄이는 방법이 있다. 오버클럭을 한다고 해서 휴대폰이 항상 최대클럭으로 도는 것은 아니기 때문에 배터리 타임에는 큰 차이가 없다고 볼 수 있다. 화면 OFF시 클럭다운 등 설정만 잘해준다면 고성능이 필요한 게임같은 경우 더 원활하게 사용하면서도 배터리 타임은 더 좋을 수도 있다. 실제로 화면이 꺼졌을 때의 최대클럭을 낮게 잡아주면 대기시간의 배터리소모를 체감할 수 있을 정도로 크게 줄일 수 있다. 또, CyanogenMod같은 커스텀 롬에는 시스템 I/O 스케쥴러를 설정할 수 있는데, 이 설정을 통해서도 최적화된 성능을 내게 할 수 있다. 클럭별로 걸리는 전압을 낮춰 배터리 소모를 줄일 수도 있는데 너무 낮출 경우 프리징이 걸리거나 휴대폰이 그대로 뻗을 수 있으니 주의.[5]
  • 제작사, 통신사 기본 프로그램 삭제: 통신사나 제조사에서는 현지화라는 명목으로 자신들의 이익을 앞세워 느리고 쓸모없는 앱을 끼워파는데, 이걸 시스템 파티션에 박아서 삭제가 불가능하도록 하는 경우가 많다. 옵티머스 Q의 한국형 앱이나 디자이어 HD의 마켓 등이 이에 해당한다. 루팅을 하면 시스템 파티션에 대한 액세스 권한이 생기기 때문에 이러한 앱들을 지우고 해당 앱들이 차지하던 시스템 자원을 확보할 수 있다. 심지어는 구글에서 만든 구글 앱스들도 삭제가 가능하다. 안드로이드 4.0부터는 기본 앱을 비활성화할 수 있는데, 아예 루팅 후 앱을 지우면 비활성화해도 램을 좀먹는 문제를 해결할 수 있다. 초창기 안드로이드 기기에서 그 효과가 극적으로 나타났으나, 신형 안드로이드 기기에서도 체감이 가능하다. 다만 요즘은 리소스 확보를 위해서보다는 어딘가에서 원치 않는 곳으로 몰래 정보를 보내는 것을 막기 위해서,[6]혹은 그냥 쓸데없이 주렁주렁 매달린 아이콘이 거추장스러워서 하는 경우가 많다.
  • 각종 알림음이나 폰트 교체: 기본으로 여러 폰트가 내장되어 있는 몇 가지 폰을 제외하면 나머지 폰들은 루팅 후 시스템 파티션에 ttf 파일을 삽입해야만 폰트 교체가 가능하다. 폰트 교체를 위해 루팅하는 유저도 많은 편. 갤럭시 S 이후에 국내에 나온 몇몇 안드로이드 폰들은 자체적으로 폰트 변경을 지원한다. 게다가 갤럭시S7 은 Samsung sans밖에 없다. 사운드의 경우 안드로이드는 기본적인 알림음, 문자음 등은 기본적으로 바꿀 수 있지만, 카메라 셔터음같은 경우 국내법에 의해 도촬 등을 막고자 셔터음이 강제로 난다. 이것도 루팅 후에 해당 셔터음 파일을 지우거나 무음 파일로 교체해 자유롭게 바꿀 수 있다. 최근 기본 앱에도 무음 처리를 할 수 있는 서드파티 앱이 출시되어, 접근성 권한을 주면 해당 앱이 실행되는 동안 폰 자체가 무음이 된다.[7]
  • 외장 메모리를 내장 메모리화: 외장 메모리의 파티션을 나누고 나눈 파티션의 일부를 내장 메모리에 쓰이는 포맷[8]으로 바꾸면 외장 메모리를 내장 메모리처럼 사용할 수 있다. 더구나 안드로이드는 프로요 이전 기준으로 개발된 프로그램의 외장 메모리 설치가 지원되지 않는다. 위젯 프로그램같은 경우는 아예 내장에만 설치해야 한다. 그래서 이런식으로 파티션을 나눠 쓰면 용량 문제 해결에 큰 도움이 된다. 내장 메모리 용량이 작은 폰들의 경우 외장 메모리와 바꿔치기해서 쓰는 경우도 있다.
  • 각종 키 맵핑/기타: 예를 들어 전원 버튼 말고 다른 버튼으로도 화면이 켜지게 할 수 있으며, 화면이 꺼졌을 때 볼륨 키를 두번 누르면 다음곡으로 넘어가게 할 수 있다든가, 트랙볼로 재생 중인 노래를 변경할 수 있게 하거나 게임패드를 연결해 게임을 즐길 때 미지원 게임이나 키를 변경하는 등 각종 키 맵핑으로 인해 많은 것을 할 수 있다. 또한 hosts 파일을 수정해 특정 광고를 차단한다거나, 부팅 애니메이션의 변경, 마켓의 국가별 차단 프로그램 해제,[9] 각종 하드웨어 봉인 해제,[10] 화면 녹화, 휴대폰 디스플레이의 색온도 조정, 스피커의 최대볼륨 강화, 라디오 모듈이 있는 모델의 경우 FM라디오 기능 설정, 하드웨어 키를 비활성화하고 소프트웨어 키를 활성화, DNS조정으로 인한 각종 웹사이트/동영상 스트리밍의 속도향상 등 많은 것을 할 수 있다. 예를 들어 HTC의 태블릿 플라이어 4G의 경우 통화기능이 없지만 build.prop을 수정해 전화 기능을 활성화할 수 있다. 홈 버튼과 관련된 문제도 해결할 수 있는데 가장 많이 쓰이는 경우는 안드로이드 계열 폰에서 많이 보이는 터치 버튼과 홈 버튼의 속도 차이[11], 일명 홈딜레이를 해결하기 위해 쓰이는 경우. 루팅 후 시스템 내부를 직접 수정할 수 있는 프로그램을 이용해서 작업을 하는데, 대부분은 인식을 담당하는 파일을 미리 패치된 파일로 교체하는 수준에서 끝나지만 해당 모델의 패치된 파일이 없어서 직접 코드에 손을 대야 하는 경우도 있다. 전자의 경우는 그나마 좀 쉽지만 후자의 경우 짤없이 주변에 있는 안드로이드 관련 개발자의 손을 빌려야 한다. 시스템 코드 잘못 건드리면 하드 브릭으로 직행하기 때문. 보안을 우회하는 것이지만 OS 차원에서 기본적으로 제공하지 않는 보안을 위해서도 사용된다. 예를 들면 어베스트 모바일 버전의 방화벽 기능은 루팅이 필요하며, 도난방지 기능의 무력화 시도를 차단하는 데도 필요하다. 또한 특수한 프로그램을 통해 프로그램이 갖는 권한을 제작자가 정해준 그대로가 아니라 직접 통제해서 필요없어 보이거나 보안상 위협이 되는 권한을 차단할 수도 있다. 안드로이드용 Tor가 모든 인터넷 연결에 대해 작동하게 할때도 필요하다. 부팅시 사용자가 추가한 파일을 시스템에 불러올 수 있게 하는 Xposed framework의 등장으로 루팅만 되어있다면 롬 수준에서 갈아엎어야 추가가 가능했던 기능들의 추가가 가능해졌다. 작게는 소소한 UI의 커스텀부터 모든 애플리케이션에 적용가능한 소형 창(멀티윈도우), 한손모드, 애플리케이션별로 UI, DPI, 클럭설정을 바꾼다든가 등 중에서 골라잡아 추가하는게 가능해진다. CDMA 스마트폰을 개통시킬때 루팅을 필수.
  • 킷캣에서 외장 SD 카드 쓰기 권한 부여: 킷캣 이전에는 이런 문제가 없었고 롤리팝 이후에서는 사용자 의견을 받아들여 이런 문제가 없다. 하지만 킷캣에서는 여전히 이런 문제가 있다. 킷캣 업데이트 이후 구글 기본앱을 제외한 서드파티 앱에서 외장 SD카드의 쓰기 권한이 박탈되었다. 기본 앱 '내 파일'외의 다른 파일관리자 툴에서 외장 SD의 파일을 삭제조차 불가능하며, 브라우저의 기본 다운로드 및 토렌트 등의 경로를 외장 SD로 설정하면 다운로드가 완전히 불가능하다. 어떤 식으로든 외장 SD 카드의 쓰기 권한을 요구하는 모든 작업 즉 파일을 옮길 때도, 사진 뷰어에서 사진을 지울 때도, 동영상 플레이어에서 폴더간 동영상 복사를 할 때도 극소수의 구글 공식 앱이 아니면 작동하지 않는다. 사실상 기본앱 사용 강제+클라우드로 어서오세요. 하지만 유저들이 착각하지 말아야 할게 애초에 안드로이드를 만드는 구글은 SD카드를 추가용량으로 활용하는 것을 지원한 적이 없다. 안드로이드 유저들이 그걸 지원했다고 생각하는 이유는, 대개 제조사 커스텀으로 우회돼서 가능케 된 일종의 꼼수를 구글이 공식 지원한 것처럼 여기고 있기 때문이다. 구글이 원래 지원해 왔는데 킷캣에 와서 막았다고 생각하는건 틀린 것이다. 하여튼 순정을 쓰고 싶었으나 이 문제 때문에 울며 겨자 먹기로 루팅을 하게 되는 경우가 흔하다. 하지만 루팅을 했다면 시스템 파티션의 xml 파일을 수정해 간단히 해결 가능하다.
  • 테더링 및 핫스팟 속도제한 및 사용량 제한 해제: APN을 수정해서 테더링을 써도 아닌것 처럼 위장할 수 있다.
  • 그 외: 터미널에서 루트 권한이 필요한 명령어들을 사용할 수 있다. SSH와 연동해 스마트폰을 원격제어하는 것도 가능하다.


2.4. 하는 법


루팅하는 방법은 크게 리커버리를 통하는 방법과 취약점을 이용하는 방법이다.
  1. 커스텀 복구 모드(리커버리 모드)를 통하는 방법
2. 안드로이드의 취약점을 이용하는 방법
복구 모드를 통하는 방법은 안드로이드 본체가 아닌 별도의 OS인 복구 모드를 구동시키고 압축 파일의 형태로 내부 저장소에 저장된 SU 바이너리를 설치하는 방법. 부트로더 락만 안 걸려 있으면 안드로이드 버전과 관계없이 가장 확실하게 벽돌이 될 확률이 매우 낮은 루팅을 할 수 있으나 약간 번거로운 단점이 있다. 이 경우에는 제3자의 zip 파일을 플래싱하는 데에 기본 복구 모드 대신으로 CWM, TWRP 등의 커스텀 복구 모드를 설치할 필요가 있다. 이런 경우가 드문 경우지만, 제조사의 서명(Sign)을 위조하였거나(가짜 signed zip) 제조사 복구 모드에 허점이 있으면 부트로더 언락 없이 순정 복구 모드도 통해서 플래싱할 수 있기도 하다.
취약점을 이용하는 방법은 기기나 OS의 취약점을 이용해 보안을 무력화하거나 우회하여 SU 바이너리를 설치하는[12] 방법. 보통 해커가 취약점을 찾고 원터치 루팅 앱으로 개발하여 배포하기에 루팅 난이도가 매우 쉽지만 휴대폰 기종 및 안드로이드의 버전에 따라 통하는 방법이 달라 사전 지식이 필요하며, 최신 버전의 안드로이드의 경우 취약점이 알려지기 전에는 이 방법으로 루팅할 수 없는 단점이 있다. 관련 커뮤니티가 활발하면 자신이 쓰는 휴대폰 기종에 정확히 맞는 루팅 방법을 알 수 있으므로, 무작정 따라하기에 좋다.
그 밖에 삼성전자 휴대폰은 'Odin'이라는 프로그램을 이용해 커스텀 복구 모드를 설치하지 않고도 SU 바이너리를 설치할 수 있다.
SU바이너리를 플래싱하는 방식은 전자에 해당하고(SuperSU포함 바이너리, Magisk에 포함된 바이너리도 마찬가지), Framaroot, KINGROOT[13] 같은 루팅 앱들은 후자에 해당한다.
최신 OS를 탑재하고 부트로더를 언락하기 쉬운 넥서스 계열의 폰은 전자의 방법이 주로 사용되며, 부트로더를 언락하기 어려운 제조사의 폰은 OS 버전이 어떻든 간에 후자의 방법을 사용할 수밖에 없다.[14] 그렇기 때문에 제조사에서 취약점을 막아놓으면 일단 화부터 내고, 루팅툴이 개발되면 일단 좋아하고 보는 경우가 많은데, 위 내용을 다시 한 번 읽어보자. '''루팅에 사용되는 취약점은 근본적으로 OS의 보안체계를 휘저어 놓는 취약점이다.''' 따라서 루팅툴이 개발됐다는 것은 '''해당 기기 또는 OS의 치명적인 보안 취약점이 완전히 공개되었다'''는 말이다. OS 입장에서 루팅툴 이외의 악성 앱이 취약점을 이용해서 사용자 모르게 루트 권한에 접근하고 시스템을 파괴하는 것보다 더한 재앙은 없다. 그러므로 구글과 제조사는 취약점을 막을 수밖에 없는 것이다. 이 때문에 부트로더 언락 때 삭제 불가능한 로그를 남기거나 리락(Re-lock)을 할 수 없게 하는 경우도 있다.[15] 또한 보안 이유로 부트로더를 언락할 때는 사용자 정보가 전부 날아간다.[16][17]
가장 이상적인 경우는 제조사에서 부트로더 락 없이 최신 OS로 업데이트해주는 경우. 루팅을 원하는 사용자는 부트로더를 언락해 루팅하고 그러지 않는 사용자는 OS의 보안에 의해 보호받을 수 있겠으나, 이러면 루팅하다 벽돌 돼서 AS 센터를 찾는 사람이 늘 테니 제조사 입장에서는 인력 낭비가 심해질 것이다. 일반적으로 사용자의 시스템 변조로 인해 벽돌이 되면 소비자부담으로 메인보드 교체를 진행[18]하게 되는데, AS 공임 인식이 희박한 한국에서 공임을 높게 받기도 어렵고, 굳이 루팅하는 사용자를 늘려 '그냥 고칠 수 있는 것을 더 비싸게 해결한다.'라는 평을 받고자 할 리가 없다.

2.5. 주의점


필요하다면 어느정도는 하자. 보안 문제는 백신을 사용하면 되니 보안 문제는 신경꺼도 된다.
'''하지만 루팅은 제조사간의 약관 위반 행위[19]이기 때문에 제조사의 무상 AS가 불가능해진다.''' 심지어 구입한지 1달이 채 지나지 않더라도 루팅을 했다는것이 발견되면 바로 무상AS가 불가능해지며 심지어 일부 제조사는 '''유상AS마저 거부한다.'''모토로라가 이런 케이스.[20][21] 특히 커스텀롬을 설치하고 AS센터를 찾는 호갱님들은 망했어요. 심지어 루팅하면 충전기 AS도 거부하는 경우도 있다. 하지만 이는 케바케가 좀 심한게 같은 기종을 수리받아도 루팅을 이유로 AS를 거부하는 경우와 루팅 여부에 별 관심없는 경우가 나뉘며, 심지어 루팅검사를 해보고도 주의만 주고 쿨하게 무상수리해주는 수리기사도 있다. AS를 장점으로 미는 삼성은 루팅에 관대한 경우가 많은 편. 용산에 있는 LG 전자도 가끔은 해 준다.
'''또한 기기에 따라 OTA를 받을 수 없다'''. 공장초기화를 해도 루팅흔적이 남아 있어 받을 수 없기 때문에 루팅 흔적을 잘 지우지 못하겠다면 루팅 전 잘 생각해보자. 물론 pc에 연결하면 업데이트할 수 있긴 하다.
루팅 자체로만은 하드웨어의 수명에 영향이 절대로 없다. 하지만 루트 권한에 대한 지식이 없는 유저가 처음에는 폰트나 알림 음을 바꾸는 수명에 영향이 없는 소극적인 커스터마이징을 하다가 갈수록 오버클럭같은 행위를 위험성조차 제대로 숙지하지 않고 시도하는 등 말 그대로 휴대폰을 혹사한다면 하드웨어 수명에 영향을 줄 수 있다. 실제로 스마트폰을 어리숙하게 아는 좆문가들은 오버클럭 자체에 대한 이해가 없는 상태로 '''어? 속도가 빨라진다네? 오, 좋은 거네?'''라는 식의 마인드로 오버클럭을 시도하는 경우가 많은데, 이 경우 휴대폰의 내부 기기 자체의 수명을 갉아먹을 수 있는 위험부담이 큰 행동이고, 성능이 좋은 컴퓨터도 권장하지 않는 방법이다.[22] 게다가 검증되지 않은 프로그램들과 잘못된 오버클럭 방법을 쓰다 보니 오류가 범람하고 온갖 악질 프로그램들이 판을 치고 있다.[23][24]
간혹 '''루팅하면 기기의 속도가 빨라진다'''고 착각하는 사용자도 존재한다. '''루팅은 관리자 권한을 획득하는 것으로 하드웨어의 속도와는 직접적인 관련이 없다.''' 빨라지는 경우, 혹은 느려지는 경우는 루팅을 한 후에 시스템을 직접 변형한 이후, 예를 들자면 기본 앱을 지웠다거나, init.d/스크립트를 적용했다거나, 커스텀 리커버리를 통해 커스텀 커널을 올리는 등의 시스템 변형을 하는 경우에 생기는 일이다. 그러니 쓸데없이 루팅해서 곤란한 일에 처하지 말자.
자동차로 예로들면, 어떤 차가 순정상태로 낼 수 있는 최대 속도의 리미트는 정해져있다. 그리고 루팅을 하는것은 그 차의 ECU를 조작할 권한을 얻는것이다. 당연히 ECU를 조작할 권한을 얻었다고 해서 갑자기 차가 빨라지진 않는다. 하지만 당신은 ECU를 조작하는 튜닝으로 리미트를 해제 할 수 있게 된다. 그러면 차량의 성능은 올라간다. 그리고 멋대로 튜닝을 했으므로 고장이 났을때 자동차의 무상 수리 기간이 끝나지 않았어도 무상으로 수리를 받을 수 없다.
그리고 은행, 금융앱 등 보안에 극히 민감한 앱이나 주로 메이저한 게임회사의 앱들 중 상당수가 앱들이 루팅을 한 기기는 실행이 되지 않도록 방지하고 있어 언루팅 혹은 루팅 숨김을 하지 않는 이상 루팅 실행 방지 처리된 앱은 사용하지 못한다.
SuperSU 또는 RootCloak 등 루팅 관리 앱에 숨김 기능이 있지만 이마저 잡아내는 앱 또한 적지 않다. 또한 곰돌라이트 커스텀 롬의 경우 컴퓨터 없이도 루팅/언루팅을 할수 있다.
또한 SuperSU에서 언루팅 기능으로 언루팅을 하여도 루팅 기기로 인식하여 실행을 거부하는 앱도 있다. 대표적으로 SafetyNet을 사용하는 포켓몬 GO.[25]

2.6. 제어용 프로그램


안드로이드에서 루팅 여부를 확인할 수 있는 가장 간단한 방법은 루트 권한 제어 앱[26]의 설치 여부를 확인하는 것이다. 이러한 앱이 루트 권한의 획득을 제어하기 때문에 루팅은 이 앱을 설치하는 절차라고 잘못 생각하는 경우가 많으나, 사실은 그렇지 않다. SU 바이너리가 설치되지 않아 루트 권한에 접근하지 못하면 이 앱은 그저 바보 앱이기 때문. 이 프로그램이 없다고 하더라도 기술적으로 얼마든지 루트권한을 획득하고 파일을 조작하는 것이 가능하지만, 이 프로그램이 있으면 다른 앱에서 요청되는 루트 권한을 보다 손쉽게 제어할 수 있게 도와 준다. 이렇게나 중요한 프로그램임에도 불구하고 특유의 아이콘 모양[27] 때문에 바이러스로 오해하는 경우도 많으며, 실제로 모바일 안티바이러스는 이 앱을 바이러스로 진단한다. 한동안 관련 프로그램은 그 해적 아이콘 달린 앱인 Superuser 단 하나였다가 2011~2012년 사이에 SuperSU가 새로 등장했다. 기존 Superuser에 비해 안정성이 향상되었으며 루트 권한 일시 비활성화 기능을 기본 탑재하고, 유료버전의 경우는 UAC와 같은 암호를 통한 권한제어를 최초로 제공하기 시작한 프로그램이다. 유료 버전 기능 중 일부는 설정 변경을 통해 무료 버전에서도 사용할 수 있다. CM팀과 XDA 사이의 문제로 인해 2015년 현재 루팅된 커스텀 펌웨어에 들어가는 기본 탑재 프로그램의 주류다. 국내의 경우는 국내 은행앱을 사용하기 위해 변경된 SPAPASU가 존재한다.
ClockworkMod 개발자로 알려진 Koush가 또 다른 프로그램 Superuser를 만들었다.[28]플레이스토어 링크. 이 프로그램은 오픈소스[29]이며, 소스는 github에 공개했다. 그래서 그런지는 몰라도 CyanogenMod롬과 대부분의 롬에는 아예 설정 자체에 Superuser가 메뉴로 넣어져있는 경우가 많다.
이러한 루트 권한 제어 앱은 각종 루팅 비권장 프로그램들의 좋은 타겟이 되곤 한다. 즉 기기의 루팅 여부를 이 프로그램의 설치 유무만으로 판단하는 것으로, 설치되어 있으면 루팅폰으로 판단하여 서비스 제공을 거부하는 형식이다. 주로 단말기 인증이 필요한 몇몇 프로그램과 돈이 오가는 금융 프로그램 및 인터넷 쇼핑 프로그램등이 이런 방법을 사용하는데, 이건 말 그대로 프로그램의 유무만 체크하는 것이라서 루팅을 하지 않고 스토어에서 제어 프로그램만 설치해도 루팅폰으로 취급하여 서비스 제공을 거부한다. 그러나 위에서 언급했듯이 국내 금융앱을 사용하기 위해 변경된 SPAPASU를 이용한 임시 언루팅으로 많은 유저들이 인터넷 뱅킹을 이용하고 있다. 하지만, 2016년 5월 25일을 끝으로 업데이트가 중단되다 시피하여 2020년 현재는 이미 대부분의 금융앱들이라면 실행하는 것이 막혀있을 것이다.
위에 내용을 종합해보면 스마트폰이 2대라면 일단 용도를 정한뒤 1대는 과감히 류팅하지만 나머지 1대는 절대 류팅하지 말고,1대만 있을 경우 류팅을 한다면 무료 프로그램은 위험성이 높으니 유로 프로그램을 쓰길 권장한다.

2.7. 기타


안드로이드의 루팅은 SDK등의 개발도구를 이용해 개발한 앱이나 별도의 PC 프로그램을 거쳐서 이뤄진다. 부트로더만 언락하지 않았으면 약관을 어긴 것은 아니고 별도의 로그도 남지 않기 때문에 언루팅하여 일반 폰 처럼 A/S를 받을 수 있다.[30] 최근의 루팅 툴은 원클릭 루팅을 지원하지만 운이 없거나 절차를 어기면 소위 말하는 벽돌이 될 확률도 있다. 루팅 전에 충분히 절차를 숙지하고 복구 방법을 정확히 알아둔 후, 중요한 데이터는 미리 백업하자.
2017년 현재는 다양한 이유로 루팅이 점점 어려워지고 있으며, 몇몇 중국산 루팅 툴들은 사용자 동의 없이 개인정보를 캐간다는 의혹이 있다. 이 때문에 루팅 사용자가 줄어들자 루팅 전용을 포기하고 adb를 통하는 우회법을 지원하는 앱들이 늘고 있다. 루팅보다는 훨씬 안전한 방법이고 그다지 어렵지도 않으니 원하는 앱이 adb 기능을 지원하는지 확인해보자.
루팅 분야 커뮤니티로는 잘 알려진 디벨로이드, 맛클 이 있다. 페이스북을 기반으로 하는 루팅하자 페이스북 그룹도 있다.
각 커뮤니티에서 루팅에 관한 적절한 도움을 받을 수 있으며, 관련 자료를 얻을 수 있다.[31]
AMI DuOS미뮤 앱플레이어에 루트 모드가 있다.

2.8. 안드로이드 루팅이 불법?


안드로이드 루팅자체가 불법이라고 오해하는 사람들이 있는데, 결론부터 말하면 '''루팅은 불법 행위가 아니다.'''
우선 2010년까지만 하더라도 제조사뿐만이 아니라 통신회사까지도 개발팀 이외의 사람들이 비공식 소프트웨어를 개발하는 것을 상당히 좋지 않게 보았고, 온갖 수를 다 써서라고 개발을 막으려 했다. 그러나 2009년부터 2010년 초까지 개발자 커뮤니티에서 개발한 펌웨어나 소프트웨어가 큰 인기를 끌게 되고, 결정적으로 미 저작권사무국에서 이러한 행위를 합법이라고 못박으며 분위기가 180도 달라져 2011년부터는 HTC모토로라 등을 시작으로 여러 제조사에서 오히려 대폭 지원을 하며 이런 비공식 소프트웨어의 개발을 장려한다.
안드로이드, 아니 그 전에 리눅스 자체가 오픈소스이며[32] 제조사별로 커널소스나 부트로더소스 같은 중요 영역을 공개하고 있는 상태다. 모든 루팅은 이 영역의 허점을 이용한다. 라이선스의 특성상 오픈소스를 뚫어서 바꾸는 것은 저작권법에도 아무런 문제가 없다.
루팅은 불법이라고 아는 사람들이 아직도 있다. 우선 저작권법 제124조 제2항을 보면 알겠지만 안드로이드오픈소스이고 그것을 변경하는 것이기 때문에 <저작권 그 밖에 보호되는 권리의 기술적 보호조치>가 아니다는 것이다. 즉, '''법적으로는 아무 문제가 없다.'''
네이버 지식in
루팅(네이버캐스트)
'''다시 한 번 말하지만 안드로이드 루팅이 불법이 아니다!'''
그렇지만, '''약관 위반'''은 맞기 때문에[33], 루팅을 하다가 벽돌폰이 되는 등의 문제가 발생되었을때, 무상 A/S를 거부당할 수 있다. 물론 아몰레드 번인, 액정 파손 등의 소프트웨어와 관련없는 수리는 상관없다.
또, 루팅을 활용해 시스템이나 앱 안에 있는, 사유 재산인 라이브러리나 어셋 등을 유출하거나 하는 것은 불법으로 간주될 수 있다.

2.9. 루팅 툴 목록


123-가나다-ABC 순으로 작성한다. 기준은 2018년. ● 표시가 되어 있는 것은 APK 형식.

2.9.1. 현역


  • firmware.mobi (구 CF-Auto-Root): 정확히는 기기별로 기본(stock) 롬을 제공하는 서비스로, 여기에 루팅을 입히는 옵션을 제공하는 것이다.[34] 루팅만 입히는 것이 아니라 suhide라는 루팅 은폐 기술을 적용하는 옵션도 있다. 아직까지는 모든 기기들에 대한 롬이 올라와있지는 않아서 자신이 보유중인 기기가 목록에 없으면 다른 방법을 찾아야 한다.
  • KernelSU(Kernel Assisted Superuser): 최근에 탄생한 루팅 툴. 다른 루팅 툴과 달리 리눅스 커널 소스에 루팅 코드를 삽입하고 그대로 컴파일한 다음 커널로 사용하는 방식이다. 아직 개발 극초기 단계이며, 물론 매우 위험하다!
  • Magisk: 현재 가장 널리 알려진 루팅 툴. 설치하면 Magisk Manager라는 관리 앱이 딸려오며 여기서 확장 모듈의 관리와 Magisk Hide라는 루팅 은폐 기술의 적용을 할 수 있다. 범용성도 좋고 현재로서 가장 권장되는 루팅 툴. 22.0이 되며 설치하기가 매우 어려워졌는데 설치 앱 apk 확장자를 zip으로 바꾸는 꼼수(...)를 쓰면 된다.

2.9.2. 개발 중단


  • Framaroot●: 여러 익스플로잇(exploit) 을 사용하며 하나가 실패하면 다른 하나로 재시도할 수 있다. 현재는 개발이 중단된 것으로 여겨진다. 4.0과 4.1을 지원하며 SuperSU를 사용한다.
  • GingerBreak●: 2.3.6까지 지원한다.
  • LG One Click Root: 이름 그대로 몇몇 LG 기기만을 대상으로 하는 루팅툴.
  • Stump Root●: 주로 LG 기종을 대상으로 하는 루팅툴. 이 프로그램으로 루팅할 경우 언루팅이 제대로 안 되는 문제점이 있다.
  • SuperOneClick: adb를 사용하는 루팅 툴. 진저브레드 시절에는 이게 루팅 툴로는 가장 널리 알려졌었다. 2.3.6까지 지원.
  • Tegrak Kernel●: 몇몇 옛날 갤럭시 기종만을 대상으로 하며, 기종별로 사용 가능한 APK가 다르다. Kernel로 끝나는 이름과 달리 APK 형식이다.
  • TowelRoot●: 조지 호츠가 개발한 루팅 툴. 4.4까지 지원한다. 버튼 한 번만 누르면 재부팅도 없이 후딱 끝내는 것이 압권.
  • Unlock Root: 4.0까지 지원.
  • Wug's Nexus Root Toolkit: 정확히는 넥서스 기기를 대상으로 백업, 복구, 커스텀 리커버리 설치 등 fastboot나 adb를 사용하는 작업을 마우스 딸깍딸깍만으로 편리하게 할 수 있는 종합 툴로, 루팅은 이 툴의 여러 기능 가운데 하나다.
  • z4root●: 2.2 대부분 및 2.3 일부 기종 지원. UI가 쓸데없이 멋있다.
  • CF-Auto-Root: FIrmware.mobi의 전신격 프로그램.

2.10. 루팅한 환경에서 플레이 가능/불가능한 게임들


123-가나다-ABC 순으로 작성되어 있으며
  • 64비트 ARM 아키텍처 기반의 스마트폰 혹은 태블릿
  • LineageOS 17.1[35]
  • Magisk 21.0

위와 같은 환경을 기준으로 한다. 프론트엔드인 Magisk Manager는 숨긴 상태를 기준으로 하며[36] Xposed, Riru 등 root 권한을 사용하는 다른 프로그램의 사용은 고려하지 않는다. 또한 루팅 은폐 기술인 Magisk Hide는 적용하지 않은 상태를 기준으로 한다.
전반적으로는 '플레이 불가능' 에 속하는 게임이 거의 다 일본 게임일 정도로 유독 일본이 루팅된 기기에서의 플레이를 막는 게임의 비율이 높으며 다른 나라들의 경우 대체로 거대 IP 기반 게임 중 일부, 다른 플레이어와의 상호작용이 필수인 게임 중 일부에 한한다. 한국은 다른 나라들에 비해 막는 게임의 비율이 일본에 비하면 훨씬 낮지만 일본 이외의 다른 나라들에 비하면 근소하게 높은 편.

2.10.1. 플레이 가능



2.10.2. 플레이 불가능


앱 차원에서 시스템을 검사해 루팅한 환경인 경우 앱을 강제 종료하거나 진행을 멈추는 등의 방법으로 플레이를 못하게 하는 게임들이다. 단순히 /system/bin/su를 실행해 볼 뿐인 게임이 있는가 하면[38] 쉘 프로그램 검색, build.prop 정밀 검사, 설치된 앱 전수 조사 등 다양한 검사를 하는 게임도 적지 않다. 검사 프로그램으로는 한국에서는 XIGNCODELIAPP이, 일본에서는 CrackProof가 주로 쓰이며 경우에 따라 구글 플레이 서비스에 내장된 SafetyNet/DroidGuard가 사용되기도 한다.[39]

[1] 이마저도 위장(!)에다가 숨겨온다.[2] 안드로이드는 리눅스 기반이므로 최고 관리자 권한의 이름이 '루트'다.[3] 펌웨어 재설치로 복구할 수 있는 벽돌폰이다. 루팅하다 뻑난 기기는 거의 소프트 브릭이다. 물론 루팅 후 파티션을 잘못 건드려 꼬여버리면 하드 브릭이 될 수 있다.[4] 물론, 윈도우에는 기본 관리자 권한을 갖는 Administrator 계정과는 차원을 달리하는 SYSTEM과 TrustedInstaller 계정이 있다. 하지만, 이 두 계정의 권한을 일반적인 방법으로 다루는 것은 불가능하다. 특수한 방법으로 다룰수는 있지만(PSEXEC 등의 프로그램으로 가능함), 오직 자신만 사용하는 컴퓨터라 하더라도 윈도우를 재설치해도 상관없지 않는 한 다루지 않을것을 권장한다.[5] 이 현상을 슬립 데스라고 한다. 일단 당황하지 말고 재부팅을 하면 해결되며, 너무 버벅거리면 배터리를 빼거나, 일체형인 경우 기기별로 다른 조작을 통해 강제로 재부팅하면 된다. 부팅시 적용하기를 켜도 부팅 후 몇초 후에 실행 된다. 그때 앱에 들어가서 끄면 된다. 만약 부팅 후 바로 적용을 켰으면 커스텀 리커버리에서 초기화하거나 그 앱을 삭제하면 된다.[6] 특히 중국제 스마트폰들이 중국 정부를 포함한 여러 곳으로 몰래 정보를 보내는 경우가 많다.[7] 앱을 사용하지 않고도 방해 금지 모드를 켜면 셔터음이 나지 않는다.[8] 리눅스 포맷인 ext2, 3, 4.[9] 2012년 초 이전엔 게임 카테고리가 게등위때문에 차단이었다. 현재도 카테고리는 개방이 되었지만 특정 프로그램의 검색 및 결제가 차단된 경우가 존재한다.[10] 동영상 재생이나 소프트웨어적으로 봉인되어 있는 램 등등을 해제하는 것. 대표적인 예로 옵티머스 Q의 5대봉인.[11] 삼성 갤럭시의 경우 S보이스의 홈 버튼으로 활성화 기능을 끄면 조금 나아진다.[12] 보통은 이때 SU 권한 관리 앱도 함께 설치하지만 깔리지 않는 경우도 있는데, 이는 스토어에서도 직접 설치할 수 있다. 또한 보안 취약점을 파고드는 코드가 있어 모바일 안티바이러스는 루팅 앱을 바이러스로 인식한다.[13] 2017년 기준 인지도 있는 루팅 앱들[14] 단, XDA 버프로 먹고 사는 HTC는 이걸 알았는지 One 시리즈 발매쯤부터 공식적으로 부트로더 언락을 지원한다.[15] 또한 부트로더 언락 기록이 있으면 A/S에 악영향을 줄 수 있다.[16] 팬택 기종들 제외[17] 물론 이 또한 우회할 수 있는 툴이 있다.[18] 자체 순정 이미지 다운로드(일반적인 다운로드가 아닌 PC to Phone 다운로드)툴이 있겠지만, 원인 파악과 수리에 들어가는 시간도 있고 부품 교체로 진행하는 것이 제조사 입장에서 손해가 되지 않기 때문에(부품 재고는 오래 가지고 있을수록 가치가 떨어진다.) 꼭 벽돌이 아니더라도 문제가 부품 교체로 진행되는 경우가 많다.[19] 루팅은 각종 오류가 하니 수리금만 받으려 하는대부분의 제조사에서는 루팅하라고 한다. 설명서에도 명시되어 있다.[20] 모토로라에서는 루팅을 만악의 근원이라고 보고있다. 물론 다른 제조사도 마찬가지지만, 모토로라처럼 루팅을 발견하고 전산망에 루팅유저 기록을 남기는 제조사는 사실상 없다. 전산망에 등록하므로 당연히 모든 AS센터에서의 AS자체가 불가능해진다. 유상AS마저도 거부당할 수 있다.[21] 사실 생각해보면 당연한 일이긴 하다. 중국 소유 기업답게 백도어 프로그램으로 사용자의 개인정보를 불법취득해서 중국에 갖다바쳐야 하는데 사용자가 루팅해서 권한을 확보해 막아버리면 개인정보 불법취득을 할 수 없게 되어버리니...[22] 쉽게 말해 시속 150km까지 달릴수 있는 자동차로 시속 200까지 밟는다면 어떻게 될지 생각해 봐라[23] 하드웨어 쪽만 안 건드리면 하드웨어 수명에 영향이 갈 일은 없다. 소프트웨어 데미지야 순정롬으로 재설치 해버리면 된다. 그러나 현실은 시궁창. 일단 RUU라는 프로그램으로 하면되는데 일단 빌드번호와 똑같은 RUU를 설치해야 된다. 그리고 RUU로 순정으로 교체 하는 도중 오류가 뜨면 망했어요. [24] 폰트정도는 제조사 커스텀에 의해 전용스토어나, 좀 구형이면 유저가 스마트폰기종이 지원하는 폰트포멧으로 컨버트하거나 변환된걸 받아서 넣기만 하면 기기에 내장된 외부폰트적용하기로 간단히 되기도 한다. 벨소리외에도 일부 되긴하는데,아이폰도 탈옥안하고도 만지는 프로그램이 있고 안드로이드도 시스템을 개조하는 어플과 뚫는 피시용 프로그램이나 앱기반으로 sms류를 바꿀수가 있다. 그러니 루팅으로 할려면 정말 고물이고 꽉막힌폰이거나, 요즘폰인데 갑자기 막아놓은 이상한 경우만 루팅을 고려하자[25] Magisk는 Magisk Hide 기능으로 SafetyNet을 우회할 수 있다.[26] 대표적으로 Superuser, SuperSU가 있다.[27] 안드로이드 마스코트가 안대를 차고 해적 코스프레를 하는 모양이다.[28] 2.2 프로요부터 존재하던 해적 아이콘 Superuser와는 다른 프로그램이다.[29] 아파치 라이선스를 따른다. LICENSE[30] 예를 들어 이미 삼성에는 기존 루팅 여부를 판가름할 수 있는 툴이 있으며, 갤럭시S2, 갤럭시 노트 등 삼성 스마트폰은 다운로드 모드에 아예 기록이 남지만(이는 카운터 리셋 JIG를 사용해서 지울 수 있다), 결국 삼성 AS 직원들이 대인배인 것. 그리고 무엇보다 CPU를 극한으로 오버클럭하거나, 맞지도 않는 타 기기의 롬/펌을 강제로 올려 보드를 날려먹는 정도가 아닌 이상 다른 문제들은 리커버리 모드 등의 소프트웨어만으로 고칠 수 있기 때문에 AS를 거부할 이유가 없다. 하지만 표면적으로 루팅을 권장하면 안 되기에 공식적으로는 루팅 후에 AS가 거부될 수 있다고 말하고 있다. 카메라에 먼지가 들어가거나 기타 다른 문제로 AS센터 방문했는데 새 폰을 주더라, 메인보드를 통째로 갈아주더라, 디스플레이를 통째로 바꿔주더라 등등 삼성의 황당할 정도의 묻지마 AS는 이미 유명하다. [31] 질문을 올리기 전에 검색 부터 해보고 올리자[32] 여기에서 소스 코드가 공개되어 있다.[33] 루팅은 각종 오류가 발생할수도 있으므로 대부분의 제조사에서는 루팅을 하지 말라고 한다. 설명서에도 명시되어 있다.[34] 물론, 루팅을 입히지 않으면 그냥 기본 롬이다.[35] 안드로이드 10 대응[36] Magisk Manager에는 Magisk Manager 자체를 숨기는 기능이 있다.[37] 대략 2.1.1 정도부터 시스템의 루팅 여부 및 USB 디버깅 활성화 여부를 검사하지 않는다.[38] 이 경우 다소 오래된 우회 수단으로도 우회가 가능하다.[39] 시스템 앱이기 때문에 일반적인 검사 수단보다 더 넓고 깊은 수준의 검사를 할 수 있다.[40] 앱을 실행하면 맨 처음 나오는 화면