专注于分享seo思维和sem网络营销的园林绿化SEO博客
顶部右侧自定义文字
aliyun-1212-large.jpg
aliyun-1212-large.jpg

网站首页 个人杂记 正文

Vivo Mediatek机型LK(ABOOT)文件Android Verify Boot校验的困惑和一点研究

2022-10-28 个人杂记 1980 ℃ 0 评论
广告位 后台主题配置管理

序言

最近折腾的Vivo MTK机型IQOO Z1,研究Root时在AVB部分遇到了一些困难,特整理了一些资料来求助看雪大神,详述如下:

解锁与刷写

该机型的Bootloader上锁方式极为奇葩,且听细细道来。

 

在旧版本上,酷安的朋友发现该机型采用了Google提供的简单OEM锁,遂尝试解锁并获取Root。

 

BL解锁是成功的,但令人困惑的是此LK(ABOOT)并没有提供相应的烧写命令,EDL刷写也存在校验。所以无法刷写打入补丁后的boot.img文件进行测试,前期研究遂终止。

 

令人惊喜的是,过后不久在XDA论坛爆出了Mediatek机型通用的EDL刷写验证绕过的漏洞,遂可以使用SP Flash Tool进行刷写尝试。我和朋友着手开始了对Vivo IQOO Z1机型Magisk打补丁进行Root的研究。

Root尝试失败

开始研究之初我们便遇到了困难。该机型BL解锁后并不同于往常的机器,当刷写打补丁的boot后,无法正常引导。经测试该机型为secure boot:no状态时(如下图),仍会对vbmeta,boot文件进行校验,遂Root尝试失败。

对VBMeta的校验

之后,我们的测试发现关闭secure boot仅能跳过logo与lk分区的校验。

 

经过一些控制变量的检查,我们确认了校验vbmeta的相关实现在LK分区中,遂转变思路,转向对LK的反编译和修改进行下一步工作。无奈个人并不是很懂相关知识,在期间也请教了一位会IDA的朋友,奈何找不到相应BSP与源代码,进度推进无果。

一些尝试

使用IDA的朋友判断Vivo将lk进行了魔改。他的工作在于,将auth和verified boot启用返回0(原厂镜像 lk直接忽略了从平台读出来的secureboot状态,和bl锁状态),修改后的LK能正常引导开机(使用官方签名vbmeta的情况下)。遂进一步尝试对vbmeta的修改,对原版vbmeta文件hex写入跳过验证的flag,写入后引导失败,结论是仍存在对vbmeta文件的签名校验。

相关文件与求助

我们也在这上面工作了好久,困扰在AVB对VBMETA的校验上,

 

因为并不熟识相应的代码实现,遂来请求看雪大神指点,感谢!

 

LK与VBMETA文件:
https://wwr.lanzoui.com/b02c6es2f
密码:18kh


Tags:

请在这里放置你的在线分享代码
广告位 后台主题配置管理

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

«    2024年4月    »
1234567
891011121314
15161718192021
22232425262728
2930
标签列表
aliyun-1212-large.jpg