馬上註冊  |  找回密碼

SAY討論區

查看: 635|回復: 33
打印 上一主題 下一主題

老羅怎麼看?盤古破解錘子手機Bootloader [複製鏈接]

Rank: 7Rank: 7Rank: 7

好友
0
帖子
4844
積分
9612
最後登錄
2018-7-25
在線時間
0 小時
跳轉到指定樓層
樓主
發表於 2017-2-8 07:51:21 |只看該作者 |倒序瀏覽
2014 年,羅永浩聲稱要開放錘子手機的Bootloader ,兩年後,44歲的他因未能兌現承諾而站上了被告席,之後他發佈微博致歉,表示該計劃因安全理由被技術人員否決掉了。
z1l1ghhrzqc21.jpg
然而以蘋果越獄聞名世界的盤古團隊卻“不務正業”,研究了個錘子!就在2月6日,他們發佈微博表示已成功破解錘子手機的 Bootloader,滿足了不少發燒友的期待。
不少朋友可能對 Bootloader並不太了解,以至於會產生如下疑問:
老羅的計(qing)劃(huai)為何會被否決?
Bootloader 是什麼?解鎖後意味著什麼?
發燒友們為什麼希望廠商開放 Bootloader?
眾多手機廠商為何緊抓 Bootloader 不放?
盤古團隊又是如何將之破解的?
今天雷鋒網宅客頻道就用通俗易懂的方式和大家聊聊——盤古破解錘子手機 bootLoader鎖 那些事兒 。
Bootloader 是什麼? —— 啟動引導器、球隊教練
BootLoader ——啟動引導器,簡單來說就是在操作系統內核運行之前運行的一段小程序。通過這段小程序,我們可以初始化硬件設備、建立內存空間的映射圖,從而將系統的軟硬件環境帶到一個合適的狀態,以便為最終調用操作系統內核準備好正確的環境。
不嚴謹的講,Android 系統中的 Bootloader 和 PC 的 BIOS有些類似,它可以引導 Android 系統正確啟動。
有人曾把 Android 系統比喻為在球場上瘋狂砍分的科比,Bootloader 就是傳奇教練菲爾?傑克遜,隻有他才能調動起科比的情緒,佈置好進攻方式和防守陣型,把科比的潛能充分激發出來。隻要這些都準備好了,科比就能攻無不克戰無不勝;此外,教練也能從球員中選出發揮穩定、適合自己球隊風格的球星(官方ROM或基於官方ROM的第三方固件)上場比賽,而拒絕一些與球隊風格不合的球員加入(民間ROM)
15zofeeaqqc21.png
BootLoader 既然要執行硬件初始化,那必然和硬件相關,所以它的代碼並非通用的,不同的硬件需要不同的 BootLoader 代碼,各大廠商可能都有自己的,也可能有一些通用的。使用高通處理器的手機通常 Bootloader 都是基於一個叫LK( little kernel ) 的東西做的,比如錘子手機。
Bootloader 與 刷機有什麼關系?
據雷鋒網了解,發燒友們常說的刷機,一般分為"卡刷"和“線刷”,兩種方式都可以將第三方的手機系統 ROM 包刷入設備當中。
不同的是,卡刷是把 ROM 包放在手機內存卡裡刷;“線刷”是手機連著電腦,用電腦來輸入刷機指令。無論卡刷還是線刷,都是在 Bootloader 之後進行的, Bootloader 大門一鎖 ,什麼刷都沒得玩。
uklx4z1zmct21.png
在 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口中的打臉)”
分享分享0 收藏收藏0 讚好讚好0 Unlike!Unlike!0 分享 傳送 邀請

好友
0
帖子
357959
積分
378560
最後登錄
2024-4-26
在線時間
0 小時
No.1回覆者
發表於 2017-2-8 12:45:48 |只看該作者
呵呵,等著就等著...

好友
0
帖子
352649
積分
368224
最後登錄
2024-4-26
在線時間
0 小時
跟尾2
發表於 2017-2-8 12:56:05 |只看該作者
強人,佩服死了。呵呵,不錯啊

好友
0
帖子
351755
積分
367235
最後登錄
2024-4-26
在線時間
0 小時
跟尾3
發表於 2017-2-8 13:13:03 |只看該作者
好奇心,我打開看看

好友
0
帖子
352189
積分
367624
最後登錄
2024-4-26
在線時間
0 小時
5#
發表於 2017-2-8 13:37:56 |只看該作者
好貼壞貼,一眼就看出去

好友
0
帖子
352545
積分
367880
最後登錄
2024-4-26
在線時間
0 小時
6#
發表於 2017-2-8 14:48:22 |只看該作者
這帖子勢必造成迴響

好友
0
帖子
361583
積分
386341
最後登錄
2024-4-26
在線時間
0 小時
7#
發表於 2017-2-8 15:32:36 |只看該作者
支持一下吧

好友
0
帖子
351038
積分
366343
最後登錄
2024-4-26
在線時間
0 小時
8#
發表於 2017-2-8 15:44:53 |只看該作者
支持一下吧

好友
0
帖子
356938
積分
377656
最後登錄
2024-4-26
在線時間
0 小時
9#
發表於 2017-2-8 15:47:36 |只看該作者
回貼賺學識,不錯了

好友
0
帖子
352376
積分
367748
最後登錄
2024-4-26
在線時間
0 小時
10#
發表於 2017-2-8 15:58:25 |只看該作者
這個站不錯!!  
您需要登錄後才可以回帖 登錄 | 馬上註冊 |

Archiver|手機版|SAY討論區

GMT+8, 2024-4-26 20:34 , Processed in 0.806605 second(s), 12 queries .

Powered by go2tutor.comDiscuz! X2

© 2024 Community Networks Limited

回頂部