国行 Z500M(P027) 刷入国际版固件以及 Root 权限获取

手上有台一直放着吃灰的平板,华硕的 Zenpad 3S 10,型号是 P027,在上篇博文介绍的《通过 VNC 为 Linux 扩展第二显示器》,我就是拿它当来当电脑的扩展显示器的,整体用下来效果还不错,写代码看文档方便多了,就是屏幕一直亮着还是挺费电的。

作为一个喜欢折腾各种电子产品的人,对于手上的这个平板当然还是想拿来折腾一下。这个平板有多个版本,我手上的是国行的,是最蛋疼的一个版本,ASUS 官方一直没给国行版本的 P027 更新系统,在国际版已经更新到 Android N (7.0) 很长一段时间了之后,国行版还是没有收到任何更新,一直停留在 Android M (6.0) ,多次找官方反馈国行版本的系统更新问题之后给的答复始终是:更新系统可能导致系统不稳定,所以国行版本暂时没有更新计划。喵喵喵?那为啥国际版更新了系统就不会不稳定?

没办法,那就只能自己寻找办法啦。毕竟 Android 是开放的,只要有一定的动手能力,那么就一定可以丰衣足食!

尝试

我首先想到的是下载国际版的固件尝试通过官方 Rec 刷入,于是就屁颠屁颠地跑到 ASUS 官方上找到了这个平板的固件下载页面,下载了最新的国际版固件,然后进官方 REC,开刷!然后…果不其然失败了。果然事情不会这么简单,看了一下 ROM 的 updater-script 文件,即刷机脚本,在这个文件的开头可以找到这么一句话:

1
2
3
ifelse(  getprop("ro.product.name") == "OPEN_Zenpad", ui_print("OPEN SKU device"), (
getprop("ro.product.name") == "WW_P027" || abort("This package is for \"WW_P027\" devices; this is a \"" + getprop("ro.product.name") + "\".");
) );

看来官方还是留了一手,在刷入之前会先判断你的 product.name ,如果不是当前刷机包对应的版本直接退出安装过程。阻止了你在各个版本之间的互刷。暂时也没啥办法,毕竟官方 Rec 只能刷入官方签名的刷机包。

之后想到的就是尝试 Root,但是无一例外也失败了,其实在 XDA 上已经有人研究出这个平板的解锁工具以及在 Android N 下的 Root 方法了,甚至 TWRP 都已经有人编译好了,但是这些方法在 Android M 下用不了。不过之前在寻找 Root 的方法的时候在 CN_13.6.6.2 这个版本的固件上发现了存在 Dirty COW 漏洞,但是后来由于考试比较忙,一直没时间深入研究可否利用该漏洞 Root。

突破

然后这几天考完试,又想着来继续研究一下,然后正好发现了一个通过 Fastboot 强行刷入国际版固件的方法。刷入了国际版固件之后一切就都简单了,之后只需要按照 XDA 上的教程解锁 Bootloader,然后刷入 TWRP,Magisk,一切就都搞定了。下面简单记录一下具体过程,分享给有需要的人,我相信有许多国行版本的 P027 用户都苦于 Root。

备份你的所有数据

做任何风险比较大的操作之前切记:备份所有的数据!备份所有的数据!备份所有的数据!

以下操作会清空平板上的所有数据,所以请在操作之前请备份好所有数据!备份好所有数据!备份好所有数据!

通过 Fastboot 刷入国际版固件

首先是需要通过 Fastboot 刷入国际版固件,下载这个文件并解压:

链接: https://pan.baidu.com/s/1xJnDvGMLqyPJqQ3k6qCbPQ

提取码: ayen

MD5: 418ccfb7f73078d1f44dfe839b31f92c

SHA256: cb45da6d6e022dc3daa51507b763f8afc8c868ecf5a2fcb8fefdfc7223f0772c

然后把平板关机,通过 音量下 + 电源键 开机,这时候会进入到一个选择界面。在这个界面上:音量下是切换不同的选项,音量上是确认,这里我们通过音量下键让末尾的光标指向 Fastboot ,然后按音量上确认,之后就进入了 Fastboot 模式。

进入到 Fastboot 模式之后,通过数据线将平板和电脑连接起来,确认电脑已经成功识别并且自动安装好了平板的相关驱动。

之后就可以找到解压出来的文件里面的 flashall.cmd 文件运行,这是一个批处理文件,会自动通过 Fastboot 刷入国际版固件。

然后你可以泡杯 Java (Coffee),等待刷机完成。具体刷入用了多长时间我也记不清了,反正屏幕上会一直滚动刷入的日志,直到最后如果看到 Download_PASS 就是刷入成功了。

刷入国际版固件成功之后平板会自动重启,第一次重启大概需要 5 分钟左右的时间。重启完开机之后会进入首次开机设置界面,建议在这个设置界面上不要连接 WiFi,等进入到桌面之后再连接 WiFi。

到这里,你已经成功从国行版固件刷入到国际版固件了。不过当前通过 Fastboot 刷入的国际版固件并不是最新的,还是 Android M,所以需要进一步通过官方固件升级到最新版本,直接到官方网站下载最新的国际版固件(WW_V14.0210.1806.33):https://www.asus.com.cn/Tablets/ASUS-ZenPad-3S-10-Z500M/HelpDesk_BIOS/,下载之后放到平板内部存储的根目录下,之后系统通知栏会提示发现系统更新文件,是否立即更新,选择更新,然后等待系统自动更新完成即可。自动更新完成之后到系统设置里面的“关于”中就能看到已经升级到 Android 7.0 了。

解锁 Bootloader

