iPhone時間調(diào)到1970年1月1日變磚解決辦法。最近網(wǎng)上大家都在瘋傳的一則消息,即把時間調(diào)為1970年1月1日后重啟設(shè)備會變磚,A7處理器以上的設(shè)備均會,這是怎么回事呢,那萬一有朋友真的去嘗試了導(dǎo)致iPhone時間調(diào)到1970年1月1日變磚怎么辦呢,別急,萬能的手機(jī)世界小編這就來教你們iPhone時間調(diào)到1970年1月1日變磚無法開機(jī)解決辦法吧!
相關(guān)教程:蘋果iPhone6sPlus忘記Apple ID解決方法
iPhone時間調(diào)到1970年1月1日變磚介紹:
先來簡單說一下這個Bug觸發(fā)時的表現(xiàn),如果用戶進(jìn)入【設(shè)置】—【通用】—【時間與日期】,關(guān)閉【自動設(shè)置】,并將時間修改為1970年1月1日,分秒任意。修改時間后,需要重啟設(shè)備。然后該設(shè)備啟動時,則會卡在蘋果Logo,無法繼續(xù)啟動。
iPhone時間調(diào)到1970年1月1日變磚Bug原理:
說到IOS時間Bug,則必須要介紹一下Unix時間戳,IOS系統(tǒng)時間是使用Unix時間戳(Unix epoch)表示(time_t數(shù)據(jù)類型)的。Unix時間戳規(guī)定,UTC時區(qū)的1970年1月1日 0點(diǎn)0時0秒的值為0,以秒為單位,即每過一秒,二進(jìn)制數(shù)字加1。
以32位系統(tǒng)為例,在32位系統(tǒng)中,time_t是長度為32位的,首個二進(jìn)制位是符號位,用來儲存正負(fù)。正數(shù)則為1970/1/1以后的時間,負(fù)數(shù)反 之;其余的31位用來記數(shù)。當(dāng)時間到達(dá)2038年1月19日3時14分08秒時,數(shù)值位全部向前進(jìn)1,導(dǎo)致符號位被置1,其余31位為0。此時,將出現(xiàn) 【時間回歸】的情況,系統(tǒng)時間變?yōu)?901年12月13日20時45分52秒,系統(tǒng)將會出現(xiàn)錯誤。為了避免這個錯誤,蘋果將最大時間設(shè)定為2038年1月 1日23時59分59秒。而64位系統(tǒng)的最大時間限額將為292,277,026,596年12月04日15時30分08秒,基本可以說是不受這個限制的 了。
知道上面這個知識點(diǎn)后,我們再來說一下時區(qū)對時間的影響,大家都知道,我們所在的時區(qū)是【北京時區(qū)】,假如我們將時間設(shè)置在1970年1月1日0點(diǎn)0時0 秒,北京時間=GMT+8=UTC+8,UTC時間則為1969年12月31日16時0分0秒。這樣就會出現(xiàn)時間負(fù)值,即時間回歸bug觸發(fā),系統(tǒng)啟動卡 在Kernel階段,時間錯誤,則無法繼續(xù)進(jìn)行啟動。
iPhone時間調(diào)到1970年1月1日變磚觸發(fā)該bug條件與表現(xiàn):
滿足以下條件,『時間回歸』bug被觸發(fā):
系統(tǒng)版本:IOS 8.0 ~ IOS 9.3 beta 3
硬件設(shè)備:搭載64位處理器的設(shè)備(即處理器為A7~A9X的設(shè)備)
進(jìn)入『設(shè)置』-『通用』-『時間與日期』,關(guān)閉『自動設(shè)置』,并將時間修改為1970年1月1日,分秒任意。
修改時間后,需要重啟設(shè)備。
Bug觸發(fā)表現(xiàn):IOS設(shè)備啟動時,卡在蘋果Logo,無法繼續(xù)啟動。
iPhone時間調(diào)到1970年1月1日變磚解決辦法:
對于所有64位系統(tǒng),需要拆機(jī),并拆出電池,放置一段時間后,重新安裝即可。如果電池電量充足,等待數(shù)小時,當(dāng)Unix時間戳的數(shù)值大于等于0,系統(tǒng)時間生效,可正常開機(jī)。
需要提醒大家的是,當(dāng)IOS設(shè)備連接到公共網(wǎng)絡(luò)時,IOS系統(tǒng)將會使用NTP服務(wù)對時區(qū)、時間進(jìn)行校準(zhǔn)。如果黑客發(fā)送惡意的NTP攻擊,將IOS系統(tǒng)時間校準(zhǔn)至UTC小于0的時間,那么所有用戶設(shè)備均會受到此bug影響,在重新啟動設(shè)備后無法使用設(shè)備。
蘋果iPhone6sPlus |
蘋果手機(jī) | |||||||||||||||
|