开发者社区> boxti> 正文

盘古越狱破解锤子手机 Bootloader,这里有详解

简介:
+关注继续查看
 
    2014 年,罗永浩声称要开放锤子手机的 Bootloader 功能 ,两年后,44岁的他因食言而站上被告席,之后罗永浩发布微博致歉,表示该计划因安全理由被技术人员否决掉了

盘古越狱破解锤子手机 Bootloader,这里有详解

然而以苹果越狱闻名世界的盘古团队却“不务正业”,开始搞锤子。就在2月6日,他们发布微博表示已成功破解锤子手机的 Bootloader 功能,满足发烧友们的期待。

不少读者朋友可能对 Bootloader 并不太了解,以至于会产生如下疑问:

  • 老罗的计(qing)划(huai)为何会被否决?

  • Bootloader 是什么?解锁后意味着什么?

  • 发烧友们为什么希望厂商开放 Bootloader?

  • 众多手机厂商为何紧抓 Bootloader 不放?

  • 盘古团队又是如何将之破解的?

今天雷锋网宅客频道就用通俗易懂的方式和大家聊聊——盘古破解锤子手机 bootLoader锁 那些事儿 。

Bootloader 是什么? —— 启动引导器、球队教练

BootLoader ——启动引导器,简单来说就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。

不严谨的讲,Android 系统中的 Bootloader 和 PC 的 BIOS有些类似,它可以引导 Android 系统正确启动。

有人曾把 Android 系统比喻为在球场上疯狂砍分的科比,Bootloader 就是传奇教练菲尔·杰克逊,只有他才能调动起科比的情绪,布置好进攻方式和防守阵型,把科比的潜能充分激发出来。只要这些都准备好了,科比就能攻无不克战无不胜;此外,教练也能从球员中选出发挥稳定、适合自己球队风格的球星(官方ROM或基于官方ROM的第三方固件)上场比赛,而拒绝一些与球队风格不合的球员加入(民间ROM)

盘古越狱破解锤子手机 Bootloader,这里有详解

BootLoader 既然要执行硬件初始化,那必然和硬件相关,所以它的代码并非通用的,不同的硬件需要不同的 BootLoader 代码,各大厂商可能都有自己的,也可能有一些通用的。使用高通处理器的手机通常 Bootloader 都是基于一个叫LK( little kernel ) 的东西做的,比如锤子手机。

Bootloader 与 刷机有什么关系?

据雷锋网(公众号:雷锋网)了解,发烧友们常说的刷机,一般分为"卡刷"和“线刷”,两种方式都可以将第三方的手机系统 ROM 包刷入设备当中。

不同的是,卡刷是把 ROM 包放在手机内存卡里刷;“线刷”是手机连着电脑,用电脑来输入刷机指令。无论卡刷还是线刷,都是在 Bootloader 之后进行的, Bootloader 大门一锁 ,什么刷都没得玩。

盘古越狱破解锤子手机 Bootloader,这里有详解

在 Bootloader 初始化手机硬件之后,通常可以用组合键(比如开机键 + 音量键 )进入Fastboot 模式,用电脑对手机输入指令,可以理解为实现了一个简单的通信协议。

如果没有进入Fastboot 模式,则可以通过另一个组合件进入 Recovery 模式,Recovery ——“恢复模式”,相当于PC上常见的“一键还原精灵”、Ghost系统等,可以用来刷手机系统的 ROM 包。

如果既没有进 Fastboot 模式也没有进 Recovery,那么 Bootloader就开始通过 Boot image 读取手机的系统内核,然后启动 Android。

厂商为何紧抓 Bootloader 不放?

看懂 Bootloader 的重要性,就会知道手机厂商一旦开放 Bootloader ,至少要面对这三大麻烦:

1.运营商受损

手机厂商通常和网络运营商合作推出合约机,难免内置预装软件 ,预装软件通常无法自行删除,一旦开放 Bootloader,运营商及合作伙伴的利益无法保障。

2.可能沦为单纯制造商

手机厂商各自的UI实则是最鲜明的品牌烙印,一旦 Bootloader解锁,用户买了你的手机却用别人家的系统,手机厂商就有可能沦为单纯的制造商。

