초보유저를 위한 Magisk 종합 설치 가이드 (루팅, Xposed 설치, 루팅우회 등)

17. 10. 23. 공지: 유지보수 중단합니다. 이유는 일단 제가 Magisk를 사용할 필요성이 없어져서 더 이상 안 쓰는데다가, 현재는 이미 안정화가 된 상태이기 때문에 버전이 바뀌더라도 (주의사항 부분을 제외하면) 별로 달라지는 부분이 없어서 굳이 수정을 할 필요가 없고, 게다가 초창기와는 달리 설치법이 그리 복잡하지 않아서 커롬 좀 올려보신 분들은 누구나 쉽게 설치할 수 있는데다, 애초에 이 글을 쓴 목적이 Magisk라는 걸 한국 유저들에게 알리기 위함이었는데 이젠 널리 알려졌기 때문에 크게 필요하지 않다고 생각했습니다.

다만 저는 계속 Magisk 쓰레드를 구독하고 있기 때문에, 혹시라도 대격변이 일어날 경우 수정할 수도 있습니다. 그렇지 않는 한, 버전이 올라가더라도 설치/사용방법 자체는 별로 차이가 없기 때문에 굳이 일일히 버전 맞춰서 수정할 필요가 없을 것 같습니다.






특정 기종에서 되는지 안 되는지는 제가 그걸 써보지 않았기 때문에 알 수 없습니다. 만약 본인이 쓰는 기기와 호환이 되는지 안 되는지 모를 경우, 먼저 디벨로이드 등 안드로이드 사용자 커뮤니티에서 본인의 폰/태블릿 기종명으로 검색해서 후기를 찾아보고 난 후에 해보시기 바랍니다.




최종 수정일: 17.07.20. Magisk 버전 v13.3, Magisk Manager 앱 버전 v5.1.1 기준


# 17.06.02. 몇시간 전에 Magisk Manager 앱이 (구글 정책 위반으로) 플레이스토어에서 내려갔기 때문에, apk 파일 직접 다운로드 링크로 변경합니다. 기존에 플레이스토어에서 설치하셨던 분들은 참고하시기 바랍니다.




Magisk 공식 XDA 쓰레드: http://forum.xda-developers.com/apps/magisk/official-magisk-v7-universal-systemless-t3473445


(# 저는 개발자가 아닙니다. 이하의 내용은 전부 위 쓰레드의 내용을 바탕으로 한국의 초보 유저들이 이해할 수 있도록 작성한 글입니다. Magisk의 개발자는 XDA의 "topjohnwu" 님입니다.)




* 백업은 항상 필수입니다!


** 루팅과 SuperSU는 다릅니다. SuperSU랑 "su 바이너리" 도 다릅니다. 질문하시기 전에 반드시 기본 개념을 숙지해 주세요!! 아래 다 설명해놨습니다. 반드시 본문 내용을 필독해주세요. 




0. 시작하기 전에 먼저 알아야 할 것들(필독)


1) Magisk란 무엇인가?


- Magisk는 각종 Systemless 모듈들을 설치하고 관리하기 위한 종합 systemless 매니지먼트 도구입니다. 이를 바탕으로 루팅을 비롯한 각종 Systemless 모듈(=Magisk 모듈)들을 설치할 수 있습니다.


추가: 버전 11부터는 Magisk 자체가 루팅 툴이기도 합니다.(MagiskSU라고 합니다.) 즉, Magisk 안에 su가 내장되어 있고, 매니저 앱으로 루팅권한을 관리할 수 있습니다. 또한 클로즈드 소스인 SuperSU와는 달리, 오픈소스입니다.


* 따라서, 현재 Magisk를 설치하면 자동으로 루팅이 됩니다. 즉, Magisk는 Systemless 루팅 툴이자 동시에 여러 Magisk 모듈 매니지먼트 툴입니다.


또, 이를 바탕으로 루팅 감지를 우회하고 SafetyNet을 통과하도록 하는 "Magisk Hide" 기능을 제공합니다. 이를 바탕으로 여러 루팅 감지앱을 우회할 수 있습니다.


