鉴于Magisk用于对Android设备进行root操作,并且还绕过应用程序中的root检测措
施,许多人怀疑Google是否会允许开发人员以当前的形式继续开发该项目,甚至根本
不会。幸运的是,topjohnwu已获准继续开发 Magisk,但这一批准取决于该项目放
弃对其名为MagiskHide的ROOT隐藏功能的支持。
第一点驳斥了关于他的雇主谷歌禁止他参与该项目的指控,而实际上,他只需要通过
大量繁文缛节来获得他在该项目上工作所需的批准。对于谷歌这样的科技公司来说,审
查其员工所做的外部工作并不罕见,尤其是当外部工作直接影响到员工受雇从事的产
品时。在topjohnwu的案例中,他在Android平台安全团队的工作让他对Android当前和
未来的安全措施有独到的见解,当 MagiskHide(Magisk 的根隐藏组件)旨在规避Go
ogle 当前的安全措施之一,即 SafetyNet Attestation 时,这呈现出明显的利益冲
突。出于这个原因,topjohnwu别无选择,只能停止在 MagiskHide 上的开发并移除
其大部分基础设施。
MagiskHide停止开发
不过,结束MagiskHide的开发topjohnwu来说并不是一个艰难的决定。个人层面上,开发
人员表示,自从他上次发现绕过根检测方法的工作很有趣已经有一段时间了,这是可以理
解的,因为它本质上是一个猫捉老鼠的游戏。当然,Magisk 的受欢迎程度很大程度上归
功于它成功地绕过了 Google Pay 和 Pokémon Go 中的根检测,但是为了跟上不断变化的
环境而不断地修补项目是很累人的。此外,随着硬件支持的证明在起作用,绕过根检测变
得更加困难,当前的解决方法可能不会永远有效。
尽管 MagiskHide已达到生命周期的终止状态,但该工具仍将在非常有限的意义上存在,因
为topjohnwu 为应用程序具有“选择退出”修改的能力非常重要。开发人员表示,用户“将能
够分配一个拒绝列表,其中Magisk拒绝进一步修改并恢复它所做的所有更改。Magisk不会
欺骗/改变/操纵任何与 Magisk 无关的信号或痕迹来规避任何设备状态检测。” 基本上,M
agiskHide 将不再隐藏应用程序的root 访问权限,而是用于确保用户选择的应用程序不会
被修改。更轻松地恢复更改也将加快对模拟器的测试,因为开发人员将不再需要重新启动或
修补模拟器映像。
当然,即使官方 Magisk 应用程序放弃了对隐藏root访问权限的支持,并不意味着它不能被
分叉以恢复该功能,或者不能发布 root 隐藏模块。但是,任何这样做的开发人员最终都会
遇到与topjohnwu相同的问题,这意味着他们将不得不玩导致topjohnwu对 Hide失望的猫捉
老鼠游戏。
在线模式Magis或将删除
Magisk的另一个即将发生的变化是从应用程序中删除了Magisk模块存储库。在整合Magisk模
块回购到Magisk应用程序是什么目前允许用户在应用内搜索和下载模块。它的删除意味着用
户将不得不手动下载模块 ZIP 文件并从应用程序中安装它们,与现有解决方案相比,这有点
不方便,但并不难。此外,带有 Magisk 模块组件的应用程序可以通过运行magisk --instal
l-module ZIP命令轻松地为用户安装模块,为用户排除手动步骤。
然而,更大的损失是通过集中的、策划的repo发现新模块,但topjohnwu 说Magisk-
Modules-Repo 将很快转移到“受信任的社区成员”这意味着repo本身不会消失,但应用程
序暂时不会指向它。不过,最终topjohnwu 确实希望让用户将 Magisk 应用指向他们想要的
任何在线模块源,有点像 F-Droid,但这并不是他目前实施的优先事项。这种变化不是由
topjohnwu在谷歌的工作促成的,而是鉴于调节回购所需的时间投资而必然会发生。
在过去的几个月里,topjohnwu和其他几位开发人员一直在开发一种叫做“Zygisk”的东西
也就是Zygote中的Magisk。Zygote是处理分叉每个应用程序进程的操作系统进程,因此在
zygote进程中运行部分Magisk将使模块更加健壮(包括使ROOT隐藏更加强大Topjohnwu
说,Zygisk 也符合他的 Magisk 哲学,即开发人员不同意修改的应用程序“让开”,因为当
一个进程被添加到 MagiskHide 拒绝名单时,Magisk“将清理进程的内存空间以确保不应用
任何修改。”这个项目仍在进行中,但当它准备好进行 beta 测试时,我们会听到更多的实
现细节。
Magisk发展的未来
Magisk 始时仍然是topjohnwu的爱好者项目,但开发人员希望更认真地对待该项目。他已
经开始在GitHub上进行持续集成,并将通过与AVD集成在每次发布之前开始回归测试更改。
Topjohnwu还指出,其他才华横溢的开发人员已经向Magisk的核心提交了有价值的代码
修复了许多错误并扩展了设备兼容性。尽管从一开始就是开源的, 但Magisk一直是
topjohnwu的唯一域,所以当topjohnwu自己投入的时间和精力较少时,很高兴看到其他人
为该项目做出贡献。