MENU

使用Magisk获取安卓Root权限

July 25, 2023 • 随笔

前言

安卓系统的设备在很长一段时间以来一直是我的移动设备首选,其便于维护、方便定制以及价格优势是我青睐于它的主要原因,虽然在苹果全面更换Type-C接口后我大概率会将我的移动设备全面向转换为IOS阵营,但至少现在我还想为安卓写点什么东西。

为什么要获取Root权限?

我想在不受制于预算的前提下大部分安卓用户购买安卓设备的理由应该都是它出色的“可玩性”,通过获取root权限并刷入各种模块玩家们能在自己的手机上实现类似于消息防撤回、自定义骰子🎲等各式各样的功能。早在安卓发展初期获取ROOT权限就是安卓用户们绕不开的一种玩机方式。

风险提示

  • fastboot损坏手机变砖无法开机
  • 解锁后数据丢失(解锁后数据一定会丢失,所以解锁前必须备份)
  • qq微信被封号(使用第三方插件就要承担相应的风险)
  • 支付指纹失效(在手机解锁后支付指纹的认证会失效,我们可以通过magisk hide和模块来解决)
  • 部分应用闪退(银行APP以及星巴克之类的应用闪退,解决方式同上)


我将这篇文章的分类设置为杂谈,因为我想写的并不是教程性质的内容,只是单纯的记录分享。由于安卓手机型号众多解锁BL锁和刷入Magisk的方法大相径庭,故请勿将文章中的我的操作作为参考。

如果你看了这篇文章尝试自行操作,一切造成的后果皆由自己承担,我也不会去回答任何有关方面的问题,这里先做免责声明。

解锁Bootloader

Bootloader字如其名引导加载程序,它在系统层级的前面。解锁BL锁定是安卓玩机的第一步,几乎任何安卓机器都会有这个锁定。为了刷入框架以及获取root权限我们第一步就应该解锁。

我所使用的设备是魅族18,不同的手机解锁BL的方式并不相同(有的机型并不能解锁),这里就不作说明了。

刷入Magisk

Magisk又称面具,是一个用来获取Root权限的工具(类似于supersu),但是它在其基础上新增了Magisk模块,用户可以直接在Magisk上安装模块以实现类似xposed的功能。但他的实现原理与xposed也有区别。

xposed直接作用于系统分区,而Magisk在系统启动时在boot中创建了一个钩子把 /data/magisk.img 挂载到 /magisk,构建出一个在 system 基础上能够自定义替换,增加以及删除的文件系统,所有操作都在启动的时候完成,实际上并没有对 /system 分区进行修改。下图可以直观的了解到xposed和Magisk模块的区别。

Xposed/Magisk 原理示意图

在安卓10中我们只需要在fastboot下刷入一个三方recovery(如TWRP,三方rec不验证包签名)即可在rec中刷入magisk获取Root权限。

而在安卓11中系统分为了A/B分区,故刷入Magisk获取Root权限并不能像以前一样直接在第三方rec下刷入,我们需要在手机官网上下载一个当前系统的完整ROM包将boot.img分区提取出来并使用Magisk Manger来修补并通过电脑的fastboot线刷内核。

一、提取boot.img

1.下载Playload解包工具,并解压。

playload

解压Playload解压工具可以看到下面的文件

2.在手机官网下载最新系统ROM包并解压。

解压好的ROM,我们可以看到playload.bin文件

在解压好的ROM中我们可以找到一个叫playload.bin的文件,将其复制到解压好的解包工具的payload_input文件夹中,然后运行payload_dumper.exe在命令窗口中出现boot即可关闭程序,然后我们就会在payload_output文件夹中找到提取出来的boot.img

boot.img提取出来了!!

二、手机安装Magisk Manger用以修补提取出来的boot.img

将刚刚提取出来的boot.img放到手机中。

手机下载Magisk Manger用以修补boot.img。

Magiak Manager

在Magisk manger中我们选择安装选择并修补一个程序,选中刚刚提取出来的boot.img即可。

Magisk修补boot过程

然后你的手机上就会多出来一个修补完成的boot.img将其复制回电脑中(切记不要将未修补的复制回去了)。

这里的Magisk只是一个管理应用,安装成功不代表Magisk就刷入完成了。我们提取出来并修补好的boot.img就是用来刷入内核的

三、电脑安装adb以及fastboot工具

下载下面的工具按提示安装即可。

ADB installer

四、刷入修补后的boot.img

Magisk分为管理应用和内核两个部分,我们在安装的Magisk Manger只是一个管理应用还需要将内核刷入系统,将修补好的boot.img通过fastboot模式刷入手机即可完成Magisk的刷入。

我们将手机关机然后按开机键+音量减,几秒后即可进入fastboot模式,将手机链接到电脑上打开CMD输入下面指令:

fastboot flash boot boot.img文件路径

显示finish即为刷入成功,然后我们输入fastboot reboot重启手机即可。

刷入boot.img

重启手机后我们打开Magisk管理应用主页中能看到Magisk内核版本号即代表Magisk刷入完成。

安装框架以及模块

成功刷入Magisk内核意味着我们的手机已经获得Root权限了,这时候我们就可以安装框架了,在Magisk管理应用中我们先安装好riru以及lsposed。然后我们就能在lsposed中安装模块了。

riru以及lsposed的安装方法非常简单,Magisk的管理应用中有在线的仓库,点击安装然后重启即可,这里不再赘述。

安装框架以及模块

效果

说了那么多东西大家想知道的一定还是效果吧!!!下面是一些常用的框架功能。

免拔卡访问TikTok

通过应用变量实现插国内电话卡访问TikTok。

tiktok

微信QQ框架

通过框架实现QQ微信的消息防撤回、朋友圈伪集赞以及自定义骰子🎲、自动抢红包等功能。

QXWX框架

去广告

通过大圣净化、Adguard以及DNS劫持净化各广告跳过开屏广告。

结语

可玩性高自定义化高是我一直使用安卓的一个主要原因,配合框架和代理的host拦截我的手机内几乎看不到任何的广告,只要肯折腾安卓可以比IOS干净的多。强大的模块和插件也能让手机做到诸如应用破解、禁止消息撤回、伪集赞、自动抢红包、电脑端微信免确认登录等等功能。

最近坊间传言miui内置了某系统,禁止部分应用的安装。有点开历史倒车的迹象了,作为一个“开源”系统处处设限制本来就违反开源的初衷。要是继续紧逼不久的将来类原生加框架可能是真正开源系统爱好者的唯一出路了吧? 直接换IOS咯