注意:本教程属于个人实战思路,可能不兼容你的机型和版本
仅限于用户级个人手机学习开发研究使用,请勿进行任何违规用途
我们不建议小白进行解锁BL刷机,操作有任何风险都需自行承担
解锁BL需遵循用户自主意愿,不支持任何第三方非法恶意解锁行为
如出现任何侵权问题,请联系我们删除,感谢AI+第三方开发分享思路
实现原理:实际就是比较公开的CVE,刷写LK开启bootloader
OPPO手机并没有对fastboot解锁进行魔改,但是通过修改分区,实现按键和命令都无法
正常进入bootloader界面,阻挡用户解锁BL行为。通过下面的操作,我们可以像其他手
机一样,正常开启fastboot模式,实现解锁BL刷机玩机操作

版本要求:测试在ColorOS16系统都不能成功,仅支持C15系统解锁BL
所需工具:ADB工具箱,当前机型魔改的lk.img 和preload.so
LK和preload一般都是第三方开发者或者AI工具对当前机型编译好的文件,受到版权等
原因,我们这里就不再分享此文件,大家需要找到自己机型专属的lk和提取so
第一步:本地升级更新系统
找到自己当前系统的刷机包,本地更新升级1次,完成后,再次本地升级1次,到了100
后不要重启;这个步骤为了AB分区都是同一个系统,避免刷机变砖
第二步:判断当前槽位
打开USB调试和OEM解锁,连接电脑,使用下面的命令来判断当前活动卡槽
adb shell getprop ro.boot.slot_suffix
如果是A,你就把LK刷到B分区,如果是B,就刷到A,因为ColorOS当前卡槽是保护的
无法刷写;ROM乐园这里是a分区,那么就刷到b
第三步:提权临时root权限
完成第一步本地升级,不要重启,手机回到桌面,输入下面命令
adb push preload.so /data/local/tmp
adb push lk.img /data/local/tmp/lk.img
adb shell
chmod 0644 /data/local/tmp/preload.so
LD_PRELOAD=/data/local/tmp/preload.so /system/bin/true
当最后1句命令执行后,立马锁屏手机放在那,等待提权完成,出现下面代码
direct-root-summary root=1 id=1 su=1/2 daemon=7794 selinux=1->0
uid=0 euid=0 gid=0 egid=0
继续往下输入:
cd /data/local/tmp/
./su
blockdev --setrw /dev/block/by-name/lk_b
dd if=/data/local/tmp/lk.img of=/dev/block/by-name/lk_b
第四步:进入bootloader界面+解锁BL
完成上面步骤后,立马解锁屏幕,进入本地升级界面,直接点立即重启等待自动开机;
提权后,你的手机一旦亮屏,系统会在15s附近强制重启,我们必须在10S附近就必须
点到本地升级界面的立即重启按钮。等待开机后继续输入下面命令
adb reboot bootloader
fastboot flashing unlock 然后根据手机提示完成BL解锁
第五步:获取完美ROOT权限
这里非常简单,维补Init_boot分区,即可完成root权限啦,参照下图

其他说明:fastboot模式因为当前版本刷写了特殊的lk分区才能正常进入,更新系统后
无法按键再次进入,不过fastbootd模式刷机正常;BL不会因系统更新策略自动上锁,
可正常OTA更新到最新版本系统。如需回锁BL,还是上面的步骤,在ColorOS15上,执行
回锁BL命令。以上操作更推荐玩机达人,新手请熟读教程,如不慎变砖错误,请联系
OPPO官方售后,服务非常好,任何刷机难题,也可以联系ROM乐园技术人员,在线远程
解决,安全专业
OPPO手机ROM刷机包下载:http://www.romleyuan.com/romdown/OPPO
ROM乐园官方技术在线刷机:http://www.romleyuan.com/lec/read?id=70