前段时间换了台手机,以前旧的 vivoY30 就闲置了下来,作为一台搭载联发科 MT6765 的“高性能”设备,我决定动手开发一下它的利用价值。
解锁有风险!折腾需谨慎!
以下所有操作为本人实操过程,我们彼此设备可能有不同,高危操作请谨慎!
若有需要,提前备份个人资料!
前期准备
- 一台 vivoY30 手机(或许类似的联发科手机可以互相借鉴)。
- 一台可以联网的 Windows 或 Linux 设备(建议Windows)
- 一根数据线,USB-A转相应接口
- 一个趁手的浏览器
- MTKclient 开源工具,项目地址在这,需要用到Python环境,此工具源码为Python。(SP Flash Tool与刷机匣我也尝试过,中间遇到了各种问题,想来这种操作还是需要底层一点的工具,所以最终选择了mtkc)
- 一些基础的驱动,具体可以搜索一下 MTKclient 安装教程以获取详细步骤。
- 一双灵巧的双手
- 需要用到一些拆机工具,如果你像我一样对于这台旧手机不抱有怜惜之情的话只需要一把螺丝刀(doge)。
硬件处理
在正式开始之前需要拆机找到测试点,vivo的手机在解锁这一方面管控比较严格,需要手动拆机短接测试点,具体点位可以在酷安上找一找,有些大佬的帖子里都会标出的。
像我这台Y30短接点就在主板背面屏蔽罩下,有些设备可能是裸露的就没这么麻烦。
如果你想先尝试按键方法,你可以试一试,总之我试了好几轮各种方法都用过没有任何办法,端口很不稳定,一闪而过完全没有操作的可能性。所以可能我这台机子必须要拆机操作(vivo手机基本上都需要折腾折腾)。
以下是简略的拆机步骤,一定要小心呀!
- 拆下后盖。一般来说需要对后盖进行稍微加热使胶水略微融化,方便拆卸。加热后用一个薄片之类的顺着后盖与中框的缝隙轻轻划开即可。
- 拧开螺丝。当你打开后盖之后就能看到内部的螺丝了,找到相应大小的十字螺丝刀,逐个拧开,最好找一个吸铁石把小螺丝吸一下(我已经掉了几个了…)。
- 拆下中框。当螺丝全部拧开后,就可以拆中框了。中框一定要带着手机边缘这一圈壳一起拆!不要像我一样撬紧贴后盖那一层壳半天撬不开……先把卡槽取下来,方便后续的拆卸,我个人选择的是从卡槽那里中框与屏幕的交界处,把指甲或者硬薄片塞进去,然后慢慢绕一圈感觉到里面的卡槽一个一个松开就没问题了。接着就可以直接取下来了。
- 取下中框后就能看到主板和电池啦,建议如果你的电池能取下来最好就取下来要不然后续可能会有点耽误事哈。
- 然后一般就可以找到你的短接点了,如果你的短接点在主板另一面靠近屏幕那里或者需要拆屏蔽罩,接着往下看。
- 需要把主板翻过来,就需要把主板从基板上拆下来,有的机型可能直接就拆了,但对于我这台Y30来说,主板偏左侧地方有一个铜色的螺丝,具体形状是一个中空的圆柱形,上面有类似没有中心的十字螺纹,我的方法是用一个小的一字螺丝刀慢慢扭开,这个螺丝我也不确定有没有其他作用,总之拆主板是必须拆它的。确认拧下主板上的所有螺丝,就可以用镊子从边上慢慢撬起主板了,一定要小心一点,如果撬不起来再好好看看有没有遗漏的螺丝。
- 到这一步如果需要拆开屏蔽罩才能接触短接点的话,我的方法很简单粗暴。如果你有专业的热风枪,可以上网搜一下拆屏蔽罩的正规方法,大概就是保护一下周围的元件,然后用热风枪加热融化焊锡,慢慢把屏蔽罩整块拆下来。如果你像我一样是一个器材不全没有热风枪但又极其有动手能力的人,可以试试我的方法(极其暴力,后果自负)。我的选择是找到测试点大概的位置,然后挑一个顺眼的点,先用美工刀划几道痕迹增加摩擦力,如果刀子够硬可以稍微用力划一些,然后找一个与测试点比较近的点,用尖头镊子使劲戳,注意这个过程中发力要合适,小心猛一下镊子偏到一边或者太用力对内部元件造成暴击。慢慢的你会感觉屏蔽罩有一点点凹陷或者开口,这时候可以稍微减轻一点力,保证不要暴击内部元件,此外这个过程中一定要尽量减少碎屑的产生,否则极易造成短路。等打开一个与镊子头等大的小孔时一切就好办了,这时候除非你的点位对的很准否则我建议你继续扩孔,这样能看清内部情况,我的方法是用万用表表笔的尖端稍微捅一捅然后用水口钳稍微剪一剪拽一拽……总之很不正规的方法但总算可以打开一个孔。极其重要的是,开完孔之后请一定要检查一下开孔周围的触点有没有出现相连的情况,如果有可以用牙签稍微挑一挑,防止短路,通电前一定要检查好。

