Skip to main content

01 安卓尝试root记录

1 什么是root?为什么要root?

在安卓上,root就是最高管理员账号,也就是手机的完全控制权。那为什么要root,这不是废话吗?我是手机的物主,却不能拥有这个设备的完全的控制权,这不 扯淡吗?所以作为设备的物主,我可以不用root,但它必须要有。

2 ROOT的原理是什么?

尽管Android是基于Linux之上,但是却没有ROOT账号。那么我们要如何才能获得ROOT呢?这就先明白安卓设备的启动流程了,安是这样启动的:

如上流程图,Android设备的启动过程是先进入Fastboot,也是就相当于PC上的BIOS系统,这一步执行完后呢,就会默认执行手机的存储分区的第一个分区,也就是BOOT, 然后开始执行Boot分区的,从这一步开始,设备就已经开始执行系统最先被执行的这部分--系统初始化. 然后执行完了Boot分区后,系统就算是初始化完成了,然后就直接拉起System分区的相关软件,然后相关软件的启动又会与其它分区进行数据交互如: Data分区和Cache分区。 至此,系统就算启动完成了。

那么还是之前的问题:怎么样才能获得Root呢?这需要在系统初始那个时机时,修改Boot分区的启文件boot.img,把root的权限写进boot.img,这样系统在初始化时,也就 把root也在系统中拉起来,从而实现root功能。可是呢?想要修改boot分区的文件,就必须要能进入启动boot分区的前一步,也就是fastboot,它相当于PC上的BIOS, 可惜在今天绝大多数的安卓设备已经上了Bootloader锁,而Bootloader就是手机启动第一次运行的地方,而fastboot就是隶属于Bootloader, 所以Bootloader一锁,也就无法进入fastboot,也就无法修改boot分区从而也就,搞不到root权限。所以在当下想要获取root是很难的。几乎无法root, 好,结论就是,安卓设备基本不可能root,说完了,吃饭吃饭.

3 解锁BL(bootLoader)

这个要根据手机厂商来决定怎么解锁,多数厂商出于不纯的动机直接不给解锁。

3 修补boot.img

刷机就是相当于pc的装系统,而安卓的装系统又分为卡刷和线刷,前者就是把系统安装文件也就是卡刷包保存在手机中,然后启动手机的recovery模式,进行系统安装。而后者就是去下线刷 包,然后通过手机线连接电脑,让手机进入fastboot(相当于PC的BIOS),然后在电脑进行操作fastboo进行刷机。 而我们要的只是root,而厂商提供的boot.img是有问题的,默认是没有root功能的,所以我们需要去厂商提供的ROOM中,如小米的刷机包下载网站,下载 回来对应的线刷机包,然后解压。从中找出boot.img,然后下载magisk并安装,并把boot.img交 给Magisk进行修补。并导出新的修补后的boot.img,然后放到电脑备用

4 把包含root的boot.img刷入手机

  1. adb环境安装,在电脑上要有安卓的adb环境,如果没有可以去下载个android studio,
  2. usb 模式, 连接手机,打开usb debug
  3. 进入fastboot, 检测到设备后,让设备进入fastboot,如输出: adb reboot bootloader,
  4. 把新的boot.img写入boot分区,进入fastboot后,执行fastboot flash boot [修补后的boot.img文件],
  5. 重启手机fastboot reboot
  6. 打开手机的Magisk,这时就能看到有super是可以用的,代表root成功.