克里斯·彼得罗夫正趴在键盘上,头髮乱得像个鸡窝,眼窝深陷,黑眼圈重得像是刚被人打了一拳。
    他已经连续熬了三个通宵了。
    “该死的……还是不行。”
    克里斯狠狠地薅了一把头髮,看著手里那缕断髮,眼神里充满了绝望。
    “我们尝试了所有的方法。usb协议模糊测试,基带命令注入,甚至是暴力破解密码锁……全都失败了。”
    “苹果把这个系统锁得太死了。沙盒机制就像是把每个应用都关进了单人牢房,哪怕我在safari里找到了漏洞,也没法跳出这个牢房去访问其他文件。”
    旁边的几个黑客也是一脸死灰。他们都是顶尖的高手,但在贾伯斯筑起的这道高墙面前,第一次感觉到了无力。
    “也许……我们需要换个思路。”
    一个声音在门口响起。
    顾清舟走了进来。他穿著整洁的衬衫,手里提著几杯热腾腾的咖啡,和这间屋子里的颓废气息格格不入。
    “老板,你来了。”克里斯有气无力地抬了下头,“抱歉,我们可能……搞不定了。”
    “別急著认输。”
    顾清舟把咖啡放在桌上,拉过一把椅子坐下。
    他看著屏幕上那些密密麻麻的反汇编代码,那是arm架构的指令集,普通人看一眼都会头晕,但在他眼里,那是通往自由的地图。
    “克里斯,你一直在尝试攻击內核,攻击基带。这就像是想用铁头去撞开城门。”
    顾清舟拿起一支马克笔,在白板上那个复杂的架构图上圈出了一个不起眼的角落。
    “为什么不试试……给守门人送一杯毒酒呢?”
    “毒酒?”克里斯愣了一下。
    更新不易,记得分享101看书网
    “safari瀏览器是用来渲染网页的。网页里有什么?有文字,有视频,还有……图片。”
    顾清舟在白板上写下了一个词: libtiff 。
    “这是一个开源的图片处理库。苹果为了省事,直接把它拿来用了。但我记得,这个库的老版本里,有一个很有趣的特性。”
    “当它在处理某种格式畸形的tiff图片时,如果图片的头部信息里声明的大小,和实际数据的大小不一致……”
    顾清舟顿了顿,眼神变得锐利。
    “它会发生什么?”
    克里斯的瞳孔猛地收缩。
    作为黑客,他对这种底层的內存逻辑太熟悉了。
    “缓衝区溢出!”
    克里斯猛地站起来,碰翻了手边的红牛罐子。
    “如果图片声明的大小比实际小,內存分配就会不足。然后,当库函数试图把图片数据写入內存时,多出来的数据就会……溢出!”
    “没错。”顾清舟点了点头。
    “溢出的数据会覆盖掉后面的內存空间。如果我们在那张图片的数据里,藏一段精心构造的机器码……”
    “我们就能劫持程序的执行流!”克里斯兴奋得浑身发抖,“我们可以让safari跳过沙盒的检查,直接执行我们的代码!”
    “这就叫——给守门人灌毒酒。”
    顾清舟笑了。
    “只要用户用iphone访问一个包含这张『毒图片』的网页,safari就会崩溃。但在崩溃的那一瞬间,我们的代码就已经注入进去了。”
    “在那一瞬间,我们將获得系统的最高权限——root。”
    仿佛一道闪电划破了黑暗。
    整个地下室瞬间沸腾了。
    “快!查文档!libtiff的源码在哪里?”
    “我来构造图片头!偏移量怎么算?”
    “准备好shellcode!我要写一个最精简的掛载脚本!”
    刚才还死气沉沉的黑客们,此刻像打了鸡血一样。键盘的敲击声密集得像是一场暴雨。
    顾清舟没有说话,只是静静地坐在角落里喝咖啡。
    他看著克里斯那双在键盘上飞舞的手,看著屏幕上不断滚动的十六进位代码。
    那是人类智慧与机器规则的博弈。
    也是一场关於自由的战爭。
    时间一分一秒地过去。
    凌晨四点。
    克里斯的手指终於停了下来。
    “好了。”
    他的声音沙哑,但透著一种压抑不住的狂喜。
    “毒酒酿好了。”
    他指了指屏幕上那个看起来普普通通的网页连结。
    “只要点开这个连结,safari就会加载那张特製的tiff图片。然后……”
    克里斯拿起旁边那台用於测试的iphone,深吸了一口气。
    所有人都围了过来,屏住呼吸。
    手指按下。
    加载中……
    safari的进度条走了一半,突然卡住了。
    屏幕闪烁了一下,像是花屏了一样。
    “失败了?”有人小声嘀咕。
    “等等。”顾清舟盯著屏幕。
    突然。
    原本白色的网页背景消失了。取而代之的,是一行黑底绿字的命令行代码。
    那不是safari的界面。
    那是终端。
    紧接著,最下面跳出了一个简单的符號:
    在linux/unix系统里,这个符號只有一个含义——超级管理员。
    “root!”
    “我们拿到root了!”
    “我的天!真的进去了!”
    欢呼声瞬间炸裂,差点掀翻了地下室的屋顶。几个黑客抱在一起,有人甚至激动得哭了。
    克里斯瘫坐在椅子上,看著那个闪烁的光標,手还在微微发抖。
    他做到了。
    他真的在那个號称“铜墙铁壁”的苹果花园里,炸开了一个缺口。
    “老顾……”
    克里斯转头看向顾清舟,眼神里满是敬畏,“你是不是早就知道?我是说……那个库的问题。”
    顾清舟放下空了的咖啡杯,站起身。
    “我知道的不仅是这个。”
    他走到那台已经被“越狱”成功的iphone前,手指轻轻敲了敲屏幕。
    “既然门已经开了,那就把我们的东西搬进去吧。”
    “把那个『地下商店』装进去。”
    “从今天起,这台手机,不再姓贾伯斯。”
    “它姓——自由。”
    克里斯点了点头,重新坐直了身体。虽然已经三天没睡,但他现在的精神比任何时候都要好。
    “明白。我会把halo的原生安装包作为第一个推荐应用放上去。”
    “不仅如此。”
    顾清舟走到门口,回头看了一眼这群疯狂的天才。
    “我要你们把这个越狱工具,做得像傻瓜一样简单。一键操作,无需电脑。”
    “我要让每一个拿著iphone的普通人,都能在五分钟內,享受到这种打破禁忌的快感。”
    “去吧。”
    “让那个苹果,烂在肚子里。”