취보특개

Android Rooting 본문

Boan/모바일

Android Rooting

ha3kkkkk 2021. 1. 10. 00:04

이 게시글은 아래 블로그의 글을 내가 보기 쉽게 정리하고 덪붙인 글이다.

post.naver.com/viewer/postView.nhn?volumeNo=12991630&memberNo=40975723

 

안드로이드 루팅, 정석대로 해보자

[BY 수빈킴] 안드로이드 사용자라면 누구나 루팅 생각을 한 번쯤은 해봤을 겁니다. 꽤 어렵게 보이기 때...

m.post.naver.com

 

 

루팅은,

안드로이드 최고관리자(Root) 권한을 가져오는 작업으로서, 보호된 시스템파일영역을 접근하여 수정할 수 있게 해준다.

하지만, 제조사, 통신사가 막아놓은 시스템 영역을 건드리다보니 시스템 파일 손상이 되어도 A/S 거절을 당할 수 있으며

구동되는 어플리케이션에 무슨짓을 할지모르는 얘로 규정되어 금융앱 등 이용불가능한 어플이 생긴다.

때문에 공기계에다가 시도하도록 하고,

상용 애플리케이션에 허락없이 패킷조작등의 전자적 침해행위를 행하는 것은 불법을 명심하자.

 

루팅관련 용어,

펌웨어 : OS를 기반으로 제조사가 정식으로 제작한 소프트웨어

커스텀롬(==커스텀 펌웨어) : 개인이 임의로 저작한 펌웨어

오딘 : 삼성 디바이스에서만 동작하는 펌웨어 업그레이더

슈퍼유저 : 루팅 후 필수적으로 설치되는 앱으로, 루팅 앱의 슈퍼유저 권한을 부여함

슈퍼SU : 루팅용 바이너리 코드의 대표주자

루트 익스플로라 : 파일 관리 앱으로, 시스템의 기본 애플리케이션을 삭제할 수 있다

 

 

루팅을 하게되면,

① 하드웨어 성능 조절

: CPU 기본동작 클럭을 올려서 원래 성능보다 높거나(오버클럭) 낮게함

② 기본 프로그램 삭제

: 제조사, 통신사가 시스템 파티션에 강제로 끼워놓아 유저들은 삭제할 수 없게한 앱을 상제할 수 있다.

: 안드로이드 4.0부터는 기본 앱을 비활성화 가능(그래도 걸리적 거리니 아예 지워버리면 좋다)

③ 각종 알림음이나 폰트 교체

: 시스템 파티션에 ttf 파일을 삽입하여 폰트교체.

: 카메라 셔텨음 파일을 지우거나 무음파일로 교체하여 무음카메라도 가능

④ 외장 메모리를 내장 메모리화

: 내장메모리 용량 확보

⑤ 각종 키 맵핑

: 전원 버튼을 다른 기능으로 바꾸는 등

⑥ 부팅 애니메이션 변경, 스티커 최대볼륨 강화, 마켓의 국가별 차단 프로그램 해제 등등..

 

 

클릭한번으로 루팅을 해주는 등 좋은 툴들이 많지만,

어떤 기기라도 동일한 방법으로 루팅할 수 있게 수동으로 하는법에 대해 알아보자.

수동으로 루팅을 진행하면, 새로운 버전의 커스텀 리커버리나 커스텀 롬을 자유롭게 적용가능하고

단계마다 직접 하나씩 확인하기 때문에 오류가 발생할 가능성이 줄어든다.

무엇보다 안드로이드에 대한 지식을 얻을 수 있다.

 


루팅과정

루팅은 크게 세 단계로 진행된다.

① 부트로더 언락

기기 내부 메모리에 기록이 가능하도록 닫혀있는 빗장을 여는 단계

 

② 커스텀 리커버리 설치

기존 안드로이드 리커버리(복구) 프로그램을 다른 개발자가 만든 것으로 교체함으로써,

커스텀 롬을 내부에 설치하거나 내장 메모리나 캐시 등을 삭제하는 등 행위 가능

 

③ 루팅(혹은 커스텀 롬 설치)

안드로이드 본체가 아닌 별도의 OS인 리커버리를 구동하여(교체된 커스텀 리커버리가 구동됨)

압축파일 형태로 내부저장소에 저장된 SU바이너리를 설치하여 루트권한 획득

커스텀 롬의 설치를 원할 경우 이 단계에서 진행 가능하며,

루팅이 이미 된 커스텀 롬을 설치해야 커스텀 롬과 루팅의 효능을 동시에 누릴 수 있다.

 

 

루팅준비

① platform-tools 및 ADB

ha3kkkkk.tistory.com/70

 

② SuperSU(기기를타지않는다) 