(不专业的拆机…)
呼,光一个拆机就写了这么长,此时你就拥有了一个可以自由支配的拆开的手机,现在先不要通电哈!
电脑端准备
这里需要准备一下电脑环境,一会会舒服一点。
- 首先,找到你安装 MTKclient 的目录,右键,选择在终端中打开,这时候就可以在这里输入 MTKclient 的命令了。保持这个终端打开不要关闭。
- 回到桌面,右键单击“此电脑”,如果你是win11系统,请再单击“显示更多选项”,在弹出的窗口中点击“管理”选项,稍等会弹出一个界面,在界面左侧菜单栏找到“设备管理器”,左键单击,右侧会显示出一个列表界面,一会可能会用到这里。
- 打开浏览器,搜索deepseek,打开网页版聊天界面,新建一个对话。然后打开MTKclient的终端窗口,输入
python mtk.py --help获取mtk可用的命令。把输出的内容全部复制,回到deepseek,告诉它“我想解锁[手机型号]的bl锁,处理器为[你手机的处理器],用到的工具为MTKclient,可用的命令如下[粘贴刚才复制的内容],请你协助我进行操作以及解决问题”。好了,回车发送,这样以后解锁过程中有问题就可以找AI,让它给你支支招。
上手操作
到这一步,再确认一下你的环境没有问题,如果一切顺利,我们就要开始最激动人心也最麻烦最折腾的环节了——正式解锁。
跟着我的步伐,我会帮你解决一些你可能会见到的麻烦。
以下是基本的操作流程,好好熟悉熟悉。
- 先在电脑端敲上MTKclient命令并回车,保证程序开始等待USB连接。
- 准备短接测试点。对于短接,有几个需要注意的地方。首先,对于一个短接点,你需要把镊子一端对准短接点另一端接地,可以是板子上的一些过孔或者金属屏蔽罩,一般建议直接一端怼住屏蔽罩即可。对于两个短接点,就需要把镊子两端方便对准这两个短接点。另外一点就是短接时一定要注意插好小板到主板连接的那根线缆,以及某些与USB相关的排线,如果你不知道哪些需要连接,就只断开电池排线即可,保证必要的线连接,才能顺利执行命令。

