克里斯·彼得罗夫正趴在键盘上,头髮乱得像个鸡窝,眼窝深陷,黑眼圈重得像是刚被人打了一拳。
他已经连续熬了三个通宵了。
“该死的……还是不行。”
克里斯狠狠地薅了一把头髮,看著手里那缕断髮,眼神里充满了绝望。
“我们尝试了所有的方法。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的普通人,都能在五分钟內,享受到这种打破禁忌的快感。”
“去吧。”
“让那个苹果,烂在肚子里。”