为什么 fastboot 线刷要先解 bootloader,即使刷的原厂 rom

2020-12-09 20:34:10 +08:00
 LUREN

不懂就问,看网上的介绍,bootloader 目的是为限制刷第三方 rom,但为什么刷原厂 rom 也要先解 bootloader 呢?有大佬可以从 bootloader 工作原理上解惑吗?

13711 次点击
所在节点    Android
32 条回复
acess
2020-12-10 17:13:33 +08:00
aboot 这个阶段,有个条件判断来控制是否“解锁”,解锁了就允许刷入、启动执行任意内容,否则就只能是原厂的东西。
一般来说,需要把机器序列号什么的提交给官方申请解锁,官方对其数字签名,然后刷机工具把这个数字签名给 aboot,aboot 就知道自己被允许解锁了,会写一个标志位,然后 aboot 就根据这个标志位判断是否是解锁状态。
印象里,以前有些机型,把这个标志位放到闪存上了,于是就可以绕过官解,直接解锁。
其他的机型估计就麻烦了,貌似还动用了高通 efuse 之类的复杂技术。
TreantLee
2020-12-10 23:34:42 +08:00
@acess 疑似 firehose 加密 用户自己用 qfil 或 miflash 刷会报错 用小米售后的账户登录 miflash 可正常刷机 而且现在云端开启查找手机授权也没法 9008 刷 但是某些机型特定版本系统还是可以免授权的
TreantLee
2020-12-10 23:36:38 +08:00
@S179276SP 我猜你在说三键 那基于 erecovery 还是 recovery 和 fastboot 没什么关系 甚至能改写分区表 分区镜像官方才能刷写
acess
2020-12-11 00:02:27 +08:00
@TreantLee 别的我不知道,其实 QFIL 的刷写器程序(下载到手机上执行的)本来就应该是保密的吧……也许是小米的刷写器里面做了什么限制吧。刷写器本身也有数字签名,没签名不能执行。
acess
2020-12-11 00:05:46 +08:00
@TreantLee 虽然刷写器也需要有数字签名,但是含有(带有效数字签名的)刷写器的“线刷救砖包”貌似一直以来都不太保密,再加上有些机型锁 bootloader 并没有严格贯彻签名不对就拒绝启动的政策,所以“9008 强刷”才成为广为人知的坊间传闻。
也许就是小米在这方面改了?每次刷入时,都需要一个类似申请 bootloader 解锁的程序,向官方服务器提交机器序列号,等官方服务器签名了,才能刷?嗯,我啥也不知道,纯瞎猜的……
S179276SP
2020-12-11 01:07:56 +08:00
@TreantLee 也不是 3 键,淘宝刷机的叫我下载个远程 temaview,然后他把我的 usb 口连到一个 IP 地址,然后我的手机就进入到 出厂模式,就开始刷机了,应该是手机刚从工厂生产出来,准备装系统的模式,可以绕过 bootloader 。
yolee599
2020-12-11 08:55:35 +08:00
现在出的机型,解 bootloader 之前储存是加密的
yolee599
2020-12-11 09:07:41 +08:00
@TreantLee 我刷过,自己的电脑安装 teamviewer,再安装一个远程 usb 映射软件,手机进入 fastboot 模式插上电脑,然后别人远程操作,帮你解锁 bootloader 和安装第三方 recovery 。大概步骤应该是 dump 某个分区的数据,分析,然后改一下,再写回去。要是当时有抓包就好了。
TreantLee
2020-12-12 15:44:52 +08:00
@S179276SP 工厂是刷写烧录包,在工程系统下检验,之后 sd 卡升级到正常系统,三键是有线刷的,开机(开生产模式)确实可以直接转成三键线刷模式
@yolee599 如果是有解锁码的解 bl ( emui<=9 )读(其实是写随机数字或者 16 个 0 )解锁码是开机下才能进行啊
如果你说的是海思 710_810_820_970_980_985_990 解 bl 其实是从 fastboot 引导到 com1.0 写的
分析倒不至于 买行业现成的软件
uriah
2020-12-15 05:06:42 +08:00
moto fastboot 升级刷机 平级刷机无需解锁 bl
idrawer
2021-01-05 09:56:20 +08:00
@acess 您好,也就是说短接手机机身上一些触点进入的 bootloader 和使用工程线进入的层级是不同对吗
acess
2021-01-05 13:37:50 +08:00
@idrawer 这两个办法要进的,都是高通紧急下载模式( EDL,又称 9008 ),不是 fastboot 。区别应该就是检测是否进入 9008 的时机不一样。打个可能不恰当的比方,就好像 Win8 以后,结合 UEFI 启动,进 BIOS 可以是开机时按 DEL 键(不同品牌按键不一样,有不少机器来不及按),也可以是系统进去以后,键盘按住 SHIFT 的同时鼠标点开始菜单的重启,然后选择进入“UEFI 固件设置”。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/733887

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX