萬盛學電腦網

 萬盛學電腦網 >> 手機應用 >> iPhone >> iPhone時間調到1970年1月1日變磚解決辦法

iPhone時間調到1970年1月1日變磚解決辦法

   iPhone時間調到1970年1月1日變磚解決辦法。最近網上大家都在瘋傳的一則消息,即把時間調為1970年1月1日後重啟設備會變磚,A7處理器以上的設備均會,這是怎麼回事呢,那萬一有朋友真的去嘗試了導致iPhone時間調到1970年1月1日變磚怎麼辦呢,別急,萬能的小編這就來教你們iPhone時間調到1970年1月1日變磚無法開機解決辦法吧!


  iPhone時間調到1970年1月1日變磚介紹:

  先來簡單說一下這個Bug觸發時的表現,如果用戶進入【設置】—【通用】—【時間與日期】,關閉【自動設置】,並將時間修改為1970年1月1日,分秒任意。修改時間後,需要重啟設備。然後該設備啟動時,則會卡在蘋果Logo,無法繼續啟動。

  iPhone時間調到1970年1月1日變磚Bug原理:

  說到IOS時間Bug,則必須要介紹一下Unix時間戳,IOS系統時間是使用Unix時間戳(Unix epoch)表示(time_t數據類型)的。Unix時間戳規定,UTC時區的1970年1月1日 0點0時0秒的值為0,以秒為單位,即每過一秒,二進制數字加1。

  以32位系統為例,在32位系統中,time_t是長度為32位的,首個二進制位是符號位,用來儲存正負。正數則為1970/1/1以後的時間,負數反 之;其余的31位用來記數。當時間到達2038年1月19日3時14分08秒時,數值位全部向前進1,導致符號位被置1,其余31位為0。此時,將出現 【時間回歸】的情況,系統時間變為1901年12月13日20時45分52秒,系統將會出現錯誤。為了避免這個錯誤,蘋果將最大時間設定為2038年1月 1日23時59分59秒。而64位系統的最大時間限額將為292,277,026,596年12月04日15時30分08秒,基本可以說是不受這個限制的 了。

  知道上面這個知識點後,我們再來說一下時區對時間的影響,大家都知道,我們所在的時區是【北京時區】,假如我們將時間設置在1970年1月1日0點0時0 秒,北京時間=GMT+8=UTC+8,UTC時間則為1969年12月31日16時0分0秒。這樣就會出現時間負值,即時間回歸bug觸發,系統啟動卡 在Kernel階段,時間錯誤,則無法繼續進行啟動。

  iPhone時間調到1970年1月1日變磚觸發該bug條件與表現:

  滿足以下條件,『時間回歸』bug被觸發:

  系統版本:IOS 8.0 ~ IOS 9.3 beta 3

  硬件設備:搭載64位處理器的設備(即處理器為A7~A9X的設備)

  進入『設置』-『通用』-『時間與日期』,關閉『自動設置』,並將時間修改為1970年1月1日,分秒任意。

  修改時間後,需要重啟設備。

  Bug觸發表現:IOS設備啟動時,卡在蘋果Logo,無法繼續啟動。

  iPhone時間調到1970年1月1日變磚解決辦法:

  對於所有64位系統,需要拆機,並拆出電池,放置一段時間後,重新安裝即可。如果電池電量充足,等待數小時,當Unix時間戳的數值大於等於0,系統時間生效,可正常開機。

  需要提醒大家的是,當IOS設備連接到公共網絡時,IOS系統將會使用NTP服務對時區、時間進行校准。如果黑客發送惡意的NTP攻擊,將IOS系統時間校准至UTC小於0的時間,那麼所有用戶設備均會受到此bug影響,在重新啟動設備後無法使用設備。

copyright © 萬盛學電腦網 all rights reserved