本文最近更新于 2019 年 3 月 3 日「 星期日 」

脸谱 LOGO 的 Magisk 是出自一位台湾学生 @topjohnwu 开发的 Android 框架,是一个通用的第三方 systemless 接口,通过这样的方式实现一些较强大的功能。

Magisk 的出现

长久以来,安卓玩家的玩机过程这样开始 —— 解锁引导程序(或找到漏洞),刷如第三方 Recovery,安装 SuperSU ……

但是从棉花糖(Android 6.0)开始,Google 基本阻止了以前版本中最流行的 root 方法 —— 即,将 su 守护程序放置到 /system 分区,并在启动时取得所需的权限。 道高一尺,魔高一丈,于是就出现了 systemless 的 root 方式,因为它不采取任何方式修改 /system 分区。

出于增加安全性的考虑,Google 推出了 SafetyNet 这样的检测,以确保 Android Pay 等一些 App 的安全运行,可这也导致很多玩家不得不在 root 权限和一些有价值的 App 之间作出选择。

这个时候就需要 Magisk 的帮助了。

实现原理:由于它是通过启动时在 boot 中创建钩子,把 /data/magisk.img 挂载到 /magisk,构建出一个在 system 基础上能够自定义替换,增加以及删除的文件系统,所有操作都在启动的时候完成,实际上并没有对 /system 分区进行修改(即 systemless 接口,以不触动 /system 的方式修改 /system)。

截至目前稳定版本(v18.1),Magisk 可以实现的功能包括:

  • 集成 root(MagiskSU)
  • root 和 Magisk 的日志功能
  • Magisk Hide(隐藏 Magisk 的 root 权限,针对 Snapchat、Android Pay、PokémonGo、Netflix 等)
  • 为广告屏蔽应用提供 systemless hosts 支持
  • 通过 SafetyNet 检查
  • Magisk 功能模块

注:以下截图来自 v14.0 旧版本。

支持的安卓版本:Android 5.0+

安装方法

1) 解锁手机 Bootloader(BL)

2) 刷入第三方 Recovery(例如 TWRP)

3) 下载官方 Magisk 包,然后通过第三方 Recovery 刷入

最新 Magisk:http://tiny.cc/latestmagisk

4) 安装 Magisk Manager 新版本已不需要额外安装 Magisk Manager

最新 Magisk Manager:https://github.com/topjohnwu/MagiskManager/releases/

5) 享受完整 Magisk 的 systemless root 和功能模块

6) 如需卸载通过第三方 Recovery 刷入卸载包即可

最新 Magisk Uninstaller:http://tiny.cc/latestuninstaller

一些推荐的功能模块

「2018/07/17」新开了一篇 Magisk 模块推荐,长期更新维护,欢迎收藏关注。

App Systemizer

这是一个能把用户 App 挂载为系统 App 的模块,如 Google Play 服务、绿色守护、蟒蛇音效等。

Magisk SELinux Permissive Script

使 Android 的 SELinux 默认以 Permissive 运行,关于 SELinux 模式的介绍,请点击这里

ViPER4Android FX

大名鼎鼎的蝰蛇音效的 Magisk 模块,需要配合 Magisk 适配的管理器使用,请在 XDA 论坛搜索下载,或者加入「安卓果酱」海外电报群组直接下载。

Xposed

强大的 Xposed 框架的 systemless 实现,关于 Xposed 的介绍点击这里

更多模块合集:

源代码:github

XDA:Magisk - Root & Universal Systemless Interface

知乎讨论:如何评价安卓第三方接口「Magisk」?


更新历史:

2017/09/07:初稿 发布于日本
2017/10/13:新增 Xposed 模块推荐 更新于日本
2018/01/23:增加文章 TOC 和 Magisk 下载地址
2018/07/17:一些值得推荐的 Magisk 模块