Hey, guy, how are you?

基于 KernelSU 的 Redmi K50Pro 玩机方案

“都2023年了,真的还有人在刷机吗?”——在小米之家给手机贴膜时与小哥聊到安卓手机解BL、刷机,他的反应。

老老实实用不好吗?

其实小哥的反应也是目前大多数安卓手机用户的真实想法——国产安卓手机品牌经过这么多年的发展,早就摆脱了“不刷根本没法用”的阶段,甚至定制UI的一些性能优化和特色功能也会让发烧友在选择“是否转到国际版或者类原生系统”时犹豫再三。就拿我手头的 Redmi K50 Pro 为例,按照B站上的教程关闭系统广告后系统已经算得上时简洁易用;再安装李跳跳并且配置后台保活,绝大部分开屏广告也可以瞬间跳过;如果还想要使用一些优化应用的Xposed模块,安装太极使用免ROOT模式就好,不过是稍微麻烦了点……其实相当一部分玩机需求,根本不需要解锁Bootloader,更不需要获取ROOT权限,安装框架、模块之类的操作了。

那么,我为什么最终还要在玩机之路上折腾一大圈,选择了最复杂的方案呢?

那些令我不爽的“特性”

免ROOT方案虽好,但是总归有一些让人不痛快的地方:

  • 使用太极-阴模式,安装、更新使用模块的应用都更加麻烦,缺少系统级权限,不能使用系统优化模块,模块还必须是可使用列表中的受支持的版本,往往不兼容最新版本,可选择性受限;
  • MIUI总是有一些令人不快的小动作——更新后的软件包管理组件强制加入应用风险检测,安装只需要半分钟的小工具有时硬生生要先扫描一多分钟;通过云控限制处理器性能、调整快充策略,手机在不知不觉间变得更卡顿;
  • 无障碍服务权限总在应用关闭或者后台进程结束后被关闭,使得我的 Bitwarden 密码库自动填充经常失效、再手动开启还得等那烦人的10秒警告读秒;
  • 很多国产APP不遵守安卓开发规范,在存储空间根目录下随意创建文件夹、留下缓存和日志甚至是跟踪设备的标签等,肆意滥用存储权限但是难以治理
  • ……

之前的折腾和为何选择这个方案?

很久之前就看到过DIYgod大佬所写的《我家 Android 初养成》,对于安卓系统折腾后种种特性印象深刻;之前也简单尝试过刷入乌堆大佬的MIUI官改包,当系统中已经安装了 Magisk ,我却感到无所适从,不知道要从哪里安装模块,如何隐藏ROOT权限……

不过,转机来源于太极的开发者——维术大佬在他的公众号上发布的《KernelSU: 内核 ROOT 方案,来了!》,我才意识到原来玩机圈原来已经开发出了内核级ROOT方案,在隐藏ROOT方面具有先天优势;《KernelSU: Root 兼容性大幅提升》中提到 KernelSU 已经兼容了很多ROOT应用和模块,已经具备实用性,非常适合尝试。

P.S. KernelSU仍在积极开发中,最近加入了 App Profile 特性——《KernelSU:用 App Profile 限制 root 权限,尝鲜来了》;同时也推荐一下维术大佬写的《当我们谈论解锁 BootLoader 时,我们在谈论什么?》《何为 root?》这两篇文章,理解安卓系统ROOT的基础便于更好的玩机。

我是如何操作的?

注意:在开始之前,请确保你手机中的重要数据已经备份,因为接下来的每一步操作都有使手机系统损坏、丢失数据乃至“变砖”的风险;KernelSU并非适用于所有设备,请查阅 KernelSU Docs 来确认您的设备是否有官方支持或者第三方支持。

刷入KernelSU

在开始这一步之前,请确保你的手机已经解锁Bootloader,否则无法继续

