나무모에 미러 (일반/밝은 화면)
최근 수정 시각 : 2025-10-04 22:25:02

Magisk

Magisk
파일:Magisk 로고.png
개발자 topjohnwu
정식 출시 2016년 8월
개발 언어 C++, Kotlin, Rust
리포지토리 파일:홈페이지 아이콘.svg[1]

1. 개요2. 특징3. 기능4. 사용법5. 여담6. 관련 문서

Magisk: The Magic Mask for Android
매지스크: 안드로이드를 위한 마법 마스크

1. 개요

안드로이드루팅하고 루팅 상태를 관리하기 위한 애플리케이션으로, 현존하는 루팅툴 중에서 가장 인지도가 높고 널리 쓰이는 루트 매니저이다.[2]

2. 특징

2016년 8월에 처음 공개되었으며, 안드로이드 5.0(롤리팝) 이상[3]의 기기들을 지원한다. 루팅뿐만이 아니라 애플리케이션별 루트 권한 관리[4], Xposed와 같은 모듈 설치 등 각종 부가 기능들을 함께 제공한다.

단순히 시스템 파티션에 su 바이너리와 관리용 앱을 설치하던 과거의 루트 매니저와는 달리 작동 방식이 굉장히 복잡하다. 이는 시간이 흐를수록 안드로이드의 보안 정책이 대폭 강화되었기 때문인데, 특히 롤리팝에서 SELinux[5]전면 도입으로 각 서비스별로 사전에 작성된 룰셋에 따라 수행할 수 있는 작업이 제한되면서 루팅이 매우 까다로워졌다.

이 때문에 매지스크의 작동 방식은 대략 다음과 같다(출처):
과거에는 루팅을 하는 Magisk와 루트 매니저인 Magisk Manager라는 두 개의 앱으로 이루어져 있었으나, v22.0부터 단일 Magisk 앱으로 통합되었다.

3. 기능

4. 사용법

사용법의 경우 기종별로 어느 정도 차이가 존재하기 때문에 하나로 정리하기는 힘들다. 공식 홈페이지의 설치 방법을 보면 각 기종별로 설치 방법이 설명되어 있으니 참고하면 된다. 대체적으로 공통점을 찾자면, 기기의 순정 boot.img 혹은 recovery.img를 준비하고 Magisk앱에서 파일을 패치하고 PC에서 패치한 파일을 설치하는 원리이다. 따라서 Magisk를 설치하고 싶다면, 일반적으로는 부트로더를 언락해야 한다.[10] 예외는 아래 항목에 따로 기술한다.

5. 여담

6. 관련 문서


