這兩天,網(wǎng)上流傳的一則消息讓不少蘋(píng)果手機的使用者“炸開(kāi)了鍋”,據說(shuō)也有不少人“好奇害死貓”,非要嘗試一下,結果引來(lái)自己的愛(ài)機“以身殉職”。 該消息稱(chēng),把iPhone手機的時(shí)間設定為1970年1月1日,然后關(guān)機再開(kāi)機,手機就很有可能變成一塊“磚頭”,無(wú)法啟動(dòng),直到電池電量耗盡。據說(shuō),目前運行iOS8或更新系統的64位處理器設備幾乎無(wú)一幸免,32位處理器設備則沒(méi)有受到影響。 現在,蘋(píng)果官方終于對此事做出了回應,確認如果將系統時(shí)間手動(dòng)設置為1970年5月或者更早,iPhone、iPad、iPod touch將會(huì )無(wú)法重啟。 為何會(huì )產(chǎn)生這一bug? 關(guān)于這個(gè)bug,你需要了解的一個(gè)知識是Unix時(shí)間戳。 iOS系統時(shí)間使用Unix時(shí)間戳(Unix epoch)表示(time_t數據類(lèi)型)。Unix時(shí)間戳規定,UTC時(shí)區的1970年1月1日 0點(diǎn)0時(shí)0秒的值為0,以秒為單位,即每過(guò)一秒,二進(jìn)制數字加1。 正常來(lái)說(shuō),時(shí)間流逝為正數,但需要注意的是時(shí)間會(huì )受到時(shí)區的影響。 例如,在北京時(shí)區,將iPhone時(shí)間設置到了1970年1月1日0點(diǎn)0時(shí)0秒,那么將這個(gè)時(shí)間轉換為UTC時(shí)間(公式:北京時(shí)間 = GMT+8 = UTC+8),那么UTC時(shí)間則會(huì )變成1969年12月31日16時(shí)0分0秒。這樣就會(huì )出現時(shí)間負值,即時(shí)間回歸bug觸發(fā),系統啟動(dòng)卡在Kernel階段,時(shí)間錯誤,無(wú)法繼續進(jìn)行啟動(dòng)。 值得一提的,當iOS設備連接到公共網(wǎng)絡(luò )時(shí),iOS系統將會(huì )使用NTP服務(wù)對時(shí)區、時(shí)間進(jìn)行校準。如果黑客發(fā)送惡意的NTP攻擊,將iOS系統時(shí)間校準至UTC 如果已經(jīng)變磚了 怎么辦? 據悉,所有系統版本為iOS8.0至iOS 9.3beta3,并且搭載64位處理器(即處理器為A7~A9X的設備)的蘋(píng)果設備都會(huì )觸發(fā)這個(gè)bug。 會(huì )受影響的蘋(píng)果設備一覽 那么因為好奇,而已經(jīng)去嘗試了一把的果粉們該怎么辦? 方法一,你可以拿著(zhù)變磚的iPhone去找蘋(píng)果售后。蘋(píng)果官方稱(chēng),受到該問(wèn)題影響的任何用戶(hù)都應該聯(lián)系蘋(píng)果技術(shù)支持以尋求幫助。 不過(guò),據外媒報道,根據iOS用戶(hù)反饋,他們在蘋(píng)果技術(shù)支持那里獲得的處理方式并不一樣:有的用戶(hù)稱(chēng),蘋(píng)果會(huì )直接更換了他們的設備,還有的用戶(hù)則被“拒絕”(整機更換)了。 對了,因為不少人很好奇這個(gè)Bug,但舍不得拿自己的iPhone做試驗,就跑到蘋(píng)果店里把人家的展示用iPhone、iPad給玩死了……可能現在A(yíng)pple Store的員工有點(diǎn)自顧不暇了。 方法二,如果不想去蘋(píng)果店維修的用戶(hù),可以參考“民間”解決方案:切斷iOS設備電源,放置10分鐘后再重新連接電源,設備之后會(huì )重置時(shí)間,變磚的問(wèn)題就解決了。不過(guò),想要切斷iOS設備電源意味著(zhù),需要拆機并拆出電池…… 方法三,電量充足的情況下,等待數小時(shí),當Unix時(shí)間戳的數值大于等于0,系統時(shí)間生效,可正常開(kāi)機。 |