升级到 Android 7.0 国际版固件之后就要进行解锁 Bootloader 操作了。这里其实有两种解锁方式,官方有放出解锁工具,但是这个解锁工具我自己试用了一下,一直无法成功解锁,所以我选择了通过 XDA 上的第三方解锁工具进行解锁。当然,官方解锁工具这里还是会记录下来。

通过官方解锁工具解锁

官方解锁工具的下载链接是:https://dlsvr04.asus.com/pub/ASUS/EeePAD/Zenpad/Z500M/0823-1812_SIGNED_UnlockTool_9.1.0.6_180806_fulldpi.apk.zip,下载之后解压出来是个 apk 文件,安装上打开,之后根据提示一步步操作即可。

通过 XDA 上的第三方工具解锁

由于我一直无法通过官方解锁工具成功解锁 Bootloader ,所以只好选择 XDA 上的第三方解锁工具进行解锁。这是第三方解锁工具的帖子链接:https://forum.xda-developers.com/android/development/tool-unlock-bootloader-asus-zenpad-10-t3730909。帖子里面有详细的说明,有两种解锁方法,这里选择第一种方法。

获取临时 Root 权限

首先需要获取临时 Root 权限,其实获取的方法很简单,就两个步骤:通过 Magisk 修补 Boot -> 通过 Fastboot 启动修补过的 Boot。下面详细说明:

通过 Magisk 修补 Boot

首先从 ASUS 官网下载的最新国际版刷机包(就是前文下载的那个 WW_V14.0210.1806.33 的刷机包)中解压出 boot.img 文件,然后将其放到平板中你能方便找到的任意地方。

平板上安装 Magisk Manager 并打开,选择安装,之后会有个选择安装方法的对话框,这里需要点击选择并修补一个文件,之后就会弹出一个文件选择框了,这里就选择刚刚解压出来的 boot.img 文件就行了,之后等待 Magisk Manager 自动修补 boot.img 文件,修补完成如下图所示:

之后就能在平板内部存储的 Download 文件夹下找到一个名叫 magisk_patched.img 文件了。将这个文件拷贝到电脑上。

通过 Fastboot 启动修补过的 Boot

之后平板关机进入 Fastboot 模式,并连接电脑,然后电脑上打开 CMD,通过以下指令使用 magisk_patched.img 文件引导平板开机:

1
fastboot boot /path/to/magisk_patched.img

这里如果你电脑上没有 fastboot 相关工具的话,可以使用 cd 指令切换当前工作目录到前文下载下来的线刷固件解压出来的文件夹下,这个里面有自带 fastboot 工具以及下文会用到的 adb 工具。

开机之后,再次打开 Magisk Manager 就能看到已经显示 Magisk 已安装了,但是此时还是临时的 Root 权限,重启就会没掉。

解锁 Bootloader

有了临时 Root 权限我们就能解锁 Bootloader 啦!首先到这个帖子里面下载解锁工具:unlock_tool_z500m_v0.6a.zip,下载之后解压,放到平板上的 /data/local/tmp 目录下,具体如何操作这里不再详细说明,这一步我是使用 Root Explorer 实现的。

放好这个文件之后,数据线连接平板和电脑,平板记得打开 ADB 调试,然后执行以下指令:

1
2
3
adb shell
cd /data/local/tmp
sh unlockbl.sh

之后按照解锁脚本的提示,选择 1. Unlock bootloader ,之后根据提示输入 Yes, I want to unlock ,然后脚本就会自动进行解锁,完成之后如果看到以下提示就说明解锁成功了:

1
2
Done!
Please reboot your device.

重启平板,可以看到开机的时候会显示 Orange State,这就说明解锁成功了。

获取永久 Root 权限

解锁了 Bootloader 之后就可以对平板做任何修改了,下面讲讲如何获取永久 Root 权限。

首先还是需要获取临时 Root 权限,获取临时 Root 权限之后,打开 Magisk Manager,选择安装 Magisk,然后还是会弹出选择安装方法的对话框,这时候就要选择直接安装(推荐)了,之后 Magisk Manager 就会自动修补当前系统的 Boot 分区,并将其刷入。等到提示成功了之后,重启平板就会发现 Root 权限一直都在了。

刷入 TWRP

之后就是刷入 TWRP 了,有了第三方 Rec 就可以为所欲为了!

首先到这个帖子里下载 twrp-3.2.1-0-z500m.ziphttps://forum.xda-developers.com/zenpad-10/development/twrp-asus-zenpad-3s-10-z500m-t3758333,下载完成之后解压,可以得到一个 img 文件,这个就是 TWRP 的镜像了。将这个文件复制到平板中你能方便找到的地方,当然电脑上也要留一份这个文件,下面需要用到。

依旧很简单,平板关机并启动到 Fastboot,数据线连接到电脑,并使用以下指令使用 twrp-3.2.1-0-z500m.img 引导平板:

1
fastboot boot /path/to/twrp-3.2.1-0-z500m.img

之后平板会启动到临时 TWRP 中,这时候可能会有一个警告界面,选择 Keep System Read-only

然后就会进入到 TWRP 的主界面了,选择 INSTALL ,选择底部的 Install Image ,之后找到并选择你刚刚复制到平板里面的 twrp-3.2.1-0-z500m.img 文件,之后会出现刷入确认界面,这里选择刷入的分区为 Recovery,之后滑动底部滑块即可刷入 Recovery。

到这里为止,你就成功刷入 TWRP 了,重启到 Recovery 就可以直接进入到 TWRP 中。之后你就可以对你的平板为所欲为了!

后记

以上操作只是记录我的操作过程,具体可以灵活操作,例如你也可以先刷入 TWRP,之后再在 TWRP 里面刷入 Magisk 以获取永久 Root 权限。

好久不折腾这些了,好怀念之前做 ROM 的日子。

最后,补张效果图:

Buy me a cup of coffee