[1] 구글 등에서 검색시 공식 홈페이지를 자청하는 수많은 페이지들이 같이 뜨는데, Magisk의 공식 홈페이지는 Github 저장소 하나뿐이다. 즉 나머지는 모두 가짜 사이트들이다. 심지어 Magisk 앱에서도 가짜 페이지들을 조심하라는 안내 문구가 나온다.[2] KernelSU, Apatch는 최근에 등장하여, 아직 Magisk 만큼 많이 쓰이지는 않는다.[3] 구버전은 4.2 젤리빈까지 지원하며 꼭 필요하다면 아직 설치해서 사용할 수는 있다. 그러나 Magisk 23.0부터는 롤리팝 이전 버전과의 호환성이 완전히 제거되었다.[4] 사실 이 기능은 안드로이드 초창기의 Superuser 앱부터 지원한 기능이다.[5] 미국 NSA에서 처음 개발한 리눅스 보안 강화 솔루션이다.[6] 최근에는, 내장 Zygisk 기능보다도 외부에서 모듈을 설치하는 방식으로 Zygisk 기능을 사용하기도 한다. 이렇게 쓸경우, 기존 Magisk 내부 설정에 있는 Zygisk 옵션은 비활성화 해야한다.[7] 보통 Magisk앱을 숨겨야 할때 사용을 하는데, 굳이 이렇게 하지않고 보안폴더 같은 곳에다가 Magisk앱을 설치하거나, 아예 Magisk앱을 삭제하는 방법도 있다.[8] Magisk앱을 삭제하면, 슈퍼유저나 모듈 관리가 불가능하게 되지만, 기존에 설정해둔 값은 앱을 삭제해도 그대로 유지되며 필요할때만 다시 설치하면 된다.[9] 다만 루팅 관련 행위들이 늘 그렇듯 벽돌의 위험이 항상 뒤따르니 주의를 기울이는 것이 좋다. 특히 해당 모듈이 정확히 어떤 모듈인지, 그리고 본인의 기기에서 호환이 가능한지 정확히 확인한 후 설치하도록 하자.[10] 2019년도 이후 출시 기종은 거의 필수라고 생각하면 된다.[11] 이렇게 될 경우, 삼성 관련 앱들을 영원히 사용하지 못한다. 다만, 루팅을 한 경우 삼성페이나 일부 삼성앱들을 제외하면 대부분 우회가 가능하다. 물론 삼성페이가 없는 기종을 서브 폰 용도로 쓰면서 루팅을 한다면 아무런 문제가 안된다. 물론 무상수리는 날아가니 무상수리 기간이 지난 폰을 쓰자.[12] 진입 방법은 기종별로 상이하다.[13] Samfw 사이트에서 자신의 휴대폰에 맞는 모델명을 찾아서 다운을 받으면 된다.[14] 바꾸지 않아도 되긴 하지만, 확장자가 md5일경우 오딘에서 체크섬 확인을 진행하면서 잠시 프리징이 걸린다. 가능하다면 모든 파일의 확장자를 .tar.md5에서 .tar로 바꿔주자. 프리징이 사라진다.[15] Magisk 공식 설치 가이드에 나와있는 내용이다.[16] 아래에서도 나오겠지만, boot.img에 ramdisk가 없는 기기들은 리커버리 모드에서 설치할지 고르는 메뉴가 나온다. 갤럭시 A90 5G처럼 Ramdisk가 실존하는데 없는 척(?) 하는 기기들의 경우, 리커버리 모드를 체크 해제해서 설치해야 재부팅해도 루팅이 계속 유지된다.[17] 위에서 서술했듯이, ADB 툴을 사용을 권장한다.[18] 홈버튼과 빅스비 버튼이 없는 기종은 컴퓨터랑 연결을 하지 않고 불륨 상 키과 불륨 하 키를 동시에 계속 누르고 있는 상태에서 컴퓨터랑 연결한다. 이후 다운로드모드로 진입할 것이냐 묻는 창이 나오는데 확인(일반적으로 볼륨 상 키를 짧게 누르는 것)을 선택한다.[19] 이동 통신을 지원하지 않는 기기(태블릿 등)에는 없을 수도 있다.[20] CSC 칸에는 반드시 Home_CSC가 아닌 CSC파일을 넣어야한다.[21] USERDATA도 있지만 굳이 넣을 필요가 없다. 오히려, 이 유저데이터 파일은 통신사 기본 앱을 설치하는 파일이다. 즉 통신사용 파일.[22] 만약 'FAIL'이 뜬다면, 펌웨어가 잘못됐거나, 부트로더 언락을 안했거나 등등 중간에 빠진 과정이 있다는 것이다.[23] 불륨 상/하 버튼으로 움직이며, 전원 버튼이 클릭이다.[24] 이 과정은 최대한 빨리 스킵하는 것을 추천한다. 어차피 나중에 다시 설정이 가능한 영역들이다.[25] 만약 Magisk 앱이 다운로드만 되고 설치가 안된다면, 수동으로 apk파일을 찾아서 설치해야 한다.[26] 이마저도 루팅 작업을 시작하기 전에 TWRP로 백업을 한번 진행하면 순정펌을 구할 필요 없이 백업 파일 내부에서 확보할 수 있다. 해당 파일명은 주로 boot.emmc.win[27] MT67xx, MT816x, MT817x, MT6580 한정[28] 8 이상에서도 가능한 경우가 종종 있으나 드물다.[29] 롬파일 없이 AVB 해제가 불가능한 모델은 이 방법을 쓸 수 없다.[30] Unisoc 계열 칩셋은 대부분 부트로더를 언락할 시 시스템 파티션에 대한 검증을 하지 않도록 되어 있으므로 따로 AVB를 해제하지 않아도 된다.[31] 부트로더를 언락하면 자동으로 시스템 파티션을 풀어주는 Unisoc 계열이 아닌 한 대부분 vbmeta 파티션을 덮어씌워야 AVB를 해제할 수 있다.[32] 보통 /system/bin/, /system/xbin/, /system/etc/ 경로 내의 파일들을 백업하는 것으로 충분하다. 단 파티션 자체를 복사할 수는 없다.[33] 리커버리 파티션에 Magisk가 설치되기에, 리커버리 모드로 부팅을 하지 않을 경우, Magisk가 삭제된 것처럼 보인다. 흔히 이 현상을 보고 루팅이 풀렸다고들 하지만, 다시 리커버리 모드로 부팅을 하면 해결이 된다.[34] 신기하게도 비슷한 시기에 출시된 갤럭시 A90 5G은 실제론 ramdisk가 있지만 없는척(?)을 하기도 한다. 이 외에도 비슷한 시기에 출시된 삼성 스마트폰들 대다수가 ramdisk쪽이 이상하게 구현되있거나 아예 없는 경우가 많다.[35] 통상 이런 짓을 하면 시스템 부팅이 불가능해지고 오직 리커버리 진입만 가능한 상태가 되지만 매지스크로 패치된 리커버리일 경우 정상적으로 시스템 부팅이 가능하다. 이렇게 하면은 파티션 용량 문제로 인해 설치가 되지 않는다.[36] 대표적으로, LineageOS Galaxy S10 전용 커널의 경우 Ramdisk가 내장되어있다.[37] 대개 이들은 제재 이후 HarmonyOS 기반이나 대응 설계가 되어있어 그럴 것으로 추정된다. 특히 HarmonyOS v5부터는 아예 리눅스가 아닌 화웨이 독자 커널 기반이라 도저히 권한 상승시킬 방법이나 안드로이드 앱 호환성을 도저히 기대할 수 없다.[38] 이 키는 부트로더 언락 단계에서도 필요하다. 즉 키가 없으면 말 그대로 아무것도 시도할 수가 없다. 다행히도 가장 널리 쓰이는 키는 유출되어 있지만 만약 제조사가 고유의 키를 사용하면 부트로더 언락부터가 불가능하다.[39] 삼성, 소니, LG처럼 자체적인 프리로더를 사용하는 회사에서 출시된 모델이 아니라면 부트로더 언락 여부와 상관없이 플래시/덤프가 가능한 툴이 칩셋별로 존재하는 것이 보통이다. 예를 들면, 퀄컴은 QFIL 혹은 Sugar QCT, 미디어텍은 SP Flash Tool, 스프레드트럼 및 Unisoc은 SPD Research Tool이 주로 사용된다.[40] USB 박스나 동글을 사용하는 안드로이드 범용 서비스 툴을 사용할 수도 있다. 장점은 공개 툴을 사용한 플래시/덤프를 제조사에서 막아 놓았더라도 이를 우회할 가능성이 상당히 높다는 점, 부트로더 언락이 불가능한 모델을 강제 언락하거나 하는 등의 부가 기능이 많다는 점, 삼성, 소니, LG 등 자체적인 플래시 툴을 사용하는 회사의 모델도 지원하는 경우가 많다는 점, 지속적인 업데이트와 정보가 제공된다는 점 등이다. 단점은 옵션에 따라 연간 50USD에서 200USD 정도 되는 구독 비용이다.[41] boot, system, vendor, product 등 유저 데이터가 아닌 롬에 해당하는 파티션은 read/write로 마운트하는 것조차 시도해서는 안 된다. GSI 롬을 비롯한 커스텀 롬 설치 또한 당연히 불가능하다.[42] 일례로 안드로이드 9 TV박스인 Beelink GT-King은 fastboot 액세스나 부트로더 언락이 불가능한 대신 AVB가 비활성화되어 있고 스톡 펌웨어가 su 바이너리를 포함하며 shell 에뮬레이터를 통해 boot나 recovery 등의 주요 파티션을 플래시하거나 덤프할 수 있다.[43] 대만 타이베이 출신으로, 현재 미국에 거주.