download.chainfire.eu/1220/SuperSU/SR5-SuperSU-v2.82-SR5-20171001224502.zip

 

③ 배터리 충전

작업 도중 전원이 나가 하드브릭(벽돌)이 되지 않도록 충분히 충전

 

④ 자료 백업

부트로드 언락에서 기기의 자료(앱, 사진, 음악 등) 모두 삭제되니 미리 백업

 

⑤ ADB드라이버준비

blunzl.tistory.com/356

 

⑥ 커스텀 리커버리 준비

TWRP가 가장 유명하다. 기기에 맞는 버전의 TWRP를 구글에 검색하여 다운로드

 

 


1. 부트로더 언락

① 기기를 끄고 패스트부트(fastboot) 모드로 부팅

보통 '전원버튼'과 '볼륜 다운(또는 업)'을 길게 누르면 되며, 

생소한 부팅화면과 함께 안드로이드 깡통 로봇이 누워있는 모습이 보인다.

 

② 기기를 USB로 컴퓨터에 연결

# 아래 명령어를 통해 연결이 잘되었는지 확인 가능(fastboot은 platform-tools 폴더에 있음)
# 기기의 시리얼 넘버가 나타난다면 정상 연결된 것
fastboot devices

 

③ 부트로더 언락

# 명령어 입력 시 기기의 모든 정보가 사라진다
fastboot oem unlock
# 기기 재부팅
fastboot reboot

④ USB 디버그 모드 활성화

재부팅 후 '설정 > 디바이스정보 > 빌드 넘버 7회 클릭 > 개발자옵션 > USB 디버깅 체크

 


2. 커스텀 리커버리 설치

① 다시 기기를 끄고 패스트부트(fastboot) 모드로 부팅

② TWRP 파일을 platform-tools 폴더에 복사

③ 커스텀 리커버리 설치

# 결과값: Size too large ... (엉뚱한 기기용의 커스텀 리커버리 파일)
fastboot flash recovery [twrp파일명]

④ 기기 재부팅

⑥ 리커버리 모드 진입

패스트부트 모드에서 recovery를 선택하는 등 기기마다 방식이 다르기 때문에 검색해보아야 함

 

 


3-1. 루팅(기본 롬에 루팅만 하기)

① superSU를 platform-tools 폴더에 복사

② 리커버리 모드 진입

③ superSU 파일을 기기로 복사

adb push [파일이름] [파일이 저장될 경로]

④ 리커버리 모드에서 Install 선택, SuperSU-(버전).zip 파일 선택

⑤ 설치 후 재부팅

 

3-2. 루팅(루팅이된 커스텀 롬 얹기)

이미 루팅이 된 커스텀 롬을 설치할 경우 SuperSU를 복사할 필요가 없다.

① 커스텀 롬 .zip 파일을 platform-tools 폴더에 복사

② adb push 입력

③ 리커버리 모드에서, Wipe > Factory Recet으로 스와이프

④ Install 선택, 커스텀롬.zip 파일 선택

  ※ 커스텀 롬의 경우 Google APP을 모아둔 GApps를 같이 Install 하면 편리하다.

⑤ 설치 후 재부팅

 

 

 

 


클릭 몇번으로 루팅을 하는 방법은,

autoroot.chainfire.eu/

 

CF-Auto-Root

 

autoroot.chainfire.eu

(a) 위 페이지에서 CTRL+F로 디바이스명을 찾아본다.

(b) 해당되는 파일을 다운로드받은 후 풀면 Odin.exe가 보인다.(삼성 루팅해주는 프로그램)

(c) 디바이스 종료 > 볼륨↓ + 홈 + 전원버튼을 동시에 누름 > 다운로드 모드 진입

  ※ 디바이스 전원은 혹시 모르니 30%이상 되도록 한다.

  ※ USB디버그 모드 활성화가 되어 있어야한다.

(d) 볼륨↑로 진행

(e) Odin.exe 실행 > AP클릭 > 압축 해제된 폴더에 바로 보이는 CF-AUTO-ROOT ... 클릭

  ※ 하단 좌측 로그에 Added!! 가 있어야 휴대폰이 제대로 연결된 것이다.

(f) 스타트 클릭

(g) 폰을 조작하지 않고 기다리다가, 재부팅 후 어플리케이션 중 SuperSU가 있으면 성공

 

 

'Boan > 모바일' 카테고리의 다른 글

iOS jailbreaking  (0) 2021.03.14
iOS Homebrew Usage  (0) 2021.03.14
Frida Usage - 1 (Basic Concept)  (0) 2021.01.09
Android ADB Usage  (0) 2021.01.09
Android static analysis  (0) 2019.12.07
Comments