这个Bug涉及到UNIX时间戳的问题。

苹果手机突然变砖怎么办(为什么修改下时间苹果手机就)(1)

苹果用户被“坑”了,原因是如果你把iPhone的时间设定为1970年1月1日,然后关机再开机,手机就很有可能变成一块“砖头”。

据说,目前运行iOS 8或更新系统的64位处理器设备几乎无一幸免,32位处理器设备则没有受到影响。

这则消息让不少苹果手机的使用者“炸开了锅”,甚至有不少人好奇,非要尝试一下,结果使得爱机成功变砖。

不过,“聪明”的人为了试验,专门跑去苹果零售店去把展示用的iPhone、iPad都给修改了……事实上,这种操作对于体验机是无效的,因为苹果店里的展示机均带自动恢复功能,不管做了什么操作都可以自动恢复,修改时间对这些手机也不会有影响。

今日,苹果官方对此事正式做出了回应, “如果将系统时间手动设置为1970年5月或者更早,iPhone、iPad、iPod touch将会无法重启,这是一个Bug,将会在接下来的iOS版本更新中修复这一问题。”

苹果手机突然变砖怎么办(为什么修改下时间苹果手机就)(2)

我们对此进行了换算试验,我们首先以UTC(世界标准时间)时区1970年1月1日0时0分0秒为界限,得出的数值为-28800,而将时间调至同样日期的8时0分0秒时,得出的数值为0。时间正常流逝为正数,反之为负数。不过各位需要留意的是,时间受到时区的影响。

所以这就产生了一个问题,出现时间负值,一旦出现负值,时间就会回归触发Bug,系统启动卡在Kernel阶段,时间错误,无法继续进行启动。

而有网友说,搭载32位系统的iPhone不受这个问题,但你们有所不知的是,当32位的系统时间往大调时,同样会出现如同64位系统1970年的类似问题,这个Bug被称作2038。

最初计算机操作系统是32位,而时间也是用32位表示。32位能表示的最大值是2147483647。而一年的总秒数是31536000,2147483647/31536000= 68.1

也就是说32位能表示的最长时间是68年,而实际上到2038年01月19日03时14分07秒,便会到达最大时间,过了这个时间点,所有32位操作系统时间便会变为10000000 00000000 00000000 00000000,也就是数值位全部向前进1,导致符号位被置为1,其余31位全部为0。届时,将会出现时间回归的问题,很多软件就会运行异常。

而64位系统会不会受到这个影响呢?通过计算我们得到,292,277,026,596年12月04日15时30分08秒是64位系统可以到达的最大时间。

也许此时,有些既好奇又细心的朋友去做“试验”,但你们一定会发现iOS系统可以设置的最大时间只能是2038年1月1日,不能再往后设置。这是因为苹果事先已经考虑到了这个问题,为了避免此问题,苹果将最大时间期限定在了2038年1月1日 23时59分59秒。即便超过范围也不会出现大问题,而且在那时32位的系统已经基本淘汰了。但为何苹果没有考虑到1970年的时间回归问题呢?

目前苹果已经表示将在下一版本更新中修复该问题。如果黑客利用此Bug通过无线局域网发出范围性攻击,后果将不堪设想。

苹果手机突然变砖怎么办(为什么修改下时间苹果手机就)(3)

不过,值得一提的是,当iOS设备连接到公共网络时,iOS系统将会使用NTP服务对时区、时间进行校准。如果黑客发送恶意的NTP攻击,将iOS系统时间校准至UTC<0的时间,那么所有用户设备均会受到此bug影响,在重新启动设备后无法使用设备。

如果已经变砖,你该怎么办?

1.你可以拿着变砖的iPhone去找苹果售后求助。苹果官方称,受到该问题影响的任何用户都应该联系苹果技术支持以寻求帮助。但处理方式不尽相同,有的用户表示已经被整机更换。

2.“民间高手”解决方案。切断iOS设备电源,放置10分钟后再重新连接电源,设备之后会重置时间,问题便得以解决。不过,想要切断iOS设备电源意味着,需要拆机并拆出电池,当然这仅限于iPhone,你要知道iPad的是无法拆卸电池的。

3.电量充足情况下,等待数小时,当Unix时间戳的数值大于等于0,系统时间生效,便可正常开机。

,