//////
Search
🤖

Android 루팅 & 언루팅

목차
안드로이드 기기를 이용하여 모바일 진단을 할 때 루팅 or 언루팅을 해야 할 일이 가끔 생긴다.
아이폰에서 checkra1n, unc0ver 등을 사용하여 탈옥 하듯이, 안드로이드 기기에서도 진단을 위해 관리자의 권한이 필요하다.
루팅 작업은 KNOX 워런티 손상이 발생하여 차후 삼성페이 등 여러 앱의 사용이 불가합니다.
이 글에 나오는 작업을 따라하며 발생하는 모든 문제는 본인에게 책임이 있습니다.

공통적으로 설치해야 하는 도구 / 작업

오딘 설치

ADB 도구 설치
기존에는 Android Studio를 통째로 설치해야 ADB를 사용할 수 있었지만, 이제는 불편하지 않게 ADB 도구만 따로 설치할 수 있게 되었다.
아래 링크에 접속 후, OS에 맞게 SDK 플랫폼 도구를 다운로드하면 된다. 설치 후, 해당 경로를 환경변수로 지정하면 편리하다.
USB 디버깅, OEM 잠금 해제 작업
1.
[ 개발자 도구 ] → [ OEM 잠금 해제 ] 체크(파란색 되도록)
2.
[ 개발자 도구 ] → [ USB 디버깅 ] 체크(파란색 되도록)

Android 기기 루팅하는 법

안드로이드 기기를 루팅하기 위해서는 공통적으로 설치해야되는 오딘말고도 여러 준비가 필요하다.
TWRP Custom Rom : 커스텀 복구 도구 이미지
Magisk : 루팅 프로그램, 루팅 탐지를 피하기 위해 시스템을 건들지 않는 시스템리스 방식을 사용한다.

TWRP Custom Rom 다운로드 법

TWRP Custom Rom을 기기에 맞는 버전으로 받아줘야 한다. 우선 아래 사이트에 접속한다.
본인이 루팅하길 원하는 기종의 모델명을 입력한다.
아래로 내려가서 아무 링크를 눌러(보통은 Americas) 다운로드 한다.
파일 확장자는 .img.tar 확장자로 해야 한다.

Magisk 다운로드법

아래 링크에 접속하여 .zip 확장자의 파일을 다운로드 한 후, 휴대폰의 내장 메모리에 다운로드 받은 파일을 넣어준다.

TWRP와 Magisk를 사용하여 루팅작업하기

오딘을 실행하여 [ AP ] 버튼을 클릭한 후, 이전에 다운로드한 TWRP(.img.tar) 파일을 선택한다.
휴대폰을 USB 포트와 연결한 후, ADB 명령어를 사용하여 다운로드 모드로 재부팅한다.
adb devices로 연결이 확인된 후 진행한다.
adb reboot download
PowerShell
복사
아래와 같이 오딘에서도 기기를 정상적으로 인식하고, 파일도 정상적으로 설정되었다면 [ START ] 버튼을 눌러준다.
정상적으로 완료되었다면, 오딘에서도 PASS! 라는 문구와 함께 완료된것을 확인할 수 있다.
기기는 위 과정을 완료하면 자동으로 재부팅 되며, ADB 명령어를 사용하여 Recovery Mode로 부팅해야 한다.
adb reboot recovery
PowerShell
복사
Recovery 모드로 재부팅되면 설치한 TWRP를 확인할 수 있다.
[ INSTALL ] 을 클릭 Magisk~.zip 파일 선택
옵션 건들지 않고 오른쪽으로 스와이프
설치 완료 시, [ Do Not Install ] 클릭
재부팅 후 루팅 확인
su 명령어를 입력했을때, 정상적으로 동작하는 것을 확인할 수 있다.
> adb shell zeroflteskt:/ $ su zeroflteskt:/ #
PowerShell
복사

Magisk 설치

위 과정이 완료되었다면, Magisk 앱이 설치되어 있을 것이다. 접속하면 아래처럼 경고가 뜨는 경우가 있는데 무시해도 된다.
Magisk 기능 설치
바로 설치 기능을 사용하여 설치를 진행한다.
설치가 완료되면 재부팅을 해준다.
Magisk App 설치
SafeNet 확인

Android 기기 언루팅하는법

루팅이 되어있을 때, 혹은 핸드폰이 벽돌이 되었을 때 순정으로 복원하는 방법이다.

순정 펌웨어 다운로드

삼성 핸드폰을 기준으로 작성하는 글이기 때문에, 삼성 핸드폰의 순정 펌웨어를 다운로드 받아야하는 도구를 사용할것이다. 바로 SamFirm 이라는 도구이다.
프로그램을 실행하면 아래와 같이 입력한 후, Check Update 버튼을 클릭한다.
Model : 모델명
휴대폰의 설정에서 확인할 수 도 있다.
Region
SKT 기종 : SKT / SKC
LG 기종 : LGT / LGC
KT 기종 : KTT / KTC
KT 기종 : KOO
Binary Nature Option
선택 시 : sdcard & 안드로이드 시스템 모두 포맷되는 펌웨어
미 선택 시 : 안드로이드 시스템만 포맷되는 펌웨어(업데이트 or 재설치 느낌)
성공적으로 파일을 찾았다면 아래와 같이 Download 버튼이 활성화 된다. 버튼을 눌러 다운로드를 진행하면 된다.

오딘과 순정펌웨어를 사용하여 언루팅하는법

이전에 다운로드 받은 순정 펌웨어가 .zip 파일일 경우 압축을 해제하여 .tar.md5 파일을 확인한다. 혹은 AP_~, BL_~, CP_~, CSC_~ 파일 4개가 있는 경우도 있다.
오딘을 실행시켜 순정 펌웨어의 종류에 따라 파일 설정을 해준다.
.tar.md5 파일 하나일 때 (구형 기기 가능성 높음)
[ AP ] 버튼을 클릭 후, .tar.md5 파일을 선택한다.
AP_~, BL_~, CP_~, CSC_~ 등 여러 파일이 존재할 때
AP_~ -> [AP] 에 설정
BL_~ -> [BL] 에 설정
CP_~ -> [CP] 에 설정
CSC_~ -> [CSC] 에 설정
루팅된 휴대폰을 USB 포트와 연결한 후, ADB 명령어를 사용하여 다운로드 모드로 재부팅한다.
adb devices로 연결이 확인된 후 진행한다.
adb reboot download
PowerShell
복사
아래와 같이 핸드폰이 다운로드 모드로 부팅되었다면 오딘 프로그램을 확인하여 정상적으로 연결되었는지도 확인한다. 정상적으로 연결되었다면 [ START ] 버튼을 클릭한다.
정상적으로 진행될 때 모습
모든 과정이 정상적으로 진행되었다면, 오딘에서도 PASS! 를 확인할 수 있으며, 핸드폰은 자동으로 재부팅된다.
이후 ADB 명령어를 통해 Shell을 얻으면 Root 권한이 사라진것을 확인할 수 있다.
> adb shell zeroflteskt:/ $ su /system/bin/sh: su: not found
PowerShell
복사