首页/苹果应用/内容

iPhone时间调到1970年1月1日变砖处理办法

苹果应用2023-02-27 阅读()
[摘要]iPhone时间调到1970年1月1日变砖解决办法。 最近网上大家都在疯传的一则消息, 即把时间调为1970年1月1日后重启设备会变砖, A7处理器以上的设备均会, 这是怎么回事呢, 那万一有朋友...

 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影响, 在重新启动设备后无法使用设备。


苹果应用引领新的上网速度革命,给您带来超快体验。



……

相关阅读