(Y30需要连接的两根排线) - 接下来就是短接了,你需要一手拿着镊子,另一手拿着USB数据线的A口接口端,手机USB接口直接插上,另一端保持悬空先不要插。然后用镊子短接测试点,等待一两秒,保证你的手已经很稳了,这时插上数据线,保持短接,观察MTKclient的终端日志情况,如果突然出现一长串内容,你要迅速拿开短接的那一只手,不要继续短接,否则程序会卡在第一阶段结束。如果你遇到了问题,请查阅后文“常见问题”章节。
- 等待命令跑完,这就是一个完整周期,需要跑其他命令的话需要再次拔线重新短接。
到这里先不要急着上手哈,因为我还没给你讲输什么指令呢。
开始吧
依照上面的过程,首先输入命令如下1
python mtk.py printgpt
这条命令的作用是打印当前设备的分区表,在这里可以起到检查连接的作用。
尝试一次能连接上之后就可以进入正片了。
如果没有连接成功,可以翻阅后文常见问题部分
首先,拔出USB线,在终端运行1
python mtk.py rl backup --skip userdata
这条命令会备份所有主要系统数据(跳过用户个人数据)。由于个人数据一般体积过于庞大,且在解锁过程中没有太大作用,全量备份太浪费时间,所以本条命令直接跳过了它。但解锁必定会清除所有个人数据,如果您的信息需要保留,请务必在解锁前完成备份,以防造成数据丢失。
按同样顺序短接操作,等待命令执行完成。由于需要备份所有系统核心数据,所需时间较长,像我这台设备用了将近四十分钟才结束。完成后在backup文件夹内就可以看到备份的所有二进制文件了,往后出错救砖必须要用到它们,妥善保管。
接下来就可以直接执行解锁了,终端运行1
Python mtk.py DA seccfg unlock
同理短接操作,等待一小会就能完成解锁。
到这里我们的解锁操作实际上已经完成了,此时我们把主板重新组装好,上电检查,正常来说是会开机显示logo以及orange state的小字解锁提示,然后自动进入recovery提示需要清除数据,按提示清除,重启后就回到了桌面,此时你就有了一台解锁过bl的手机了,下一步无论是刷Magisk或者TWRP都是没问题的。
(成功解锁)
但是!!!
对于和我一样的vivo用户,我不得不向你们泼一盆凉水。
当你满怀期待下载Magisk准备Root时,你会发现,没有合适的第三方Rec可以使用,所以只能再次短接,通过mtkclient,将修补后的boot.img (boot.bin)刷入设备1
Python mtk.py w boot magisk_xxxxx.bin
此时重启,你就会发现——什么都没有。
我上网查询了一下,发现原因在于vivo的AVB锁十分严实。
AVB锁是安卓系统对系统文件合规性的一种校验方式,防止启动文件被篡改,提升抗攻击能力,它会在启动时校验boot等镜像,因此极有可能会对BL解锁以及root造成影响。
我尝试过刷入空的vbmeta.bin或者刷入工具解锁verify的vbmeta,发现还是不行。前者会造成无限重启或自动进入fastboot,后者能进入系统但不能生效。
我还尝试了另外一种方法就是通过二进制编辑器例如HxD直接编辑vbmeta.bin位于120(十六进制78)的字节为0x03,依照fastboot的部分源码这表示关闭校验,但效果和工具解锁是一样的,正常开机但不能生效。
目前我找到的最后一种方法就是解包super.img,获取vendor分区的内容并将vendor/etc/fstab.mt6765 (也可能是其他后缀)内所有带有avb的行注释掉(行前添加“#”),由于太折腾我没有尝试,如果你有兴趣并且有一定技术基础的话可以查找资料尝试一下。
注意事项
- 短接时镊子用力小一点,否则次数多了会造成焊盘磨损,后续想再短接会有一点阻碍。
- 一定要提前执行 rl 备份核心文件!一定!
- 每次执行完一次命令必须重新拔线,短接,插线,才能继续正常执行下一次命令。
- 注意要先运行命令再短接插线,mtkc会等待连接。
- 有问题就问ai,它不一定会给你很准确的答案但你可以顺着它的线索通过搜索引擎了解更多内容,找一找别人的解决方法,如果还是不行可以把搜到的你认为有用的内容再丢给ai让它给你再看看。
- 找资源是一大难点,一定要锻炼锻炼自己找资源的能力,学会用好浏览器。
常见问题
一切操作如果有不明白都可以问D哥哈,还是挺好用的。
Q:插线后出现了大量信息,但是其中夹杂着几条报错,最终没有正常执行。
A:可以复制整段报错信息,发送给AI帮忙解释,常见的这一阶段报错如下
- DA验证错误。工具自带的DA文件可能无法适配你的机型,这时候你需要在网上查找相关的DA文件,例如最常见的MTK_AllInOne_DA.bin,一般可以覆盖多数机型,下载后放在MTKclient目录,并在所有命令后追加
--loader 你的DA文件名.bin。如果尝试后还是这个报错,那么可以尝试搜索你的Soc型号对应的DA文件。 - preloader提取错误。preloader是电脑与手机通信的“钥匙”,手机需要识别到相符的preloader文件才能继续运行下面的操作。有时候工具自带的preloader无法匹配你的设备,这时唯一的办法可能就是查找你设备的线刷包,从中提取preloader.bin文件,同样放在mtkc目录下,每条命令后用
--preloader 你的preloader文件名.bin引用,尝试一下是否通过。注意,卡刷包一般没有底层的preloader文件,所以不需要费时间去下载卡刷包,直接找线刷包。
Q:有时短接状态插入数据线,终端连续提示Couldn't get device configuration.
A:这一般是没有短接好。可以尝试多次插拔数据线,并调整镊子短接的位置与角度。如果短接次数比较多造成短接点脱焊磨损,可以用一小块橡皮擦轻轻擦一擦焊盘位置,保证没有过多的渣子干扰,也可以稍微处理一下尖头镊子尖端的污物,保证与焊盘良好的接触,多尝试几次。
Q:有时插上数据线终端直接卡住了,没有任何输出
A:可以尝试等待一小会,当然可以不用等待,尝试Ctrl+C终止或直接关闭终端重新打开,再次重新尝试短接。
Q:像上一条问题那样,强制关闭了终端,下次再次运行mtk命令直接报错结束了
A:此时你需要在不短接的情况下直接插入USB数据线,等待3到5秒或等到电脑设备管理器刷新,再次运行mtk命令,此时若可以正常运行就拔掉USB线,正常短接插线即可。具体原因可能与USB驱动什么的有关。
Q:连接时终端报错Status:Handshake failed,retrying...
A:这一般忽略即可,具体原因可能是连接不太稳定,不会中断程序,只要没有别的异常正常操作即可
结语
vivo手机的底层设计就没有留给用户太多的操作空间,很多东西实际弄起来会比较麻烦,比想象中会麻烦的多,本文只是给毫无操作经验的同好分享一下我的思路,具体实现过程中很多麻烦我也做不到一一列举。总之,如果你也想尝试,尽管去做,为了爱好。