刷机那些事(2)
前言
大概一个月前,我的 Redmi Note 10 Pro 光荣阵亡了,于是,在经过了一个月小钱钱的攒后,在二月初,我终于入手了 Redmi K60 8 256G 版本,然后,又经过七天的煎熬,我终于成功解锁了 Bootloader,又一次踏上了刷机的不归路。
记得上一次刷机已经是一年半前了,那个时候用的还是 MTK 芯片的 Redmi 10X,这次用上了骁龙 8 ,情况又有了一些不同……
解锁
其实每次阻止我刷机的主要原因,就是因为数据恢复起来太难了,包括这次刷机,即使我提前使用 MIUI 的备份功能对数据进行了全盘备份,依然有一些软件(以 Google Play Store 以及从 Google Play Store 下载的 App 为主)无法正常打开,并且一部分软件需要重新登录(尤其是小米运动健康,每次都需要将手表恢复出厂设置再重新配对,可以说是十分痛苦了)。
因此,在刚入手 K60 的时候,我就开始在网上搜素可以免等待解锁 BootLoader 的方式,很遗憾的是,除了 MTK 芯片目前可以有办法绕过以外,还没有什么靠谱(且免费)的方法解锁。
没办法,只能等七天再解锁了。再经过七天的煎熬后,我终于熟练的备份好手机数据,进入 FastBoot 模式,开始解锁之后(这里还有一个小插曲,不知道是我记错了还是什么,第七天晚上,当我备份手机数据,开始解锁的时候,小米的解锁工具却告诉我还要等 20 小时,就很离谱),我却发现无论如何抖无法正常解锁,并且 MIUI 解锁工具给了我一个很模棱两可的报错:
代码语言:javascript复制未知错误(-1)
网上查询说是网络异常,可是我换了三个不同的网络环境得到的依然是同一个报错,于是我开始高强度搜索这个问题,但还是没有可用的解决方案。
但后来,我在 MIUI 解锁工具的 log 中看到了这么一句:
代码语言:javascript复制getvar:anti FAILED (remote: GetVar Variable Not found).
顺着这个线索入手,我在 XDA 论坛上发现坛友的一个解释:这是 USB 3.0 的问题,尝试用 USB 2.0 连接即可。
于是,我翻出来了我家十年前的买的联想台式机(其实上次也是用这台机子解锁的),插上线缆,开始解锁,在我的震惊中,手机解锁成功了!(其实如果将线缆慢速插入 USB 3.0 口,操作系统应该会把这个线缆识别为 USB 2.0,但我当时没这么试,不知道可不可以)
刷机
接下来就十分简单了,下载全量包,提取 boot.img
(可以用 payload-dumper-go)这个工具从 payload.bin
中提取镜像,打开 Magisk 修补 boot,进入 fastboot 刷入 boot,在一套行云流水下,手机成功刷入了 Magisk。
其实这里依然有一个小插曲,由于 Android 13 修改了引导流程,所有出厂预装 Android 13 的手机需要将 Magisk 修补到 init_boot.img
中而不是 payload.bin
,但不知道为什么,我的 K60 虽然出厂是 Android 13,但依然使用的是 boot.img
(init_boot.img
根本没找到)。
然后进入了最痛苦的步骤:恢复手机数据,如上所述,即使恢复了数据依然有一些软件需要重新安装/配置,为了将手机恢复到我刷机前的样子,花了我足足三个小时(要吐槽的点是MIUI竟然会自动把系统广告设置和纯净模式给我自动打开回去)。
接下来要做的,就是安装各种模块了,由于 Magisk 新版取消了在线模块列表,因此只能从互联网上手动下载并安装。
模块
首先,为了避免软件检测到手机的 Root 状态(尤其是银行应用和教育应用),我做了如下的配置,基本可以让软件无法检测到手机已被 Root(但是 MIUI 依然会提示手机已被 Root):
- 隐藏 Magisk
- 开启 Zygisk(但不开启 Enforce DneyList)
- 配置 DenyList 列表,将这些软件放入(这也意味着你再不能对这些软件进行修改)
- 安装 Shamiko 模块
接下来,为了通过 Google 的 SafyNet 和 Play Integrity 检测,我安装了 Universal SafetyNet Fix 模块。
最后,安装 LSPosed(Zygisk)模块,对手机进行进一步的定制。
在 LSPosed 中,我安装了这些 Xposed 模块:
- NoActive:为安卓实现墓碑机制,优化性能和电量。但可能导致应用推送异常,为了解决这些问题,你可能需要先使用 LibChecker 查找一下应用是否支持系统推送服务(例如 Mi Push)。如果支持的话(QQ,支付宝,飞书等),只需简单的把他们的 push 服务设置白名单即可;如果不支持的话,除了前面的设置以外,还要开启“保持连接”选项。或者,也可以直接为某些应用设置白名单,让这些应用不要被自动冻结。
- NoVPNDetect:懂得都懂。
- QAuxiliary:QA 模块,QNotifed 的继承者,增强了 QQ 的功能,非常强大,可以说刷机就是冲着这个来的。
- TaplusExtension:MIUI 传送门增强模块。
- WeXposed:WX 模块,为微信提供了增强功能。
- WooBox For MIUI:MIUI 定制化模块,提供了非常多的定制化功能,并且可以取消 MIUI 的一些限制(例如跳过 10 秒警告)。
- WPeng-Ext:Light Start(轻启动)的 Daemon 模块。Light Start 可用于开屏广告跳过。
- XposedSmsCode:自动复制粘贴验证码。
- 哔哩漫游:解锁 B 站港澳台番剧限制。
- 小米不妙·享:让所有电脑均支持小米妙享的应用流转。
- 知了:知乎去广告模块。
- 网抑叼毛云:网易云换源模块(不用 beta 大喇叭的原因是因为那个玩意我装上以后一打开网易云设置就崩溃,不知道为啥)。