Pixel4刷Lineage OS和root
一、前言
刷机前建议先看看这个视频(玩机必看!带你入坑安卓刷机,小白也能看懂的ROOT基础指南来啦!_哔哩哔哩_bilibili),了解刷机的一些基础知识。pixle
刷LineageOS
系统的话可以参考:两条命令教你刷入LineageOS,小白也能上手!_哔哩哔哩_bilibili。
二、Pixel4刷LineageOS系统及MindTheGapps
2.1 准备工作
在官网中找对应设备的总页面:Devices | LineageOS Wiki,判断设备是否与页面中手机展示信息相符。
下载
LineageOS
的zip
和boot.img
:LineageOS Downloads下载最新的配套的boot.img
和lineage-xxxxxxx-nightly-flame-signed.zip
(因为只有最新的🤣)下载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
选择镜像网站下载比较快(另一个网站尝试点击下载是无反应的)
确保电脑端下载了
platform-tools
,即在命令窗口中能够使用adb
和fastboot
指令。手机端开启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 |
|
解完BootLoader
锁之后应该还是在fastboot
模式下(没记错的话,如果不是就执行fastboot reboot bootloader
),执行下列命令刷入boot.img
:
1 |
|
这是使用--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 |
|
执行下列指令进入fastbootd
模式:
1 |
|
选择Enter recovery
进入到recovery
模式,然后选择Apply update
,继续选择Apply from ADB
,在手机底部看到ADB Sideload
后,就可以输入下列命令刷入lineage
系统:
1 |
|
这个会卡在47%,不要急,执行完后手机底部会有命令显示Install completed
。
刷入lineag
系统后,同样的方式进入到Apply from ADB
,执行下列命令刷入MindTheGapps
:
1 |
|
关键的来了!它会报错,如图所示:
不要管它,点击Yes
继续安装,可以参考官方文档,如下图所示:
安装成功如图所示:
最后选择reboot system now
就大功告成了。
MindTheGapps
安装和没有安装的区别如图所示:
三、Pixel4刷root
3.1 准备工作
- 下载
Magisk
(https://github.com/topjohnwu/Magisk/releases) - 刷
LineageOS
时的boot.img
3.2 刷入root
先通过指令在手机端安装Magisk
1 |
|
然后将boot.img
导入手机端,指令如下:
1 |
|
手机端打开Magisk
,点击安装,选择修补boot镜像中的vbmeta
,再选择选择并修补一个文件
,选择刚才传入的boot.img
。
修补后会在boot.img
的同文件夹下生成一个magisk_patched_xxx.img
文件,把magisk_patched.img
传到电脑端,使用下列指令:
1 |
|
然后使用下列指令使手机进入bootloader
:
1 |
|
将修补的boot.img
写回boot
分区并重启手机:
1 |
|
打开Magisk
可以发现超级用户和模块可以使用了,即root
成功。
四、添加BurpSuite证书
直接安装证书只能安装进用户里,而有些 app 只信任系统的根证书,所以需要将 Burp 的 CA 证书添加到系统根证书里。
首先导出 Burp 的证书,然后执行下面指令:
1 |
|
第一行的数字就是哈希值。然后执行
1 |
|
用记事本编辑证书,将-----BEGIN CERTIFICATE-----
到-----END CERTIFICATE-----
的部分(也就是证书部分)放到文件最前面。
执行
1 |
|
adb root无效的话,可能是你所刷的系统带有Google API,所以不完全开放root权限,详细可参考创建和管理虚拟设备 | Android Studio | Android Developers (google.cn),关键说明如下:
为确保应用安全并且与实体设备的体验一致,包含 Google Play 商店的系统映像已使用发布密钥签名,这意味着,您无法获得这些映像的提升权限 (root)。
如果您需要使用提升权限 (root) 来帮助您排查应用问题,您可以使用不包含 Google 应用或服务的 Android 开源项目 (AOSP) 系统映像。然后,您可以使用
adb root
和adb unroot
命令在普通权限和提升权限之间切换:
如果想要完全获取root权限,可以寻找其他工具(暂时没找到能用的),如果只是为了让证书装在系统根证书目录下,可以使用AlwaysTurstUserCerts插件。
接着执行下列命令
1 |
|
现在burp的证书就在系统根证书下了。我试了下,重启后这个文件并没有消失,如果消失了就 adb remount, adb shell, cp 与 chmod 四步就行了。
注意!!!在抓包前,先把手机时间调到当前时间,否则可能会出现抓包异常!!!(稀里糊涂的我再次刷机了)