苹果iOS设备设置到1970会彻底变砖 iPhone变砖原理及解救方法

所属分类: 手机学院 / 苹果手机 阅读数: 1676
收藏 0 赞 0 分享

这个操作是把你的苹果手机的日期设定为1970年1月1日,设置完成后关机重启,这个时候你要是意外发现你的iPhone变成一块“砖头”不要惊讶,据说用这种方法变砖之后进DFU模式都无法刷机重启。

外媒称凡是运行iOS 8以上系统的64位设备都有可能遇到这一问题,如果你的iphone是32位设备,那么先小小的恭喜你下,目前你还是安全的。看到这里的童鞋要注意了,如果你身边有在用苹果手机,或者将要用苹果手机的用户,提醒他们注意安全,以免带来不必要的麻烦。

苹果iOS设备日期设置到1970年变砖?原理及解救方法来了

如果你把系统时间设置到1970年1月1日,那么你的iPhone便会彻底变砖。这个漏洞会影响到所有搭载iOS 8和iOS 9系统的64位iPhone,以及使用A7、A8、A8X和A9X处理器的iPad。

苹果iOS设备日期设置到1970年变砖?原理及解救方法来了

iPhone时不时会出现一些奇奇怪怪的小毛病,比如会在收到特定短信或访问特定网站时重启。而在最近,又有人发现了iPhone的另一个“弱点”,而它则更加致命。如果你把系统时间设置到1970年1月1日,那么你的iPhone便会彻底变砖。

如果你没有特别强烈的自虐倾向,请不要在自己的iPhone上进行尝试,因为这会让你的手机彻底无法使用,当中的数据也无法恢复。

根据Reddit用户的分析,时区可能是引起这个bug的原因——如果你把日期设置得尽可能得久远,时钟值就会更改至0以下,从而引发这个严重问题。

苹果目前尚未对此事发表任何评论。

UNIX时间戳

在确认这件事情的真假前,你需要了解的一个知识是Unix时间戳。

iOS系统时间使用Unix时间戳(Unix epoch)表示(time_t数据类型)。在系统中,使用系统位数个二进制位储存时间。

Unix时间戳规定,UTC时区的1970年1月1日0点0时0秒的值为0,以秒为单位,即每过一秒,二进制数字加1。

如果您想详细了解Unix时间戳,请移步到 Unix Time。

不能往前调,那我把时间往后调

有些好奇的朋友拿出了自己手机,心想:既然我不能往回调,那我要是把时间使劲往后调能怎样?

细心的朋友发现了一个问题,iOS系统可以设置的最大时间是2038年1月1日,并不能再往后设置。苹果一定考虑到了这个问题,为什么这么说呢?

在32位系统中,time_t是长度为32位的,有符号整数(signed int)类型。首个二进制位是符号位,用来储存正负。正数则为1970/1/1以后的时间,负数反之;其余的31位用来记数。当时间到达2038年1月19日3时14分08秒时,数值位全部向前进1,导致符号位被置1,其余31位为0。介时,将出现『时间回归』的情况,系统时间变为1901年12月13日20时45分52秒,系统将会出现错误。

苹果iOS设备日期设置到1970年变砖?原理及解救方法来了

▲From Wikipedia "Year 2038 Problem"

所以Apple为了避免这种问题导致的错误发生,将最大时间期限定在了2038年1月1日23时59分59秒。这样即使超出这个范围,在18天内也不会有太大问题,况且32位设备到那个时候基本都已经淘汰了。

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

64位处理器的『时间回归』问题

有了刚才的知识储备,现在我们回到正题,开始探讨搭载64位处理器设备的时间bug。

我们说到了以UTC时区的1970年1月1日0点0时0秒为界限,数值为0,时间正常流逝为正数,反之为负数。不过各位需要留意的是,时间受到时区的影响。

假设一种情况,我原来是北京时区,假设将时间设置到了1970年1月1日0点0时0秒,那么我将这个时间转换为UTC时间,公式:北京时间= GMT+8 = UTC+8,那么UTC时间则为1969年12月31日16时0分0秒。这样就会出现时间负值,即时间回归bug触发,系统启动卡在Kernel阶段,时间错误,无法继续进行启动。

触发bug条件与表现:

满足以下条件,『时间回归』bug被触发:

系统版本:iOS8.0 ~ iOS9.3 beta 3

