搞机记录

开始搞机有一段时间了,恍惚中有了两年时间。开始的初衷一方面是好奇这方面,另一方面是使用httpcancry抓包,需要安装系统证书,而系统证书的安装需要获取root权限,自此开始了折腾之旅,准备完整的记录这一切吧!

一、基础知识

写一点最基础的知识,方便后续的操作。

  1. 刷机
    广义上来说,是指刷不同厂家的系统,早期,手机厂商自己提供的系统不好用,发烧友会刷别的系统,例如MIUI就是起家的,这种一般是线刷;如果是普通的系统版本更新或者降级,就会用到卡刷。

  2. BootLoader
    BootLoader,俗称BL锁,厂商用来限制用户刷入第三方ROM,所以搞机第一步,先解锁BL锁,这已经是老生常谈了。以前的话,小米/红米家的系统,是很容易解锁BL锁的,而澎湃系统Hyper出来之后,慢慢开始了非常严格的解锁限制,打击这群发烧友。

大致解锁BL难度厂商排序(从难到易):华为>>VIVO>OPPO>小米>一加。
华为好几年前就不给解锁了,VIVO一直不给解锁,解锁的基本都靠系统漏洞绕过,OPPO参与一些内测就可以申请解锁,小米增加了不少限制,但好歹还有路,一加是挺容易解锁。

  1. 线刷包、线刷
    线刷包,见名知意,应该可以想到需要用到数据线才能刷机的一种包。而线刷是一种较底层的刷机方式,即在fastboot模式下使用。压缩包的格式,即后缀是tgz。经常会用到miflash

  2. 卡刷包、卡刷
    卡刷,有了上面的经验,应该可以想到这是一种只需要用到存储卡就能刷机的包。卡刷就没有线刷那么底层,即在twrp下使用。压缩包的格式,即后缀是zip

  3. Magisk
    Magisk,搞机经常会遇到这个词,因为App图标是一张脸谱,所以也常常叫它 “面具”。在前几年它还是主流的获取root的方式,现在已经开始更多的拥抱KernelSU。

  4. KernelSU
    KernelSU,最近几年新出现的获取root方式。在不做多余配置的同等情况下,隐藏性比Magisk更好,不容易被银行App检测到。

  5. AB分区
    AB分区,前几年谷歌提出来的概念,升级系统会先更新到另一个分区,不需要重启,会在下一次重启时载入更新系统的分区。即使升级失败,也可以回退到初始的分区,升级系统时比较安全。

出厂时自带系统从安卓11开始,应该就是AB分区的手机;不了解的话,可以下载一个Devcheck的App来查看手机是否支持AB分区。

  1. adb
    ADB,安卓调试工具,用于调试安卓设备的一个工具。可以安装、卸载软件, 进入shell终端执行命令,甚至基于此有一些工具,例如 scrcpy,一个投屏工具。

二、搞机环境的搭建

1. adb、fastboot的安装

安卓开发者官网下载SDK Platform-Tools, 解压到任意目录,我习惯安装到D:\Program Files,然后添加[[环境变量]]。

验证:
win+r, 输入cmd,执行adb,如果有内容输出并且不是adb不是内部或外部命令,也不是可运行的程序,则说明添加环境变量成功

2. 驱动的安装

经常会遇到fastboot模式下读取不到手机的情况,此时是因为fastboot驱动没有安装成功。下载解压驱动文件,手机在fastboot模式下连接电脑,按照以下步骤操作,右键此电脑,管理,设备管理器,找到安卓设备,右键更新驱动,浏览我的计算机查找计算机驱动软件,让我从计算机上的可用驱动程序列表选取->下一步->显示所有设备,Generic USB Hub,从磁盘安装,选择驱动的解压路径,选择inf后缀的文件,选择Anddoid Bootloader Interface,安装即可。

adb和fastboot是两个不同的设备,都需要安装。

这里介绍的有点仓促,准备单独新开一个文档。

3.一些安装包、工具的准备,按需准备即可

三、使用Magisk获取root权限(抽象的步骤,不针对具体的机型)

  1. 解锁bl
  2. 获取当前系统版本的卡刷包,提取boot.img
  3. 使用面具修补boot.img,并发送到电脑
  4. fastboot模式下,刷入修补后的boot,重启即可
  5. 即可给应用授权,或刷入模块。

四、使用KernelSU获取root权限(抽象的步骤,不针对具体的机型)

情况一、GKI的机型

  1. 解锁bl
  2. 获取当前系统版本的卡刷包,提取boot.img
  3. 使用面具修补boot.img,并发送到电脑
  4. fastboot模式下,刷入修补后的boot,重启即可
  5. 即可给应用授权,或刷入模块。

    情况二、不支持GKI的机型

  6. 解锁BL
  7. 寻找对应的VK内核
  8. 临时获取TWRP
  9. 在TWRP下,侧载VK内核
  10. 重启即可给应用授权root权限

关联阅读

THE END