Magisk(也被称作面具)是一套开放源代码的Android(6.0以上版本)自定义工具套组,内置了Magisk Manager(图形化管理界面)、Root、启动脚本、SElinux补丁和启动时认证/dm-verity/强制加密移除功能。Magisk同时提供了在无需直接修改系统文件的情况下更改/system或/vendor等分区内容的接口,利用与Xposed类似的模块系统,开发者可以对系统进行修改或對所安裝的軟體功能進行修改等。
除此之外,Magisk可以对其他验证系统完整性的应用程序进行隐藏(称为Magisk Hide),使得用户可在获取Root权限的情况下使用如Pokémon GO[2]、Fate/Grand Order[3]一类的应用程序。
从Magisk 24.0开始,正式加入了运行在Zygote的Magisk模式(Zygisk),并移除了Magisk Hide和Magisk Module Repository功能。[4] Magisk Hide的功能将由第三方模块(如Shamiko)或其他分支版本(如delta, alpha)实现,而Magisk Module Repository則乃可透過第三方軟件訪問。
歷史
2015年10月8日,原SuperSU的开发者Chainfire于XDA论坛上发布了在无需修改系统文件获取Root权限的实验性方法[5]。11月6日,受Chainfire的启发,開發者吳泓霖将此方法移植到了HTC e设备上[6]。
2016年5月29日,吳泓霖发布了无需修改系统文件的非官方版Xposed框架[7]。发布后,XDA上的部分开发者请求移植自己的模块,由于技术限制,吳泓霖拒绝了这些请求,这也是Magisk开发的灵感[8]。8月,Magisk的最早期版本发布[9]。
2021年5月17日,吳泓霖在Twitter上宣布自己加入Android安全团队[10],对于引发的其是否能继续参与Magisk开发的担忧,吳泓霖表示将在私下处理,一有结论就会公开说明。[11]最终在8月29日吳泓霖详细说明了自身的现状以及Magisk的未来,文中表示自己将会继续参与Magisk开发,同时也提到了MagiskHide和Magisk Module Repository都将在未来发布的版本中被移除。[12]
注脚
参考文献