前言

逆向android经常需要一部root过的手机。但是现在的安卓机root起来都非常的麻烦,由于只是当做开发机,于是几百大洋淘了一部二手pixel3。但是到手的Pixel3是Android12的,System的读写权限获取也很麻烦,于是就准备降级到Android9。这里简单记录下pixel3刷机Android9,并使用Magisk进行root的过程。

本操作会重置系统,故需要提前备份系统信息。

基本信息

手机基本信息:欧版,4G/64G
设备型号:Pixel3
当前Android版本:12

解锁OEM和BL

首先,保证手机可以访问www.google.com,确保可以解开OEM锁。

其次,在手机:设置>系统>关于手机,多次点击版本号,直到提示进入开发者模式。

在手机:设置>系统>高级>开发者选项,找到OEM解锁,打开。

使用以下命令解锁BL,解BL锁后,手机会重置:

1
2
3
adb devices # 先检查设备是否存在,存在则执行以下指令
adb reboot bootloader # 重启进入fastboot mode
fastboot flashing unlock # 解锁

警告:如果上面布置一直卡在 < waiting for any device > 状态,可能是,先执行以下命令检查设备是否存在,若设备不存在,可能是驱动没安装(此处还需注意,如果使用linux虚拟机,主机如果没安装驱动,也可能出现这个问题)。

驱动安装下载

由于我是在Mac上进行操作的,这一步可以忽略,Windows上操作需要这一步。

进入google官网:https://developer.android.google.cn/studio/run/win-usb,下载文件,并解压缩。

进入 设备管理器>其它设备下 查看相应的设备,本人设备为 Pixle3, 右键 更新驱动程序 ,选择浏览我的电脑以查找驱动程序,将下载驱动解压缩路径选中,点击下一步,安装即可。

刷入google官方镜像

进入google镜像官网:https://developers.google.cn/android/images#blueline

选择 Pixel3 对应镜像,本人此处选择 Android 9,将Android 12刷回 Android 9 。

点击 Link 下载zip文件,这里设定文件名为blueline.zip

比对sha256值,不对文件可能损坏,需要重新下载。

1
shasum -a 256 blueline.zip

解压缩文件

1
unzip blueline.zip

进入解压缩后的目录,执行

1
2
adb reboot bootloader # 先进入bootloader模式
./flash-all.sh

刷入下载的官方镜像,等待刷入即可。

使用Magisk进行root

面具Magisk下载地址:https://github.com/topjohnwu/Magisk/releases/

我这里下载的版本是Magisk-v25.2.apk

安装Magisk

1
adb install -r Magisk-v25.2.apk

步骤三中下载的官方镜像中解压缩的目录下还有一个zip包,解压该zip包后,有一个boot.img文件

将该文件上传到手机上

1
adb push boot.img /sdcard/ 

然后再Magisk上点击 安装>选择并修补一个文件 ,选择 /sdcard/boot.img,点击开始即可。

修补后的文件生成在/sdcard/Download目录下magic_patched-xxx_xxx.img

将该文件下载到电脑上

1
adb pull /sdcard/Download/magisk_patched-xxx_xxx.img .

然后刷入该img进行root

1
2
adb reboot bootloader # 先进入fastboot mode
fastboot flash boot magisk_patched-xxx_xxx.img

等待刷成功即可。

最后执行如下指令,Magisk弹出确认,允许即可获取root。

1
2
adb shell
su

system读写权限修改

当需要读写System时,譬如把用户证书放到系统目录下/system/etc/security/cacerts

一般情况下/system都是只读的,要把/system挂载成可读写的,可以执行

1
mount -o rw,remount /

进行完自己的操作后,记得改回只读

1
mount -o ro,remount /