这个时候就会在时间戳0的基础上进行1操作。
这是为了在系统时间戳表达的时间上减去相差的秒数来查询之前的内容
话说,,,.. 版。】
不过在0的基础上1就比较悲催了。
得到的结果并不是1。
01≠1?
听起来很匪夷所思,但实际上在程序里面涉及到这种现象比比皆是。
这与二进制表达负数的方式有关系。
因为 unix 采用了二进制的方式来存储。
二进制数据在执行在执行00……01
实际进行的的运算是:100……01ps:省略号中有61个0
得到的结果是11……1ps:省略号中有61个1
这样的话01≠1
得到的数实际是2的64方1。
类似于这种的例子在计算机的世界里有很多。
比如说两个正数相加结果为0这种情况。
林灰记得以前玩acm的时候经常遇到那种比较蛋疼的编程题。
表面上要求两个数相加。
听起来要求很简单。
但跑程序测试的时候遇到的测试数据都是那种超大数。
但实际操作的时候必须要考虑数据溢出的情况。
总而言之,计算机世界。
一个奇妙的世界。
在unix里当时间戳为0的时候进行求差也会遇到类似的这种情况。
当苹果手机里时间戳的时间设置成0的时候重启手机。
手机的查询机制在通过时间求差查询的时返回的时间非但不是一个时间戳0之前的时间。
反而会返回一个极大的时间。
功能的时间是无穷大,而系统的时间却是0。
而现在这种情况,查询之前的时间会出错。
出错的后果很直接整个系统直接罢工。
即手机直接即变砖。
当然,虽然这个漏洞存在。
但脑回路正常的用户在安全的网络环境下想触发这个漏洞很麻烦。
如果用户想触发这个漏洞的话。
首先用户需要打开“通用”设置下的“日期与时间”。
在这里用户必须先关闭“自动设置时间”的功能才会出现手动设置时间的选项。
紧接着用户要做的时间事情是滑动选择的时间。
因为没有年份的选项,用户想要改变唯一的办法就是滑动日期。
经过很麻烦的操作将才可以将时间设置为1970年1月1日。
而仅仅是这样还不会触发这个漏洞。
在时间设置为 1970 年 1 月 1 日之后。
用户要接着进行下一步操作:关机重启。
至此iphone变砖的步骤才大功告成。
按照这一番操作下来的话手机将一直卡在苹果手机开机时logo刚刚出来的界面。
听起来这个漏洞似乎很难触发啊!
这样一个很难触发的漏洞有什么价值吗?
当然有价值。
凡事就怕有心人故意利用。
漏洞这种东西也一样。
对于普通用户来说这个漏洞不算什么。
但对于有心搞事情的技术人员来说通过这么一个蠢萌的漏洞可以做很多事情。
本站域名已经更换为www.adouyinxs.com 。请牢记。