* v12.0 추가: Magisk Hide에 삼성의 KNOX 변조 상태를 0x0 (변조가 안 된 상태)로 속일 수 있는 기능이 추가되었습니다. 이를 바탕으로, 삼성페이나 프라이빗 모드와 같이 녹스 변조상태를 확인하는 앱들의 정상 작동이 가능해질 것으로 예상됩니다.


그 외 다양한 특징 및 기능 안내는 위 Magisk 공식 쓰레드를 참고하세요.



2) Systemless란 무엇인가?


- 우리가 사용하는 안드로이드 OS는 핸드폰의 /system 폴더 이하에 설치됩니다. 기존에 존재하는 (루팅을 비롯한) 각종 트윅 모드들은 바로 이 system 폴더 이하 내용물을 추가하거나 변경/삭제하는 등의 작업을 거칩니다. Systemless는 바로 저 /system 폴더를 건드리지 않고도 각종 트윅을 가능하게 하는 것을 말합니다.  


이로 인해 얻을 수 있는 장점은 크게 다음과 같습니다.


  • 깔끔하고 안전하다: system 폴더를 건드리지 않기 때문에, 뭔가가 잘못되더라도 쉽게 원상복구가 가능합니다. 부팅이 안 되더라도 magisk 언인스톨 파일만 설치하면 복구가 가능합니다.
  • OTA 업데이트가 가능하다: (이 부분은 삼성 갤럭시 등에는 해당 안됩니다.) system 영역을 건드리지 않기 때문에 OTA 업데이트가 가능하고, 업데이트 이후에도 트윅이 그대로 남아 있습니다.
  • 쉽고 편하다: Magisk 하나만 설치하면 끝입니다. 일일히 /system 폴더를 수정하거나 할 필요 없이 Magisk 매니저 앱에서 각종 모드를 쉽게 설치/삭제할 수 있고 관리할 수 있습니다.
  • Magisk Hide: Magisk 매니저 앱에서 루팅을 비롯한(Xposed는 제외) 각종 Magisk 모듈들을 특정 앱들로부터 숨겨줄 수 있습니다. 이를 통해 시스템 변조를 확인하는 여러가지 앱들의 우회가 가능합니다.



3) Magisk를 설치하기 위한 기본사양 (v13.1 기준)


- 안드로이드 5.0 이상이어야 합니다. (4.4 이하는 불가능)


- 본인 기기의 기종에 맞는 커스텀 리커버리가 설치되어 있어야 합니다. (없으면 검색해서 설치하시기 바랍니다)


- 다음의 경우에는 설치가 안되거나 제한될 수 있습니다.

  • 픽셀/픽셀 XL: 작업중이라고 합니다.
  • 몇몇 Asus 기기들: boot image singing이 필요하다고 합니다.
  • 소니 기기들은 부트로더 언락이 필요할 수 있습니다.
  • Magisk Hide 기능을 사용하려면 리눅스 커널 버전 3.8 이상이어야 합니다. 단, 중요 기능들을 백포팅한 커널의 경우 하위 버전이더라도 작동할 수 있습니다. (아래 3-1 "루팅 감지앱 우회하기" 참고)


- 설치 이전에 모든 루팅 및 기타 /system 수정내역을 초기화시켜야 합니다. 이 부분은 설치과정에서 다시 언급하겠습니다.




1. 설치 준비물 - 최초 설치 기준(모두 받으세요. 반드시 최신버전으로 받으세요)


- Magisk: http://tiny.cc/latestmagisk


- Magisk Manager app: http://tiny.cc/latestmanager


- 언루팅 파일 (SuperSU 사용중인 경우 다운받으세요): http://forum.xda-developers.com/showpost.php?p=63615067


* Magisk 언인스톨러: http://tiny.cc/latestuninstaller




2. 설치과정 + 삭제방법 (기존에 설치한 적이 없는 경우)



0) 언루팅하기 및 기타 모드들 삭제하기 (순정롬을 사용중이고 루팅이나 xposed 기타 모드들을 설치한 적이 없다면 생략해도 됩니다.)


0-1) SuperSU 사용자의 경우: 다운받은 unSU 파일을 리커버리에서 설치해서 언루팅을 시켜줍니다.


