手机解除root的最简单方法 怎么获取root权限( 二 )


Znix 发布该 exploit 的时间点在安卓 _ndk_r1 版本发布后的两个月 。在该 exploit 发布后,人们发现在安卓上通过漏洞的形式获取 Root 权限方式大为可行,随即越来越多的安全人员与发烧友开始在安卓上挖掘系统漏洞,导致安卓的安全问题呈现井喷式的爆发 。不过这场闹剧随着 Google 不断的修复与 SElinux 的引入,闹剧在安卓 4.4 戛然而止,安卓系统进入了一个稳定的时期,安卓的 Root 也进入了一个新的探索时代 。

手机解除root的最简单方法 怎么获取root权限


使用 Linux 系统的人都知道,在 Linux 上有一个程序叫/usr/bin/su,用户可以通过 su 命令来切换身份,安卓的基础是 Linux,在安卓版本 1.0-4.4 中,安卓默认安装了 su 程序,使用者可以通过使用 su 进行获取 Root,只需要 su 程序的权限为 Access: (4755/-rwsr-xr-x) Uid: ( 0/ Root) Gid: ( 0/ Root) 。
第二阶段:混乱中的探索,supersu 与 superuser
Google 在安卓 4.4 版本,基本上将 Linux 中可提权的漏洞修复并限制利用漏洞进行提权的方式 。安卓 4.4 及以上,Anroid 也不预装 su 程序,并且加入 SElinux,就算拥有 4755 权限的 su 也无法达到完美 Root 。开发者们就尝试将改造后的 su 写入到安卓的/system 下,让需要 Root 权限的程序通过/system 下的 su 程序进行执行 。
而向/system 下写入 su 需要提前解锁(unlock)安卓手机,该方式比利用漏洞提权稳定性更高 。许多大神都开始编写不同的 su 程序,其中比较有名的就是 chainsDD 的 su 与 chainfire 的 suspersu,而单有获取 Root 权限的方式仍然不够,还需要一个分发 Root 权限的管理工具,koush 的 superuser 恰好补齐了这一缺点,让这一体系得以完善 。
不过好景不长,该方法引起了 Google 的关注,Google 在后续发布的版本中对/system 等分区进行完整性校验,使得修改 system 分区变得不可行,在 2018 年 10 月,chainfire 宣布不再维护 supersu 。而另一位开发者则以巧妙的方式,让 Root 又变为可能 。
第三阶段:从混乱中受到启发,走向归一的 Magisk
一个名叫 topjohnwu 的开发者,从 supersu 中受到启发,他仍然使用 supersu 的原理获得 Root 权限,但是他并不对/system 等分区做额外的修改,他通过尝试发现,虽然/system 等分区无法修改,但是可以在/system 分区下进行添加挂载点,于是他用了一种 overlay 的方法,让用户刷写特殊的 boot.img,修改启动时的挂载操作,做出了一个 overlay 版本的 system,所有的操作都在这个 system 上进行,这样就避开了对原有 system 的修改,完成原有 supersu 的功能,而这款软件就是现在大部分人熟知的 Magisk 。Magisk 不仅完成了获取 Root,并且集成了 Root 权限的管理器 。
随着 topjohnwu 加入谷歌,magisk 的代码需要 google 安全团队进行审计,magisk 某种程度上拥有了官方背书,是目前最稳定的 Root 方式 。
小白该如何 Root 安卓的手机
本文将使用 TWRP 方式教大家如何使用 Magisk 获得 Root 权限 。在获取 Root 前,需要解除 BootLoader 锁,请读者自行联系 OEM 厂商解除 Bootloader 锁 。
顶象特别提醒:Root 有一定的风险,或造成手机无法使用,请谨慎操作,本文不对任何后果承担相应责任 。
1、准备 adb fastboot 命令工具、magisk 以及对应的 twrp.img(不同厂商需要的 twrp 镜像不同,请读者自行查询所需的 twrp 镜像)

手机解除root的最简单方法 怎么获取root权限


2、使用 adb 命令将 Magisk 放入到 sdcard 中,命令如下:

手机解除root的最简单方法 怎么获取root权限


3、进入 bootloader 界面,输入对应的 fastboot 命令,进入 twrp 界面 。

推荐阅读