根据派大宝大佬的视频教程,刷入需要以下几步:

  • tiann/KernelSU 的 Releases 页面下载适合设备的 boot 镜像;
  • 手机关机后按住电源键+音量下键进入 Fastboot 模式;
  • 电脑安装搞机助手,选择引导模式—刷入Boot功能,选择系统对应的分区刷入Boot镜像,重启后即刷入成功。

需要注意的细节:内核版本中的 SubLevel 不属于 KMI 的范畴,也就是说 5.10.101-android12-9-g30979850fc20 与 5.10.137-android12-9-g30979850fc20 的 KMI 相同,均可以使用;**下载 boot 镜像时注意文件名——后缀为-boot-gz.img.gz的文件为联发科专用;后缀为-boot.img.gz的文件为高通专用,与处理器不匹配会导致设备无法启动;下载的文件需要解压出iso文件才能使用工具刷入;强烈建议刷入前在MIUI ROM网站下载对应机型的原厂线刷包并提取boot.iso,方便后续救砖。

P.S. “得益于”联发科糟糕的救砖机制,刷入第三方REC(如TWRP Recovery)有因操作不当而变黑砖(无法修复,只能在售后更换主板)的风险,不建议Redmi K50、Redmi K50Pro等联发科设备使用 Recovery 刷入 KernelSU;同时不同于Magisk, KernelSU 仅支持在其管理器程序中安装模块,不再支持 Recovery 下安装模块。

安装模块/应用

考虑到大家的需求各不相同,这个部分将按照 Magisk模块、(部分情况下需要,或者完全依赖ROOT)的应用、Xposed模块三部分展开

Magisk模块
  • Zygisk on KernelSU
    用于KernelSU的Zygisk加载器,允许Zygisk模块在没有Magisk环境的情况下运行;也可作为 Magisk 的独立加载器。
    人话:(暂时)没人写KernelSU专用模块,那就先借用Magisk的Zygisk模块吧——安装以下模块的基础。
  • Shamiko
    没有官方简介……说人话,使用Zygisk后容易露马脚被应用监测,而Shamiko就是为了为了过检测而生的。
    P.S.Shamiko目前以及能够跟随KernelSU的root profile配置,无需手动配置WhiteList模式。
  • LSPosed Framework
    一个Riru/Zygisk模块,试图提供一个ART挂钩框架,提供与OG Xposed一致的API,利用LSPlant挂钩框架。
    人话:不需要安装Xposed框架,一样使用Xposed模块。
  • Sui
    不需要安装Shizuku,依然可用使用Shizuku-API。
  • Universal SafetyNet Fix
    解决Google的SafetyNet和Play Integrity Proofation问题。
  • A-SOUL Games Optimization
    Android游戏线程调整程序,支持主流游戏,当然也支持一些小众游戏
    P.S.一个魂都是很强的大佬~
实用应用
  • InstallerX
    有一种鸟儿是永远也关不住的,因为它的每片羽翼都沾满了自由的光辉! --《肖申克的救赎》
    绕过系统安装组件的应用审查,更自由地安装第三方应用;免费应用,开源于GitHub——iamr0s/InstallerX

  • 无障碍管理器
    查看手机上已安装的全部无障碍服务和它们的详细信息、开关无障碍服务、可以保活无障碍服务、支持使用shizuku/root/adb来授权;免费应用。
    P.S. 如果此应用被杀后台,建议使用WooBox For MIUI修改后台调度策略。
  • 存储空间隔离
    一个需要 root 的强大工具,重定向不遵守开发规则的毒瘤应用的存储空间目录到正确位置;订阅制付费应用;增强模式运行需要安装配套Magisk模块。

  • Scene5
    强大的手机性能调度管理工具,部分功能需要安装配套Magisk模块;最新版引入订阅制付费;历史免费版本(Scene4、Scene3)开源于GItHub——helloklf/vtools

  • MT管理器
    一款强大的文件管理工具和APK逆向修改神器。可以单纯地把它当成文件管理器使用,也可以用它做汉化应用、替换资源、修改布局、修改逻辑代码、资源混淆、去除签名校验等;免费应用,提供付费解锁全功能。
