推广 热搜: page  数据  小红  红书  考试  论文  数据分析  关键词  哪些  搜索 

Android 玩机「神器」的矛盾与新生:Magisk Canary 更新详解

   日期:2025-01-01     移动:https://sicmodule.kub2b.com/mobile/quote/17786.html

2021 年 10 月 24 日,Android 玩机圈内无人不知的玩机工具 Magisk 突然有了新动态:其开发者 John Wu 更新了一条 推文,宣布推出全新的 Magisk 金丝雀(canary)版本。它虽然并非正式版,但给玩机圈带来的喜悦却胜过以往任何一个版本。

这种喜悦近似于久旱逢甘霖。

因此开发者 John Wu 在 Magisk 上做的工作一直以来也如同攻向 Android 和 Google 服务的一把长矛,在 Google 的新职位,却又赋予了他 Android 平台安全持盾人的全新身份。「以子之矛陷子之盾」的戏话会在现实发生吗?作为 Google 人,Wu 有访问大部分公司代码的权限,Google 会允许 John Wu 继续开发 Magisk 吗?

正如很多人所预料的那样,Magisk 最初的情况并不乐观。

对于网友的问题,Wu 先是回复称自己的 Magisk 开发不会受影响,不久却删除了这一条回复。9to5Google 5 月 17 日以「Google 把 Magisk 开发者 John Wu 招进了 Android 安全团队」为题的报道也以给出了这样的推测:

这对 Magisk 的未来意味着什么……按之前的推文,Wu 也许能继续 Magisk 的工作,但这和他的新职位有明显的冲突。

大多数大型科技公司的职员,如果不经过某些审查,根本不被允许创建自己的开源项目亦或做贡献。

  • John Wu 将继续维护 Magisk,开发重点放在 Magisk 更核心的功能上
  • Magisk 获取系统 root 权限、安装模块的能力和安装方式将不会改变
  • Magisk 将不再集成官方的模块库,现存的 GitHub 的模块库拟交给社区维护
  • 新推出 Zygisk,为模块提供更强大的 API;同时提供排除列表,让被排除的应用不受模块影响
  • MagiskHide 相关代码被移除,但用户仍可以通过一些方法通过 SafetyNet 测试。

这份来自开发者的文章驱散了人们心头的疑云,也带来一些新的问题:Zygisk 是什么?MagiskHide 被删除有什么影响?这些问题亟需由一个供用户实际上手的版本来解答。

从零开始也不困难,Magisk Canary 和以往的 Magisk 安装流程一致:检查设备、安装工具 > 下载并安装 (下载地址),检查 Ramdisk 值 > 提取系统镜像 > 修改并打包镜像 > fastboot 刷入。具体流程可以参考少数派之前的文章。

关联阅读:Android 玩家必备神器入门:从零开始安装 Magisk

用 Magisk 开发者的话来说,移除对官方模块库的集成实际上对开发者和用户都有好处。

原先集成的在线模块列表托管在 GitHub Magisk Modules Repo 上,由 John Wu 抽空清理和维护列表的模块。Wu 曾经集中移除一批字体修改模块,NotoCJK 就是那个时候被移出官方库的,这么做的理由是此时已经有修改系统字体的更强大的模块,这些模块显得多余。不过 Wu 的做法也引起了一些开发者的不满。

所以在这个版本中,所有模块就只能通过下载 Zip 包、再本地安装的形式进行了。不少社区一直在维护的 模块库 将来可能会变成寻找模块的更好去处。

Zygote 在生物学上意为「受精卵」,于人而言,受精卵是生命的第一阶段,存储了发育所需的所有遗传信息。 Android 将一个特殊的进程命名为 Zygote,它于系统而言亦有类似的意义。

Android 开发文档 如此描述 Zygote:

Zygisk 的开启方式很简单,在 Magisk Canary 中,通过设置 > Zygisk 即可启用。对于模块开发者而言,Zygisk 提供了更加方便易用的 接口和文档;但对于一般用户而言,由于 Zygisk 与 riru 模块(这篇文章 有介绍)无法兼容,部分受影响的模块还需要等开发者进行适配。

虽然效果和 MagiskHide 有些类似,但排除列表并不会起到任何隐藏的作用,这也是 John Wu 反复强调的。