(* 사실 SuperSU와 Magisk는 동시에 사용이 가능하긴 합니다. 다만 후술할 Magisk Hide 기능 사용이 불가능하고, 제가 볼때 SuperSU를 굳이 고집해야 할 이유가 없기 때문에, 혼동을 막기 위해 그냥 언루팅하는 것이 낫다고 생각해서 이렇게 설명합니다.)


0-2) 리니지OS 사용자이고, 리니지OS 기본 su를 사용중인 경우: 아래 3-0번으로 넘어가주세요. (언루팅할 필요 없음)


(* 리니지OS를 사용중이지만 루팅이 되어있지 않은 경우는 아래 1번대로 진행해야 합니다.)


0-3) Xposed를 사용중인 경우: xposed 언인스톨러 파일을 이용해서 삭제를 진행합니다. (언인스톨러 파일은 xposed 인스톨러 앱에서 다운받을 수 있습니다.) 기타 모드를 설치한 경우에도 역시 (해당 개발자/배포자의 글을 참고해서) 삭제를 진행합니다. 


* 만약 기존에 램디스크 패치를 진행하는 등 부트이미지를 건드린 적이 있을 경우: 건드리기 전의 순정 부트이미지로 복구하시기 바랍니다. (이게 무슨 말인지 모르겠다면 해당사항이 없을 가능성이 큽니다. 부트이미지 건드린 적이 있는 분이라면 본인 스스로 잘 아실 겁니다.)



1) Magisk 설치하기(+루팅하기)


- 리커버리에서 다운받은 magisk-v(숫자).zip 파일을 설치하고 재부팅합니다. 그 다음, 위에서 다운받은 Magisk Manager 앱을 설치합니다.


(* 참고: v10부터 magisk 설치파일에 root가 포함되어 있으므로 따로 phh's superuser zip파일을 설치할 필요가 없습니다. v11부터는 Magisk에 SU가 완전히 통합되었으므로, Magisk 하나만 설치하면 됩니다. 루팅 매니저 앱 또한 통합되었습니다.)


* 이때 설치가 안된다면: 사용하고 있는 롬/커널이 Magisk와 호환이 안 되는 것입니다. 위 0-3번 확인해보시고, 만약 커스텀 롬/커널 사용시에는 커널이 램디스크 패치를 지원하지 않을 경우 Magisk 설치가 되지 않습니다. 다른 (램디스크 패치를 지원하는) 커널을 사용할 경우 설치가 될 수 있으니 커널을 바꿔보세요.


* 설치하고 나서 벽돌이 되었을 경우: 리커버리 모드로 부팅하고, 위에서 다운받은 언인스톨러 파일을 설치합니다. (이 경우 해당 기기와 호환이 되지 않을 가능성이 높습니다.)



2) (선택) Xposed를 비롯한 각종 Magisk 모듈 설치하기


- (Xposed를 설치할 경우) 먼저 다음의 링크에서 Metarial Design Xposed Installer 앱을 설치합니다. (기존의 공식 xposed installer 앱이 설치되어 있을 경우 삭제하고 설치합니다. http://forum.xda-developers.com/xposed/material-design-xposed-installer-t3137758


* 꼭 설치하세요! 자세히 안 읽고 (공식 인스톨러만 설치하고) 질문하는 분들이 많은 것 같아서 다시 강조합니다. 반드시 (공식 인스톨러는 삭제하고) 저 인스톨러 앱을 설치하세요!


그 다음 Magisk 매니저 앱을 열고 Downloads 탭으로 들어간 다음 목록에서 다운받고 설치하고 나서 재부팅하면 됩니다. (참고로 안드로이드 5.0: SDK 21, 5.1: 22, 6.0: 23 입니다.) 


* 참고: 이 Magisk용 Xposed 프레임워크는 갤럭시용/ARM64용 등이 모두 통합된 버전입니다. 따라서 갤럭시든 뭐든 구분할 필요 없이 설치 가능합니다.


다른 모듈들 또한 마찬가지 방식으로 설치하면 됩니다. 사용중지 처리하거나 삭제하고 싶은 경우, Modules 탭에서 체크를 해제하거나 휴지통 아이콘을 누르고 재부팅하면 됩니다.



3) Magisk 삭제하기