罗永浩此前曾语带轻浮地讽刺过魅族不提供该解锁 Bootloader 功能,是对自家 UI 系统的“不自信”。想必老罗刚开始计划开放 Bootloader 功能,也是出于对 Smartisan OS 爆棚的自信。

3.手机稳定性、安全性均难以保证

手机刷入的第三方固件可能会存在各种各样的Bug,轻则影响用户体验,重则引发手机睡死、过热、漏电等现象,稳定性难以保证。从数据安全方面考虑,当用户的手机不慎遗失,如果 Bootloader 没锁,对方可以随心所欲地刷入第三方系统,轻而易举取得手机中的隐私信息,“查找我的手机”、“远程抹除数据”之类安全功能完全失效。

正因为牵扯太多问题,手机厂商们对待 Bootloader 的态度由紧到松又到紧,经历了一次倒U型变化。目前大多数厂商都锁了Bootloader,不同的是,有的提供了官方的解锁渠道,比如“发烧”的小米,但解锁之后仍会失去保修,有的则干脆禁止 Bootloader 解锁。

盘古搞定锤子手机 Bootloader

事实上,正如老罗所说,其实2014年他们可能确实考虑对 Smartisan OS 开放Bootloader ,因此在初代ROM中保留了解锁的功能,但其后该功能的大部分指令都被“阉割”,也许正是考虑到安全等问题。

对于T1和T2手机,2.6.7 是最后一个可以解锁的 ROM 版本号。

根据盘古在微博中所述,在被破解的锤子T2 手机中,其中涉及 Bootloader解锁的一个安全分区使用了 RSA+MD5 两种加密算法进行签名校验,在这个过程中,盘古发现了由于技术人员对加密算法不太熟悉,导致了两个的逻辑漏洞:

在 RSA 加密算法中,有公钥和私钥两把“钥匙”,公钥是公共的,私钥掌握在加密者手里,原本这两把钥匙应该是相互独立的,但一个小错误让盘古团队直接通过公钥推导出私钥。


第二个漏洞是其中MD5算法中的某个值可以任意指定,盘古团队将其设置为 0 之后,可以让原本瞬息万变的哈希值固定为某一个数值。

通过这两个漏洞,他们成功构造校验签名,将一台装载 2.6.7版本 Smartisan OS 的锤子手机解锁。

盘古团队在文中表示,目前锤子手机的系统已经升级到 3.x 版本,解锁需要先将系统版本降级至 2.6.7 的版本,利用旧版 Bootloader 存在的漏洞进行解锁,解锁完成后再在不更新 Bootloader 的情况下升级回原来版本的系统,操作相对繁琐。

据雷锋网了解,从原理上看来,锤子科技如果一心要防止用户利用该漏洞解锁 Bootloader,只需通过ROM签名验证等方式,让用户无法降级回 2.6.7以下版本即可让此破解方式失效。

锤子科技将如何处理此次破解事件,目前还尚未可知。但无论如何,安全总是第一位的,借用盘古团队对老罗未兑现承诺一事的评价:“ 能从认为加锁是对系统的不自信,到后来发现解锁是安全隐患,绝对是个进步(loser口中的打脸)”

  

本文作者:谢幺

本文转自雷锋网禁止二次转载,原文链接

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
18694 0
如何设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云安全组设置详细图文教程(收藏起来) 阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程。阿里云会要求客户设置安全组,如果不设置,阿里云会指定默认的安全组。那么,这个安全组是什么呢?顾名思义,就是为了服务器安全设置的。安全组其实就是一个虚拟的防火墙,可以让用户从端口、IP的维度来筛选对应服务器的访问者,从而形成一个云上的安全域。
17096 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
9530 0
使用SSH远程登录阿里云ECS服务器
远程连接服务器以及配置环境
13187 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
14700 0
阿里云服务器ECS远程登录用户名密码查询方法
阿里云服务器ECS远程连接登录输入用户名和密码,阿里云没有默认密码,如果购买时没设置需要先重置实例密码,Windows用户名是administrator,Linux账号是root,阿小云来详细说下阿里云服务器远程登录连接用户名和密码查询方法
21592 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
13870 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
24982 0
+关注
boxti
12535
10036
文章
1327
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载