모바일 진단을 하려면 루팅을 진행하여 관리자 권한 (root)을 얻어야 해.
루팅 대상은 갤럭시 노트 10으로 진행했고 안드로이드 버전은 12야! 바로 루팅을 위한 세팅 들어가자!
1. 휴대폰 정보 확인
루팅 전에 할 일은 안드로이드 버전 확인과 루팅 전 설정이야.
[설정 > 휴대전화 정보 > 소프트웨어 정보] 에 들어가면 안드로이드 버전과 빌드번호를 확인할 수 있어
그리고 빌드번호를 연타하면 다음과 같이 개발자 모드가 활성화 돼!
그다음 설정 부분으로 돌아오면 개발자 옵션이 새로 생성되었을 거야
개발자 옵션에 "OEM 잠금 해제", "USB 디버깅"을 모두 활성화해 주면 돼
그리고 이전에 frida 설치하면서 adb도 설치했던 포스팅이 있어! adb를 설치하지 않았다면 설치 후에 adb 연결을 진행하자
이때 adb shell로 접근 가능여부도 확인해보자!
https://jnudiary.tistory.com/93
2. Magisk 설치
https://github.com/topjohnwu/Magisk/releases?page=1
magisk는 안드로이드 장치에서 루팅을 수행하고 시스템 수정을 관리하기 위한 오픈소스야
위에 github 페이지로 가면 apk 파일을 다운로드할 수 있으니 모바일에 설치하자
magisk 파일을 선택하면 설치가 진행되고 앱에 접근하면 다음과 같이 설치가 완료된 것을 볼 수 있어
3. 펌웨어 다운로드
Magisk에서 리커버리 모드 실행 시 필요한 tar 파일, 즉 펌웨어를 설치하기 전에
Samfirm을 통해 공식 펌웨어를 다운로드 해야 해
https://github.com/ivanmeler/SamFirm_Reborn/releases
Samfirm에는 Model, Region, Serial 정보를 입력하는 부분이 있어!
[설정 > 휴대전화 정보]에 들어가면 모델명, 시리얼 번호를 확인할 수 있으니 해당 정보를 입력하고
Region의 경우 SK = SKU, KT = KTC, LG = LUC로 적어주면 돼
(현재 USIM 없이 진행한 상황으로 본인은 KOO로 설정했음!)
4. 펌웨어 생성하기
다운로드가 완료되면 위에 다운로드한 enc 파일에 "AP_"로 시작하는 펌웨어가 존재할 거야
해당 파일을 복사해서 모바일 기기에 넣어두고 "md5"로 설정된 확장자를 .tar로 수정해줘야 돼
이제 이 tar 파일 즉, 펌웨어를 조금 전에 설치한 Magisk를 통해 패치할 거야
5. Magisk 펌웨어 패치
Magisk 앱으로 돌아와서 [ 설치 > 리커버리 모드 > 다음 > 파일 선택 및 패치]까지 진행하면
내장 메모리에 우리가 조금 전 설치한 "AP_" 파일을 찾아볼 수 있을 거야
이제 해당 파일을 선택 후, 패치를 진행하고 "All done!" 이 나오기 전까지 기다려 주면 돼
여기서 패치된 파일 이름을 보면 “magisk_patched” 로 시작하는 파일이 생성된 것을 볼 수 있어
여기까지 진행됐으면 이제 다운로드 모드로 진입해서 패치된 파일을 모바일에 다운로드 해보자!
6. Magisk 펌웨어 설치하기
Magisk에서 패치가 완료되었으면 이제 다운로드 모드로 들어가서 패치된 펌웨어를 설치해 볼 거야
모바일 기기를 종료한 후, OneUI가 4.0 이기 때문에 USB를 노트북과 연결한 상태에서 볼륨 상, 하를 같이 눌러줘!
그러면 다음과 같이 초록색 화면에 경고창이 뜰 거야
해당 화면이 다운로드 모드 직전 화면이야
위의 안내대로 볼륨상 키를 누르면 다운로드 모드로 진입하는데 문제는 OEM Lock이 On이네...? 🙄🙄
OEM Lock이 OFF가 될 수 있게 다시 OEM 상태를 다시 한번 확인하자....!
이 상태에서 루팅을 실행하면 실패하기 때문에 디바이스 잠금해제 모드를 실행한 뒤 다시 위의 과정을 복기해 보자 (Magisk 설치부터 다시!)
OEM Lock : OFF, KG State: Checking이라고 표기된 것 확인했지?
이제 여기서부터 Odin으로 아까 우리가 패치했던 AP 파일을 다운로드하도록 할 거야 (magisk_patched~ 파일)
해당 파일을 AP 파일에 업데이트 후 다운로드를 진행하면 돼
Odin 설치 위치는 여기서 진행!
https://www.osamsung.com/kr/
AP 파일을 선택하고 Start 이전에
Options의 Auto Reboot를 해제하면 세팅 완료!
펌웨어 다운로드를 실행하면 조금 시간이 걸릴 거야
성공적으로 설치가 완료되면 PASS! 가 반환되고 설치 중 실패하면 FAIL! 이 반환될 거야
FAIL! 이 반환되면 다시 Magisk에 tar 파일 패치하는 것부터 다시 시도해보자
PASS! 가 떴다!
이제 볼륨하 키 + 전원 버튼을 7초 이상 동시에 눌러주면 다운로드 모드를 빠져나오게 될 거야
빠져나올 때 화면이 꺼지면 바로 전원 버튼과 볼륨 상키를 눌러 리커버리 모드로 진입하고
그 후 공장 초기화를 진행하고 다시 리부트 해주면 돼!
자...! 이렇게 리부팅한 후에 Magisk와 Rootchecker를 설치해서 rooting 여부를 확인해 보자
그러면 다음과 같이 super user 권한을 얻은 것을 볼 수 있어!
adb shell로 접근 시 su 명령을 통해 root 권한으로 접근 가능한 것도 확인했어!
여기까지가 안드로이드 루팅 과정이야!
다음부턴 헤매지 말고 위에 순서대로 루팅 시도해보자…!
##. Magisk 펌웨어 설치하기
만약, 순정 펌웨어가 설치되어있지 않은 경우엔, 위의 과정에서 Samfirm에서 다운로드한 enc 파일 내부에서
AP, BL, CP, CSC 파일 네 개를 모두 다운로드 모드에서 다운로드 후 루팅을 진행해야 돼!
다운로드 모드에서 빠져나오면 맨 처음부터 (1번부터!) 다시 진행해 보면 될 거야