OPPO A58x折腾日记
背景
说实话,我个人认为关于这部机器的解锁刷机过程极其无聊,都没什么好说的,一方面是这款机器的硬件参数实在是让我没什么折腾的欲望,另一方面是我似乎也过了对于折腾手机最热衷最有兴趣的那个阶段了,觉得折腾了半天其实提升很有限,我可能还会带来一些负优化,至于解锁root我觉得还是必要的,毕竟硬件在我手里,软件我也要获取最高控制权。
换屏
首先是把原来这个脱胶的屏幕换掉,这个过程其实并不难,先前有换过一次A系列手机屏幕的经验了,无非是拔出卡托关机,撬开后盖,拧下螺丝卸下中框,然后断开排线,把新的屏幕总成换上,b站也有很详细的视频了。
换屏幕的时候,我感受到这种A系列入门手机做工是有多廉价了,这个手机所谓的后盖就是一片很薄的塑料片,这个塑料片极其爆,十分的廉价,上面喷了些漆,而且这个漆很容易掉。。。
我妈之前两部A系列手机都是因为屏幕脱胶然后慢慢坏掉的,很怀疑这就是A系列通病,OPPO的计划报废?还是说带屏幕支架的手机或多或少都有这个问题?

塑料片很薄,我稍微翘一下就掉漆了,我本来还想做成透明探索版,但剩下的又搞不下来
这手机质感和我之前修过的OPPO A11比差很多
解锁bl锁
由于是发哥的芯片,这个手机是能够通过某些特殊手段解锁的,咨询了一波AI,解锁不能说简单,只能说相当容易
1.下载某贼大佬开发的刷机匣并安装相关驱动,在手机完全关机的情况下双手按住上下音量键,连接到手机,进入MTK深刷模式。
2.然后读取相关底层分区表,提取boot.bin(不是boot.img,不过建议在这个过程中一并提取,不然又得重新去下包)。
3.用oppo-mtk-fastboot-unlock这个项目的脚本修改这个boot.bin文件(注意这个也是有两个分区的),然后用刷机匣刷回去。
4.进入fastboot,执行fastboot flashing unlock,根据手机提示音量上下键就能解锁了。
至于root,也很容易,既然提取到boot分区了,我采用的是apatch的方案,ksu的话这个手机内核没有适配,懒得折腾了,解锁root可以说相当容易,比小米都要容易。
解锁原理
联发科平台上电后,会先运行 SoC 内部固化的 BootROM(BROM),首先联发科芯片启动后会经过一个叫preloader的启动代码,其存在在boot.bin文件之中
通过修改相关启动代码,可以获取到手机的fastboot权限(没想到OPPO限制解锁root的方法是通过限制fastboot)
那么核心就是修改这个preloader,关机状态下上下音量键长按,MTK 芯片会通过 Preloader/BROM 下载接口与电脑通信,而在相关工具里,我们通过上传DA到手机RAM,通过此来读取手机的底层分区,这直接绕开了bootloader的限制,这其中包括preloader和boot.img,因此可以直接提取分区打上补丁,解锁fastboot,oppo手机可以说解锁fastboot基本也就能解锁了。
至于为什么能电脑能识别到这个底层模式,那我推测一个原因是OPPO售后泄露了相关驱动和文件,因为我安装的这个驱动叫OPPO官方售后,加之联发科这个芯片可以未经授权进入深刷模式,这就给解锁带来了可能
但也并不是每一部发哥的手机都支持这么解锁,已经github上有了相关列表oppo-mtk-fastboot-unlock/support_list.md at main · Shocked-Cat/oppo-mtk-fastboot-unlock · GitHub
不过美中不足的是这个手机解锁后每次开机启动有5s的警告提示!
按照GPT给我的办法是修改底层分区里的lk.img文件,但是我尝试打了补丁之后直接成砖了,等于说一开始这个启动流程就没过,都到不了bootloader这一步,再次查询后有说法是由于篡改该文件导致签名改变,系统校验启动不通过(OPPO知道在这个文件修改进行验证,却没有验证preloader,可见官方的失误了),没办法,我只好刷了原来的文件回去,我估计还是有解决办法的,但是我懒得折腾了,毕竟这个救砖一次还是要花点时间的(其实也不难)
小结
至于后续说实话我没有任何折腾的心思了,这个手机硬件我完全没有折腾的欲望(不知道解锁有什么用,但是用户有必要先解锁或者有这个权限,我目前是这个态度),由于机型过于冷门,也没有什么好玩的包,就算刷进去体验也很难说比原厂系统更好。至于拿Android手机做服务器,我觉得是相当不适合的,就电池鼓包这个问题就很难办,没什么特别的必要,不如弄个电视盒子啥的玩玩。至于coloros本身,我是有一点兴趣但不多,我一时半会不想花心思折腾,哪天有兴趣了再说吧,现在就先做个备用机,这个手机的把玩就告一段落了。
参考资料
oppo-mtk-fastboot-unlock/README_zh-CN.md at main · Shocked-Cat/oppo-mtk-fastboot-unlock · GitHub
