Alldocube iPlay40 Pro Root 教程

May 10, 2022 · 5 min read

建议 Tips

您正在查看印刷版本的博客, 印刷版本的博客可能会缺少部分交互功能, 部分内容显示不全或过时. 如果您在查看该印刷版博客时遇到了任何问题, 欢迎来此链接查看在线版: https://www.kxxt.dev/blog/how-to-root-iplay40pro/

You are viewing a printed version of this blog. It may lack some interactive features and some content might now be fully displayed or outdated. If you encounter any problems while viewing this printed version of the blog, feel free to view the online version here: https://www.kxxt.dev/blog/how-to-root-iplay40pro/

Danger

Root/刷机有风险,继续阅读即表示你了解 Root/刷机造成的风险,且本人不对你的行为承担任何责任

解锁

解锁前请先开启开发者模式,并在开发者模式菜单选择允许解锁。

Danger

解锁将清除设备上的所有数据!请务必先备份好重要数据。

Warning

本文中的所有操作全部基于国际版系统,如果你使用的是国内版系统,可以下载国际版刷机包并按照本文操作。切忌将本文提供的两个镜像文件与国内版混用!YOU HAVE BEEN WARNED!

首先,解锁 Bootloader, 请根据这篇针对 Unisoc 芯片通用的解锁教程解锁你的 Bootloader.

然后,不想手动操作的人可以下载适用于 iPlay40 Pro 的刷机包 和这两个文件 vbmeta-sign-custom.img, magisk_patched.img,直接跳到最后一步

提取公钥

下载适用于 iPlay40 Pro 的刷机包SPD Research Tool.

打开 SPD Research Tool, 加载从刷机包中解压出来的 pac 文件。

这时,从 pac 文件解包得到的各个分区的镜像文件会出现在 SPD Research Tool 的目录下 ImageFiles 目录的一个子目录里中。

我们进入这个子目录,把 boot.imgvbmeta-sign.img 保存下来,存到另一个文件夹。

然后,根据这篇教程的说明,从 vbmeta-sign.img 中提取出各个分区的公钥,放到 keys 目录下。

使用 Magisk 来 patch boot.img

在设备上安装 Magisk Manager, 把上一步的 boot.img 复制到内部存储,从 Magisk Manager 中 patch boot.img, 把 patch 之后得到的文件(称之为magisk_patched-xxxxx.img)复制到电脑上。

创建自己的 vbmeta-sign-custom.img

Tip

笔者是在 Manjaro Linux 环境下运行的本小节和下一小节的代码,若要在 Windows 上运行,建议你使用 Powershell 而非 cmd.

请阅读并理解这一篇教程,下载这篇教程里提到的 avbtool 和适用于 Android 10 的vbmeta_pad.py

创建自己的私钥或者使用解锁 Bootloader 时使用的 modified_fastboot 目录下的 rsa4096_vbmeta.pem, 下文称使用的私钥文件为 key.pem.

运行下面的命令来导出公钥:


python2 avbtool extract_public_key --key key.pem --output keys/mykey.bin

然后运行下面的命令来创建我们自己的 vbmeta-sign-custom.img.

注意 flag 一定要设置为 0!


python2 avbtool make_vbmeta_image --key modified_fastboot/rsa4096_vbmeta.pem --algorithm SHA256_RSA4096 --flag 0 --chain_partition boot:1:keys/mykey.bin --chain_partition dtbo:6:keys/dtbo.key --chain_partition socko:13:keys/socko.key --chain_partition odmko:14:keys/odmko.key --chain_partition vbmeta_system:2:keys/vbmeta_system.key --chain_partition vbmeta_system_ext:3:keys/vbmeta_system_ext.key --chain_partition vbmeta_vendor:4:keys/vbmeta_vendor.key --chain_partition vbmeta_product:5:keys/vbmeta_product.key --chain_partition l_modem:7:keys/l_modem.key --chain_partition l_ldsp:8:keys/l_ldsp.key --chain_partition l_gdsp:9:keys/l_gdsp.key --chain_partition pm_sys:10:keys/pm_sys.key --chain_partition l_agdsp:11:keys/l_agdsp.key --chain_partition l_cdsp:12:keys/l_cdsp.key --padding_size 20480 --output vbmeta-sign-custom.img

然后运行


python2 vbmeta_pad.py

得到一个大小与原来的 vbmeta-sign.img 完全相同的 vbmeta-sign-custom.img.

给 magisk_patched-xxxxx.img 签名

接下来,我们用自己的私钥给 magisk_patched-xxxxx.img 签名,并把原厂的一些属性加回去:


python2 avbtool add_hash_footer --image magisk_patched-xxxxx.img --partition_name boot --partition_size 67108864 --key key.pem --algorithm SHA256_RSA4096 --prop com.android.build.boot.fingerprint:Alldocube/iPlay_40H/T1020H:11/RP1A.201005.001/8688:user/release-keys --prop com.android.build.boot.os_version:11

在 Research Tool 中刷入两个镜像

在 SPD Research Tool 的 Driver 目录下有一个网页链接,从这个链接下载驱动程序并安装,然后重启电脑。

再次打开 Research Tool, 加载 pac 文件。

在 Research Tool 中,点击设置按钮,

  • VBMETA 对应的文件路径改为我们创建的 vbmeta-sign-custom.img.
  • BOOT 对应的文件路径改为我们的 magisk_patched-xxxxx.img

如果你确定你的设备上运行的系统与 pac 文件里的系统的 Build Number 一致,你也可以选择只刷写 BOOTVBMETA 两个分区,这可以节省不少时间。

image-20220510093918496

然后,点击刷机按钮,将设备关机,按住电源键和音量下键接入电脑,Research Tool 会开始刷机,耐心等待刷机结束。

结束

重启设备,享受 Magisk 吧!没有 Root 权限的设备永远都不是自己的设备!