返回第六十三章 克里斯的最后一根头发  重生2007:我在硅谷做教父!首页

关灯 护眼     字体:

上一章 目录 下一页

    他已经连续熬了三个通宵了。

    “该死的……还是不行。”

    克里斯狠狠地薅了一把头发,看着手里那缕断发,眼神里充满了绝望。

    “我们尝试了所有的方法。USB协议模糊测试,基带命令注入,甚至是暴力破解密码锁……全都失败了。”

    “苹果把这个系统锁得太死了。沙盒机制就象是把每个应用都关进了单人牢房,哪怕我在Safari里找到了漏洞,也没法跳出这个牢房去访问其他文档。”

    旁边的几个黑客也是一脸死灰。他们都是顶尖的高手,但在乔布斯筑起的这道高墙面前,第一次感觉到了无力。

    “也许……我们需要换个思路。”

    一个声音在门口响起。

    顾清舟走了进来。他穿着整洁的衬衫,手里提着几杯热腾腾的咖啡,和这间屋子里的颓废气息格格不入。

    “老板,你来了。”克里斯有气无力地抬了下头,“抱歉,我们可能……搞不定了。”

    “别急着认输。”

    顾清舟把咖啡放在桌上,拉过一把椅子坐下。

    他看着屏幕上那些密密麻麻的反汇编代码,那是ARM架构的指令集,普通人看一眼都会头晕,但在他眼里,那是通往自由的地图。

    “克里斯,你一直在尝试攻击内核,攻击基带。这就象是想用铁头去撞开城门。”

    顾清舟拿起一支马克笔,在白板上那个复杂的架构图上圈出了一个不起眼的角落。

    “为什么不试试……给守门人送一杯毒酒呢?”

    “毒酒?”克里斯愣了一下。

    “Safari流览器是用来喧染网页的。网页里有什么?有文本,有视频,还有……图片。”

    顾清舟在白板上写下了一个词: libTIFF 。

    “这是一个开源的图片处理库。苹果为了省事,直接把它拿来用了。但我记得,这个库的老版本里,有一个很有趣的特性。”

    “当它在处理某种格式畸形的TIFF图片时,如果图片的头部信息里声明的大小,和实际数据的大小不一致……”

    顾清舟顿了顿,眼神变得锐利。

    “它会发生什么?”

    克里斯的瞳孔猛地收缩。

    作为黑客,他对这种底层的内存逻辑太熟悉了。

    “缓冲区溢出!”

    克里斯猛地站起来,碰翻了手边的红牛罐子。

    “如果图片声明的大小比实际小,内存分配就会不足。然后,当库函数试图把图片数据写入内存时,多出来的数据就会……溢出!”

    “没错。”顾清舟点了点头。

    “溢出的数据会复盖掉后面的内存空间。如果我们在那张图片的数据里,藏一段精心构造的机器码……”

    “我们就能劫持程序的执行流!”克里斯兴奋得浑身发抖,“我们可以让Safari跳过沙盒的检查,直接执行我们的代码!”

    “这就叫——给守门人灌毒酒。”

    顾清舟笑了。

    “只要用户用iPhone访问一个包含这张‘毒图片’的网页,Safari就会崩溃。但在崩溃的那一瞬间,我们的代码就已经注入进去了。”

    “在那一瞬间,我们将获得系统的最高权限——Root。”

    仿佛一道闪电划破了黑暗。

    整个地下室瞬间沸腾了。

    “快!查文档!libTIFF的源码在哪里?”

    “我来构造图片头!偏移量怎么算?”

    “准备好Shellcode!我要写一个最精简的挂载脚本!”

    刚才还死气沉沉的黑客们,此刻象打了鸡血一样。键盘的敲击声密集得象是一场暴雨。

    顾清舟没有说话,只是静静地坐在角落里喝咖啡。

    他看着克里斯那双在键盘上飞舞的手,看着屏幕上不断滚动的十六进位代码。

    那是人类智慧与机器规则的博弈。

    也是一场关于自由的战争。

    时间一分一秒地过去。

    凌晨四点。

    克里斯的手指终于停了下来。

    “好了。”

    他的声音沙哑,但透着一种压抑不住的狂喜。

    “毒酒酿好了。”

    他指了指屏幕上那个看起来普普通通的网页链接。

    “只要点开这个链接,Safari就会加载那张特制的TIFF图片。然后……”

    克里斯拿起旁边那台用于测试的iPhone,深吸了一口气。

    所有人都围了过来,屏住呼吸。

    手指按下。

    加载中……

  
本章未完,请点击下一页继续阅读>>

『加入书签,方便阅读』

上一章 目录 下一页