在 State of Magisk: 2021 发布之后又有了另一种谣言:失去了它最重要的功能 —— MagiskHide 后,Magisk 已经名存实亡。一些 Canary 版用户一厢情愿地把排除列表当作 MagiskHide 也正反映了用户们对 MagiskHide 的留念。

然而玩机经验丰富的人应该知道,如果把 MagiskHide 当作 Magisk 最重要的功能的话,那么 Magisk 的病危通知书在 2020 年初就下达了。

MagiskHide 确实有着不可或缺的地位,它被设计用于隐藏 root,同时帮助设备通过 SafetyNet 验证。

SafetyNet 全称为 SafetyNet Attestation API ,是 Google 内置于 GMS 中的用于认证设备完整性状态的接口。使用 SafetyNet 的应用向 Google 服务应用发送请求,SafetyNet Attestation 此时会评估硬件设备的运行环境,然后向远程的 SafetyNet 服务器请求签名的评估结果证明 —— 代表基本完整性的 和代表处于已知的良好环境的。

一直到 2020 年 5 月,一些用户的 MagiskHide 功能突然失效:昨天依然可以通过 SafetyNet 证明的设备、今天 Google 商店就无法搜到某些应用;昨天还能正常运行游戏,今天就再也打不开《宝可梦 Go》了;部分设备则在短暂「宕机」后恢复正常……种种迹象表明,某个更高级别的安全验证措施就要来了。

因此当 Magisk Canary 移除了 MagiskHide 相关代码时,也有人对此毫不惊讶,这可以说是一场酝酿许久的退场。一方面,来自雇主 Google 的压力让 John Wu 不可能「自相矛盾」;另一方面,以往的 MagiskHide 已经没有能力应对 SafetyNet,在此领域投入更多的开发精力并不明智,也不是 Wu 希望做的。

MagiskHide 开关和代码被移除已成既定事实,用户无法再借助 Magisk 来欺骗 SafetyNet。John Wu 退了一步,新增的 Zygisk 排除列表用另一种方式真正地保证了应用运行环境的完整性,比起以往 MagiskHide 与应用开发者检测手段「斗智斗勇」的情形来说,通过排除这种方式隔离模块作用范围,是一种将选择交给用户、同时与应用开发者互相信任的新思路。

但从用户的角度说,MagiskHide 退场后,我们依然可以利用模块通过 SafetyNet 验证。尤其是当有专人精于此道时,效果说不定能比以前更好。

首先需要弄明白我们是想要欺骗 SafetyNet 还是单纯隐藏 root 或模块

SafetyNet 是 Google 移动服务套件的功能,这意味着,只有装有 GMS 并且应用调用了相关接口的情况下,我们才需要通过 SafetyNet 验证。逃避国内应用的 root 检测大部分情况下并不需要通过 SafetyNet 认证,只要使模块和 Magisk 不对这些应用生效即可,无需在意 SafetyNet 结果。

针对这种情况,我们可以在新版 Magisk 中开启 Zygisk,并在排除列表中添加这些应用。

而如果确实需要通过 SafetyNet,比如在 Google Play 应用商店中搜索下载 Netflix、Apple Music 等对媒体 DRM 级别要求较高的应用,鉴于新 Magisk 连同内嵌的 SafetyNet 测试功能也一并删除了,我们首先需要下载 SafetyNet 验证应用。

Zygisk 的实装似乎给 Magisk 模块铺就了一条充满希望的前路,而 MagiskHide 的退场却不甚乐观。虽然目前尚有替补队员,但如果 Google 和其他厂商推行更加严格的安全措施,那么 Android 玩机用户的未来是注定艰难的。

Magisk 仍将继续前进,在可以解锁 Bootloader 的设备上,我们依然拥有 root 的自由,但可以预想,这自由将会伴随着越来越多人无法接受的代价。

如果有那么一天,root Android 这份「虚假的自由」消失殆尽,我们或许还可以慰藉自己说「我至少曾经有过」。

感谢 Magisk Alpha 讨论组的夜猫子们对本文技术性问题的解答

参考链接:

  • Magisk Canary 下载地址
  • Magisk Alpha
  • SafetyNet 验证软件
  • Safety Net Fix

> 下载少数派 客户端、关注 少数派公众号,了解更多 Android 玩法

本文地址:https://sicmodule.kub2b.com/quote/17786.html     企库往 https://sicmodule.kub2b.com/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


0相关评论
相关最新动态
推荐最新动态
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号