Xposed模块
  • 哔哩漫游
    解除B站客户端番剧区域限制的Xposed模块,并且提供其他小功能。

  • 杜比大喇叭β版
    杜比大喇叭β是一款网易云音乐的音源代理模块,初衷只是作者对网易云音乐的热爱,希望让更多的人使用网易云;模块工作原理为音源替换而非破解,所以单曲付费与无版权歌曲有几率匹配错误,真心支持歌手请付费;最新版本暂时未适配,同时对非会员暗降了音质,推荐只听音乐的云村居民使用431或者600版本以获得最佳体验。

  • TiebaTS
    提供修改百度贴吧底栏等个性化功能。

  • Hide My Applist
    虽然“检测安装的应用”是不正确的做法,但是并不是所有的与 root 相关联的插件类应用都提供了随机包名支持;此模块提供了一些检测方式用于测试您是否成功地隐藏了某些特定的包名,如 Magisk/Edxposed Manager;同时可作为 Xposed 模块用于隐藏应用列表或特定应用,保护隐私。

  • dialog.box
    这个模块可以取消一些被强制设置为不可取消的对话框,比如一些强制更新的对话框,以及一些广告。

隐藏ROOT/模块

KernelSU在理论层面上就具有反检测优势,在不安装任何模块,仅仅使用SU的情况下很难检测;上文中的Shamiko、Hide My Applist和dialog.box是为了隐藏Zygisk模块和Xposed模块,具体可以参考酷安上的这篇教程来进行配置。

注意:上面提到的教程脚本仅适用于运行在MIUI 14.0.2稳定版的magisk 24+,和本文的环境不同,建议仅参考其中的思路和部分配置文件,不要全盘照抄!

推荐使用下列检测工具测试隐藏效果:

由于此类技巧更新较快,本文在此不再赘述,如有问题,欢迎到酷安社区交流。

更新KernelSU

同样来自派大宝大佬的视频教程

  • 安装内核刷写应用Kernel Flasher,并且在KernelSU管理器中赋予ROOT权限;
  • tiann/KernelSU 的 Releases 页面下载AnyKernel3的刷机包,注意内核版本号要匹配;
  • 进入应用,查看标志着“已挂载”字样的插槽,选择“刷入”,单击“刷入 AK3 压缩包”,在文件管理中选择刚刚下载的AnyKernel3压缩包即可完成刷入。

P.S. 注意备份之前的boot,升级不需要电脑不意味着救砖不需要电脑……

还有什么好玩的?

ROOT之后,安卓完全拥有无限可能,以下是我简单列举的进阶玩法,不展开讨论,有兴趣的话可以自己探索

N多方式去广告

目前去除开屏广告的主流方式是通过无障碍服务模拟点击动作来“跳过”(其实还是会闪过画面),典型的应用是李跳跳;ROOT后,完全可以通过劫持Activity的方式来“移花接木”,直接绕过开屏进入主页面;此外,还可以修改系统hosts,在来源上杜绝广告资源加载。

更纯粹的Linux Shell

ADB Shell 的功能相比 Linux 并不全面,我们可以手动安装 BusyBox 来补全大部分功能;
另外,在手机上还可以使用更强大的Linux 终端仿真器应用。

深入底层的虚拟化\应用多开

如今 Android Kernel 的 kvm 功能完备,理论上可以模拟运行其他同处理器架构系统;类似于“炼妖壶”之类的虚拟化方案,使得系统应用多开成为可能。

以上就是我个人基于 KernelSU 的 Redmi K50Pro 玩机方案,如果有问题或者建议,欢迎一起交流探讨~

基于 KernelSU 的 Redmi K50Pro 玩机方案

https://www.alpacabro.com/archives/root-my-redmi-phone.html

作者

alpacabro

发布时间

2023-06-22

更新时间

2023-06-26

许可协议

CC BY 4.0

添加新评论