- 리커버리로 부팅한 다음 다운받았던 언인스톨 zip 파일을 설치해주면 됩니다. Magisk 및 각종 Magisk 모듈들이 전부 삭제되고 설치하기 전으로 초기화됩니다. 만약 Magisk 및 각종 모듈 설치 이후에 부팅이 되지 않을 경우에는 바로 리커버리로 부팅해서 언인스톨하면 됩니다.




3. 기타


0) 이전 버전에서 업데이트하는 경우, 또는 리니지OS (구 CM롬) 기본 루팅 사용자의 경우


- 만약 Magisk v6 이하에서 업데이트할 경우, 언인스톨러를 사용해서 언인스톨한 다음 다시 설치해야 합니다. Magisk v7 이상에서 업데이트하거나 리니지OS 기본 루팅 사용자의 경우, Magisk Manager 앱을 설치하고 실행해서 업데이트를 다운받고 설치 후 재부팅하면 됩니다.


(Magisk Manager 최신 버전을 사용하는 경우, "설정-업데이트 알림"에 체크가 되어 있으면 새 버전이 있을 경우 자동으로 알림이 오므로 설치하면 됩니다.)



1) 루팅 감지앱 우회하기


* 주의사항: 모든 앱이 우회가 되는 것이 아닙니다. 안 되는 앱이 있을 수 있습니다. 또한, Xposed를 감지하는 앱의 경우 우회가 불가능할 수 있습니다. (SuperSU+suhide의 경우는 가능하다고 하는데, 제가 해본 결과는 안되더군요.) 만약 금융앱을 사용하고자 하는 경우, 루팅된 폰에서 금융앱을 이용하는 것은 권장하지 않습니다.


루팅된 폰에서 금융앱을 이용하는 것은 절대 권장하지 않습니다. 저도 루팅된 폰에서 폰뱅킹은 이용하지 않습니다. 반드시 본인 책임 하에 사용하세요.


* 주의사항 2(내용추가): SafetyNet을 사용하는 앱들(안드로이드 페이, 포켓몬고, 슈퍼마리오 런 등등)을 이용하고자 할 경우, (루팅과 상관없이) 롬 자체가 CTS를 pass할 수 있어야 합니다. 다시 말해서, SafetyNet은 루팅 뿐만 아니라 시스템 변조 자체를 감시하기 때문에, 루팅하기 이전에 이미 롬 자체가 CTS를 통과하지 못하는 경우엔 아무리 Magisk를 설치해도 우회하지 못합니다.이를 해결하기 위해서는 SafetyNet 문제를 해결한 커스텀 롬을 사용하시거나, 또는 100% 순정롬 상태에서 이용해야 합니다. 


설정(Settings)에서 "Enable Magisk Hide"를 체크한 다음, Magisk Hide 탭으로 들어가서 우회를 원하는 앱에 체크해줍니다. (해당 앱에서 루팅을 포함한 각종 Magisk 모듈을 감지하는 것을 막아줍니다.)


* v11 내용추가: v11부터는 Magisk Hide 활성화 이후에 재부팅할 필요가 없습니다. 단, 본인이 Magisk 기본 SU (MagiskSU) 사용자가 아니라 SuperSU 사용자일 경우, Maigsk Hide로는 제대로 우회가 되지 않고, suhide를 사용해야 할 수 있습니다. suhide 사용법은 여기서 다루지 않으므로 다른 곳에서 검색해보세요.


# Magisk Hide가 작동하지 않을 경우: 리눅스 커널 3.8 미만의 기기를 사용할 경우, Magisk Hide에 필요한 기능이 들어있지 않아서 작동하지 않을 수 있습니다. 본인이 사용하는 기기의 커널 버전을 확인해 보세요.


(커스텀 커널을 비롯한 일부 커널의 경우 백포팅이 되어 있을 수 있습니다. 만약 본인이 순정롬이나 순정 커널을 사용하고 있었고, 커스텀 커널 자료가 있을 경우, 해당 커스텀 커널에서 Magisk Hide가 작동하는 지 확인해 보고 설치해 보세요.)



2) 커스텀롬 업데이트 시 조치사항


- CM13이나 Lineage OS 등의 롬을 사용할 경우, 롬 업데이트 과정에서 Magisk가 수정해 놓은 부트 이미지가 원상복구되므로 다시 설치해야 합니다. 


