Magisk 教程

目录


Magisk 系列教程 (基于 v24.3)

image

什么是Magisk ?

  • MagiskAndroid OS 下的一套完整的 Super User 解决方案
  • Magisk 支持 Android 5.0 以上的设备

Magisk 中的组件

  • MagiskSu: 为应用程序提供 root 访问权限
  • MagiskBoot: Android 下的 镜像文件工具
  • Zygisk: Magisk 提供的 zygote process 注入器
  • MagiskManager: Magisk 的管理器, 也是用户操作的接口

如何安装 Magisk

  • 必要条件: 一台电脑

  • 必要条件: 一台安卓设备

    • 注意: 您的安卓设备必须解锁 (Unlock) 引导加载器 (BootLoader)
    • TODO: 各个手机厂商所生产的设备 BootLoader 的解锁方式都不相同; 所以此处未能贴出详细解锁教程
  • 本文使用的设备为: Xiaomi 8 SE

  • 首先: 下载手机当前的Rom.zip文件

    • TODO: 请到设备官网下载对应的 Rom; 小米设备可以直接在系统设置中下载
    • 打开设置 -> 我的设备 -> 系统版本(MIUI版本) -> 右上角菜单 -> 下载最新完整包
    • 下载完成之后会保存在 /sdcard/Download/ 文件夹中
      查看图片 image
  • 下载好之后将 Rom.zip 发送到电脑上进行解压

    • 解压后的文件夹中找到 boot.img 文件, 将它发送到手机中等待下一步操作
    • 如果不存在 boot.img 文件, 只存在 payload.bin 文件, 那么请下载解包工具
      • 将解包工具解压
      • payload.bin 复制到解包工具的 payload_input 文件夹下
      • 双击 payload_dumper 程序, 执行解包动作, 时间可能会有一点长
      • 解包完成后打开 payload_output 文件夹就可以找到 boot.img 文件了
  • 然后: 打开 MagiskGithub Releases 页面下载最新的 apk 文件到手机中

    查看图片 image
  • 安装刚刚下载的安装包并打开

  • 点击 主页 -> Magisk -> 安装 -> 选择并修补一个文件

  • 找到我们发送到手机中的 boot.img 文件并 点击开始

  • 显示成功后就会生成一个magisk_xxxx.img 文件到 /sdcard/Download/ 文件夹中

  • 最后:magisk_xxxx.img 文件发送到电脑中进行刷入操作

    # 需要电脑中安装 adb 工具链, 请百度安装教程 # 按下 Win + R 快捷键, 输入 cmd 打开窗口  # 将 magisk_xxxx.img 文件重命名为 boot.img 并放在桌面(一定要放在桌面) # 连接手机并执行下面的命令  # 重启到 fastboot 模式 adb reboot fastboot # 找到桌面文件夹 cd Dasktop # 推送桌面中的 boot.img 文件到手机中并刷入 fastboot flash boot boot.img # 重启手机 fastboot reboot 

注意: 安装教程比较笼统, 适合有一定玩机经验或编程经验的人操作, 刷机有风险, 操作需谨慎


如何升级 Magisk

  • 首先取消对 Magisk App 的隐藏, 若没有隐藏 Magisk App 可以忽略这一步

  • 更新 Magisk App (Magisk Manager)

    • 点击 主页 -> App -> 更新
      • 这一步可能无法下载, 所以还是需要到 Github Releases 页面下载 apk
    • 安装即可
  • 更新 Magisk

    • 点击 主页 -> Magisk -> 安装 -> 直接安装 -> 开始
    • 重启即可

什么是 Magisk Module

  • 官方解释: Modify read-only partitions by installing modules
  • Magisk Module (面具模块) 是功能模块化的体现
  • 面具模块可以帮我们实现许多小功能, 例如删除系统广告, 改变系统属性

什么是 Magisk Zygisk

  • 官方解释: Run code in every Android applications' processes
  • Zygisk 是 Magisk 提供的 zygote process 注入器
  • 我们不需要了解 zygisk 是怎样运行的, 我们只需要知道它能做什么就足够了
    • zygisk 实际上是一个为程序挂钩的入口, 它可以提供类似于 Xposed 的功能

如何开启 Zygisk

  • Magisk App 的设置菜单中即可打开此功能
  • 打开此功能后需要重新启动设备以至设置生效

Magisk v24+ 已经不再提供 Hide; 现阶段的替代方案

  • 自从某个版本开始, Magisk 便删除了 Magisk Hide 功能

  • 面具模块的作者曾经发布推特说明: **我不想在做无趣的捉迷藏游戏, 会在之后的更新中删除 Hide (隐藏) **

  • 目前阶段的替代方案有两种 (这两种方案存在冲突, 只能选择其一):

    • 基于 zygisk 的排除
      • 排除的意思就是不作为
      • 可以理解为: 将指定的程序隔离在外, 让它无法使用 Magisk 提供的服务
    • 基于 zygisk 的隐藏
      • 隐藏的意思就是不会将程序隔离在外, 而是使用一些手段避免程序发现您安装了 Magisk
  • Magisk App 的设置中有这样一栏选项
    image

  • 首先看一下排除

    • 打开 遵循排除列表就表示你开启了此功能
    • 配置排除列表选择需要排除在外的应用程序
  • 再看一下隐藏

    • 需要安装一个名为 Shamiko 的模块
    • 这个模块是 LSPosed 团队开发的
    • 请访问 Github Releases 下载安装
    • 一定要关闭 遵循排除列表配置排除列表
    • 没错, 还是排除列表, 但是由于 没有开启 遵循排除列表 的开关, 所以不会对此列表中的程序进行隔离在外, 而是对列表中的程序进行隐藏.
    • 一定要注意的是:
      • 关闭 遵循排除列表的开关
      • 安装 Shamiko 模块

注意: 这两种方案都是基于 zygisk 所以必须开启 zygisk


Riru Module 已经停止维护; 迁移 Riru Module 到 Zygisk Module

Riru模块 替代方案 下载地址
LSPosed zygisk-LSPosed Github Releases
EdXPosed zygisk-LSPosed Github Releases
riru-momohide Shamiko Github Releases
safetynet-fix zygisk-safetynet-fix Github Releases