硬件设备:搭载64位处理器的设备(即处理器为A7~A9X的设备)

进入『设置』-『通用』-『时间与日期』,关闭『自动设置』,并将时间修改为1970年1月1日,分秒任意。

修改时间后,需要重启设备。

Bug触发表现:iOS设备启动时,卡在苹果Logo,无法继续启动。

Bug危害分析

黑客可以利用此bug通过无线局域网发出范围性攻击。

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

解决方法:

针对所有64位处理器的iOS设备

拆机并拆出电池,放置10分钟后重新安装。

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

针对已越狱设备的防范

添加Cydia源http://repo.ziph0n.com/

并安BrickingDate插件

注意:此插件只可以防止人为修改时间,并无法防止代码恶意篡改时间。

以上就是对苹果iOS设备设置到1970会彻底变砖 iPhone变砖原理及解救方法全部内容的介绍,更多内容请继续关注脚本之家!

更多精彩内容其他人还在看

iphone5不能发短信 解决iPhone5无法发短信问题

不少iphone5用户不能发短信这是怎么回事呢,很愚昧的一个问题,如何解决无法发短信问题,希望本教程可以帮助到大家,感兴趣的你可千万不要错过了哈
收藏 0 赞 0 分享

iphone5拆机教程 图文介绍iphone5怎么拆机

有不少手机发烧友首购iPhone5就为大家演示iPhoen5拆机全过程,听说iPhone5拆机相比之前的iPhone4S或者更早版本拆机更简单,接下来将详细介绍一下iPhone5拆机注意事项以及拆机图片教程,感兴趣的朋友可以了解下,或许本文对你有所帮助
收藏 0 赞 0 分享

iphone4怎么用siri 图文介绍iPhone4玩转Siri全攻略

Siri 可以让iPhone4S变身为一个“会说话的智能手机”,你现在可以让它帮你拨打电话、读短信、查询天气以及设置会议安排等等,接下来小编将带您体验一下iphone4怎么使用siri,感兴趣的你可不要错过了哈
收藏 0 赞 0 分享

iPhone耳机线由白色变成了黄色(私家解决方法)

白色iPhone耳机使用久了之后就会发黄,直接影响美观,真是非常令人苦恼的事情,那么是否有办法让耳机变得白洁如新呢?接下来将介绍一种私家方法,两步即可搞定,热爱时尚的你可不要错过了哈
收藏 0 赞 0 分享

iPhone4S蜂窝天线更换DIY图文教程

iPhone 4S蜂窝网络信号偶尔会出现问题信号时强时弱等情况,以上情况表明适合更换iphone或蜂窝天线了,接下来介绍一个更换iPhone 4S蜂窝天线的教程,热爱折腾的你可不要错过了哈
收藏 0 赞 0 分享

iPhone的Cydia闪退最简单的解决方法

今天越狱iphone后在用Loader安装Cydia的时候,突然遇到意外原因造成了Cydia安装错误,点击Cydia图标后闪退。网上找了很多方法都很复杂,什么下载deb包放到某个目录下,然后重启自动安装。我弄了好几次也没成功,最终还是我发现了一个最简单的方法
收藏 0 赞 0 分享

查找iPhone手机的mac地址的方法?

您在设置无线路由器的时候,为了安全考虑,可能需要进行相应设备的mac地址绑定
收藏 0 赞 0 分享

iPhone 4S优化指南与日常使用技巧

本文将从省电优化、存储空间优化、日常维护等三个方面介绍安装iOS 6系统的iPhone 4S手机的优化方案,本文介绍的iPhone 4S优化方法同样适合所有安装iOS6的iPhone手机,例如iPhone 3GS、iPhone 4、iPhone 5和iPad,用户的iPhone、
收藏 0 赞 0 分享

iPhone 3GS优化指南

iPhone 3GS是2009年出的手机,2012年还在卖,256m内存,600mhz单核处理器,当时7000人民币,系统经历了四年四代的操作系统,iOS3-iOS6,操作系统容量从200多MB到700多MB
收藏 0 赞 0 分享

iphone隐藏系统图标 图文教你隐藏iPhone系统应用图标

iphone如何隐藏系统图标对于小白们还是很陌生的,本文主要为大家介绍的是iPhone如何使用代码隐藏系统应用图标,感兴趣的你可不要错过了哈,希望本文提供知识可以帮助到你
收藏 0 赞 0 分享
查看更多