Pixel4刷Lineage OS和root

一、前言

刷机前建议先看看这个视频(玩机必看!带你入坑安卓刷机,小白也能看懂的ROOT基础指南来啦!_哔哩哔哩_bilibili),了解刷机的一些基础知识。pixleLineageOS系统的话可以参考:两条命令教你刷入LineageOS,小白也能上手!_哔哩哔哩_bilibili

二、Pixel4刷LineageOS系统及MindTheGapps

2.1 准备工作

  1. 在官网中找对应设备的总页面:Devices | LineageOS Wiki,判断设备是否与页面中手机展示信息相符。

  2. 下载LineageOSzipboot.imgLineageOS Downloads下载最新的配套的boot.imglineage-xxxxxxx-nightly-flame-signed.zip(因为只有最新的🤣)

  3. 下载Google apps(MindTheGapps):Google apps | LineageOS Wiki,选择移动版。根据你下的LineageOS的包下对应的(例如Lineage 20安卓版本是13,所以选择MindTheGapps-13xxxx),至于是arm还是arm64则根据你的手机的CPU架构来选择。

    cmd中使用下列指令查看设备的CPU架构:

    1
    adb shell getprop ro.product.cpu.abi

    选择镜像网站下载比较快(另一个网站尝试点击下载是无反应的)

  4. 确保电脑端下载了platform-tools,即在命令窗口中能够使用adbfastboot指令。

  5. 手机端开启USB调试模式

在开始操作前,请先阅读一遍官网给的刷机教程(Install LineageOS on flame | LineageOS Wiki)!!!

在开始操作前,请先阅读一遍官网给的刷机教程(Install LineageOS on flame | LineageOS Wiki)!!!

在开始操作前,请先阅读一遍官网给的刷机教程(Install LineageOS on flame | LineageOS Wiki)!!!

2.2 刷入LineageOS

首先在手机端解OEM锁(在开发者选项里),然后电脑端执行下列命令即可解BootLoader锁:

1
2
3
adb reboot bootloader
fastboot devices
fastboot flashing unlock

解完BootLoader锁之后应该还是在fastboot模式下(没记错的话,如果不是就执行fastboot reboot bootloader),执行下列命令刷入boot.img

1
fastboot flash boot --slot all boot.img所在路径

这是使用--slot all是因为下面这个原因,当然也可以不添加,倘若报no valid slot to boot,请添加该参数并重新执行该指令(参考:No valid slot to boot - any way to back up data? | XDA Forums (xda-developers.com))。

从Android7开始,引入了新的OTA升级方式A/B System Updates,这种升级方式将boot、system等分区为两套,叫做slot A和slot B。在fastboot模式下可以看到当前使用的是哪个分区。

然后执行下列指令清除用户数据:

1
fastboot erase userdata

执行下列指令进入fastbootd模式:

1
fastboot reboot fastboot

选择Enter recovery进入到recovery模式,然后选择Apply update,继续选择Apply from ADB,在手机底部看到ADB Sideload后,就可以输入下列命令刷入lineage系统:

1
adb sideload lineagexxx.zip所在路径

这个会卡在47%,不要急,执行完后手机底部会有命令显示Install completed

刷入lineag系统后,同样的方式进入到Apply from ADB,执行下列命令刷入MindTheGapps

1
adb sideload MindTheGappsxxx.zip所在路径

关键的来了!它会报错,如图所示:

不要管它,点击Yes继续安装,可以参考官方文档,如下图所示:

安装成功如图所示:

最后选择reboot system now就大功告成了。

MindTheGapps安装和没有安装的区别如图所示:

三、Pixel4刷root

3.1 准备工作

  1. 下载Magiskhttps://github.com/topjohnwu/Magisk/releases)
  2. LineageOS时的boot.img

3.2 刷入root

先通过指令在手机端安装Magisk

1
adb install Magisk路径(电脑端)

然后将boot.img导入手机端,指令如下:

1
adb push boot.img路径(电脑端) /storage/emulated/0/Download(手机端,这里选择的是Magisk的下载路径,可以随意)

手机端打开Magisk,点击安装,选择修补boot镜像中的vbmeta,再选择选择并修补一个文件,选择刚才传入的boot.img

修补后会在boot.img的同文件夹下生成一个magisk_patched_xxx.img文件,把magisk_patched.img传到电脑端,使用下列指令:

1
adb pull /storage/emulated/0/Download/xxx(手机端) \xxx(电脑端)

然后使用下列指令使手机进入bootloader

1
adb reboot bootloader

将修补的boot.img写回boot分区并重启手机:

1
2
fastboot flash boot (--slot all) magisk_patchedxxx.img所在路径
fastboot reboot

打开Magisk可以发现超级用户和模块可以使用了,即root成功。

四、添加BurpSuite证书

直接安装证书只能安装进用户里,而有些 app 只信任系统的根证书,所以需要将 Burp 的 CA 证书添加到系统根证书里。

首先导出 Burp 的证书,然后执行下面指令:

1
openssl x509 -inform DER -subject_hash_old -in 证书路径

第一行的数字就是哈希值。然后执行

1
openssl x509 -inform DER -in xxx.der -text > 所得到的哈希值.0

用记事本编辑证书,将-----BEGIN CERTIFICATE----------END CERTIFICATE-----的部分(也就是证书部分)放到文件最前面。

执行

1
2
3
adb remount										//重新挂载设备的文件系统,将文件系统从只读模式切换为可读写模式
//如果adb remount失败,请先adb root再尝试
adb push cert/xxxx.0 /sdcard/Download/ //将得到的.0文件推入手机中

adb root无效的话,可能是你所刷的系统带有Google API,所以不完全开放root权限,详细可参考创建和管理虚拟设备 | Android Studio | Android Developers (google.cn),关键说明如下:

为确保应用安全并且与实体设备的体验一致,包含 Google Play 商店的系统映像已使用发布密钥签名,这意味着,您无法获得这些映像的提升权限 (root)。

如果您需要使用提升权限 (root) 来帮助您排查应用问题,您可以使用不包含 Google 应用或服务的 Android 开源项目 (AOSP) 系统映像。然后,您可以使用 adb rootadb unroot 命令在普通权限和提升权限之间切换:

如果想要完全获取root权限,可以寻找其他工具(暂时没找到能用的),如果只是为了让证书装在系统根证书目录下,可以使用AlwaysTurstUserCerts插件。

接着执行下列命令

1
2
3
adb shell  															//进入shell模式
cp /sdcard/Download/xxxx.0 /system/etc/security/cacerts/ //将证书复制到系统根证书目录下
chmod 644 /system/etc/security/cacerts/xxxx.0 //设置文件权限

现在burp的证书就在系统根证书下了。我试了下,重启后这个文件并没有消失,如果消失了就 adb remount, adb shell, cp 与 chmod 四步就行了。

注意!!!在抓包前,先把手机时间调到当前时间,否则可能会出现抓包异常!!!(稀里糊涂的我再次刷机了)


Pixel4刷Lineage OS和root
http://example.com/2023/07/15/Android安全/Pixel4刷Lineage OS/
作者
gla2xy
发布于
2023年7月15日
许可协议