2-1) 롬에 리니지os 기본 su가 포함되어 있는 빌드인 경우: 롬을 설치하고 나서, Magisk Manager 앱을 통해 Magisk를 다시 설치합니다. (위 0번과 같음) 또는, https://download.lineageos.org/extras 에서 su removal 파일을 받은 다음, 롬을 설치할 때 같이 설치하고 마지막에 magisk-v(숫자).zip 파일을 설치합니다.


2-2) SuperSU가 기본 내장된 롬인 경우: 롬을 설치한 후에 위 설치과정 0~1번 과정을 반복해줍니다. (매니저 앱은 이미 설치했으므로 재설치할 필요 없습니다) 롬을 설치할 때 unSU 파일도 같이 설치한 다음 마지막에 magisk-v(숫자).zip 파일을 설치해도 됩니다.


2-3) su가 포함되어 있지 않은 롬인 경우(루팅이 안 되어 있는 롬인 경우): 롬(+커널) 설치 후에 맨 마지막에 위 설치과정 1번처럼 magisk-v(숫자).zip 파일을 설치합니다. (커널 설치 전에 Magisk를 설치하면 안됩니다.)


- Magisk 모듈 등의 경우, /data 파티션을 wipe 하지 않는 이상(Dirty flash) 다시 설치할 필요는 없습니다. 다만, 롬 설치 전에 풀 와입(Full wipe, /data 파티션을 포함해서 전부 wipe 하는 것)을 했을 경우, 모듈까지 새로 설치해야 합니다.



3) phh's SuperUser, MagiskSU 대신에 SuperSU를 사용하는 방법 (권장하지 않음)



# 주의: 이하 내용은 오래되었습니다. v10.2 이하 기준이고, 현재 v11 이후 버전의 경우 


1) 먼저 Systmeless 모드로 SuperSU를 설치하고, 

2) 위 링크에서 Magisk Manager 앱을 받은 다음 설치하면 됩니다.


이하 내용은 참고하시라고 남겨둡니다.



* 많은 초보분들이 혼동하는 사실인데, SuperSU와 phh's SuperUser는 다릅니다. 또한, 루팅=SuperSU도 아닙니다. (루팅은 su 바이너리를 설치하고 매니지먼트 앱을 통해 루트권한을 획득하는 것을 말합니다.) SuperSU는 Chainfire라는 분이 개발한 루팅 매니지먼트 도구이고, phh's SuperUser는 마찬가지로 phhusson 이라는 분이 개발한 루팅 도구입니다.


개인적으로 SuperSU는 클로즈드 소스이고, 현재 중국회사에 팔린 상태이며, Magisk와 같이 설치하고 사용하기에 약간 복잡하고, 많은 루팅감지앱에서 SuperSU 자체를 감지해버리며(suhide로 숨겨도 소용없음), phh도 충분히 좋을 뿐더러 오픈소스이기 때문에 SuperSU 대신 phh를 설치하는 것을 권장합니다. (현재 MagiskSU로 통합됨)


다만 suhide를 사용하고 싶을 수도 있기 때문에 간단하게 설명하고 넘어갑니다. 잘 모르는 초보 분들은 그냥 위에 설명한 대로 phh 설치하시기 바랍니다.


우선 가장 중요한 점이, Magisk를 설치하기 전에 SuperSU를 먼저 설치해야 한다는 점입니다. 또한 SuperSU는 Systemless 방식으로 설치해야 합니다. (설치 과정에 System Mode로 설치되는지 Systemless Mode로 설치되는지 나옵니다. 만약 system 모드로 설치될 경우, 언루팅한 다음 리커버리 터미널에서 다음과 같이 입력하고 재설치합니다: echo "SYSTEMLESS=true" > /data/.supersu )


그 다음 Magisk를 설치하면 자동으로 SuperSU 호환 모드로 설치됩니다. 참고로 SuperSU는 Magisk Hide로 우회시킬 수 없으므로, suhide를 사용해야 합니다.




이 글은 새 버전이 나올 때마다 신규 기능이나 수정사항 등을 반영하여 수정될 예정입니다. 또한 미흡한 부분을 발견하거나 잘못된 점이 발견될 경우 역시 추가/수정됩니다.


TAGS.

Comments