曾经有一群痴迷Xbox游戏的青少年黑客因游戏爱上了编程和黑客技术。不知不觉中,他们合作撼动了微软重金打造的游戏帝国,侵入了世界顶级游戏开发商的内部网络,积聚了巨额财富,最终也把自己送进了监狱。
一、大众高尔夫的保险杠
从加拿大到美国特拉华只需要一天。多伦多大学高年级学生戴维·波科拉(David Pokora)戴着眼镜,留着长到肩膀的金色头发。他需要驾车向南,把给自己大众高尔夫R所买的保险杠拉回来。
美国卖家不愿将零件运往加拿大,所以波科拉让卖方吧保险杠寄给住在威明顿的好友贾斯汀·梅(Justin May)。这两个年轻人都是狂热的游戏玩家,都对Xbox的内部运行机制十分着迷。虽然他们多年来一直在聊天和合作,但彼此从未见过面。波克拉计划在周五开上8个小时的车,和梅一起享用一顿悠闲的晚餐,然后拖着金属材质的蓝色保险杠回到位于加拿大安大略米西索加的家。他的父亲主动提出和他一起前去,这样他们就可以轮流驾驶家里的捷达车了。
2014年3月28日,经过一个小时的车程,波克拉驾车经过穿过美加边界的路易斯顿-昆斯顿大桥,抵达尼亚加拉峡谷东部的边境检查站。一位美国海关官员扫描了他们的护照,并温和地询问了他们的行程。正当波克拉的父亲要启动捷达车时,显示器的当什么东西引起了海关检查人员的注意。
“……Xenon是什么?”那个检查官问,这个陌生的词让他的发音并不顺畅。
坐在副驾驶座上的戴维被这个问题吓了一跳。Xenon是他的一个在线网名,他经常使用他的网名——比如Xenomega和detox——玩Halo游戏,或者和其他程序员讨论他的Xbox黑客项目。事实上仅仅有少数游戏爱好者才会知道这个绰号,为什么海关检查人员检查护照时Xenon会突然冒了出来呢?
波科拉的困惑持续了几分钟,他才想起自己给自己注册的一人公司取名为Xenon Development Studios。该公司主要运营并处理自己经手的Xbox服务支付业务,波科拉通过自己的方法让订阅用户能够在100多个不同的游戏中解锁秘籍或跳过关卡。他向海关检查人员提到了该公司,并强调它是经过合法注册的。海关检查人员命令波克拉父子再等上一分钟。
当他和他的父亲等还在待进入纽约西部的许可时,戴维发现了空空如也的捷达背后出现一阵颤动。他回头看了一眼,看见两个穿着深色制服的人下车正在从两侧接近自己的车。 “一定是弄错了,”他的父亲嘟囔着。这时一个声音在窗外咆哮着让他们下车,波科拉这时意识到他走进了一个陷阱。
在毗邻的美国海关与边境保护局大楼(US Customs and Border Protection building)拘留区内,波科拉思考着自己沉迷于Xbox游戏时那些愚蠢冒险。十年前,当他开始破解这种游戏控制台的软件时,这似乎是一种无害的乐趣——这是他和他的朋友们与自己渴望加入的那些公司里的工程师们斗智斗勇的一种方式。但随着时间的推移,Xbox的黑客场景变得肮脏不堪,金钱、刺激和地位的诱惑侵蚀了Xbox的黑客道德规范。波科拉也逐渐陷入了一系列让年轻的自己都感到震惊的一系列计划中:渗透到游戏开发者的网络中,伪造Xbox原型,甚至怂恿对微软总部进行盗窃。
波科拉早就意识到,他的不当行为激怒了一些强大的利益集团,而不仅仅是在游戏业内部;在寻找Xbox所有产品的过程中,他和他的同事们也侵入了美国的军事网络。但是在刚刚被捕之后的短短几个小时内,波科拉并不知道自己的行为在法律层面上到底有多严重:在随后八个多月的时间里,他因密谋窃取多达10亿美元的知识产权而被起诉,联邦检察官打算让波科拉成为第一位因盗窃美国商业机密而被定罪的外国黑客。他的几位朋友和同事也最终卷入了这场麻烦的漩涡:一个人变成了告密者,一个变成逃犯,而另一个最后离开了人世。
隔着厚厚的透明玻璃板,波科拉可以看到他的父亲坐在隔间外的另一个房间里。他看着一个联邦探员弯下腰去通知波科拉的老爹,一个出生在波兰的建筑工人,他唯一的儿子在很长一段时间内都无法再回到加拿大。听到这些,波科拉的父亲用长满老茧的双手把头埋了起来。
看到父亲是如此痛苦,戴维感到沮丧,他希望自己能说些安慰的话。“没事的,爸爸,”他轻声说,示意要引起他的注意,“一切都会好起来的。”但他父亲隔着厚厚的玻璃根本听不见他在说些什么。
二、幼儿园级别的安全错误
在能读会写之前,戴维·波克科拉就已经表现出了在计算机方面的天分。家人拍摄的视频可以看出,1995年还没有三岁的波科拉玩一款名为Blake Stone: Aliens of Gold的游戏时非常流畅,手指在他父母的非品牌电脑键盘上翩翩起舞。这场比赛吸引波科拉的并不是它的刺激,而是看似神奇的控制;他想知道一个四四四方方的米黄色机器是如何将他的身体动作转化成屏幕动作的。这个孩子就是一个天生的程序员。
整个小学期间波科拉都在学习编程。他学会开发包括基本的Web浏览器等一些工具。但当他还是一个孩子的时候,他就完全迷恋上了编程,即便在和家人一起去波兰旅行的时候也是如此。他把笨重的笔记本电脑拖到了父母亲戚住的那个昏昏欲睡的小镇。没有别的事情可做,所以当小鸡在院子里四处游荡时,他自学了Visual Basic .NET编程语言。他住的房子没有网络,所以当他的程序出错时,波科拉也无法通过谷歌搜索引擎求助。但他不断地修改自己的代码,直到代码变得完美无缺,这是一个劳动密集型的过程,让他充满了意想不到的喜悦。当他再次回到加拿大的家中时,波科拉迷上了通过意愿控制机器的心理奖励。
当波科拉开始沉浸于编程时,他的家人买了第一台Xbox。凭借其能够连接到Xbox Live服务的多人游戏会话及其熟悉的Windows派生体系结构,这部机器使得波科拉的超级任天堂游戏机看起来像是一件老古董。每当波科拉不玩《Halo》游戏时,他就会在互联网上搜索有关他最喜欢的Xbox的技术信息。漫无目的的游弋让他接触到了一个黑客社区,那里正在重新定义Xbox可以做什么。
为了揭开它的秘密,这些黑客打开了控制台的外壳,窃听CPU、RAM、闪存芯片等主板的各种部件之间的数据。这导致了他们发现了密码学专家布鲁斯·施奈德(Bruce Schneier)所说的“许多幼儿园小朋友都能对付的安全错误”。例如,微软将机器启动代码的解密密钥留在了机器内存的可访问区域。2002年,一位名叫邦妮·黄(Bunnie Huang)的麻省理工学院(MIT)的研究生发现了迷药,这使得所有黑客都有可能绕过Xbox启动项,从而能够播放音乐、运行Linux或模拟Segas和任天堂的自制程序。他们首先要做的就是调整控制台的固件,要么将所谓的modchip焊接到主板上,要么从USB驱动器上加载一个被黑客破解的游戏保存文件。
一旦波科拉破解了自家的Xbox游戏机,他就开始对自己感兴趣的《Halo》游戏进行大量的修修补补。他经常出没于IRC频道和网络论坛,那里有最优秀的《Halo》程序员们,研究如何改变游戏的物理特性。很快他就写出了一个名为《Halo2》的公用程序,这款游戏允许玩家在游戏的任何场景中加入数字化的水,把游戏中的晴空万里变成暴雨如注。
2005年11月,第二代Xbox即Xbox360的发布结束了这场混战。360没有其前身那种明显的安全缺陷,这让年仅13岁的波科拉这样的程序员懊恼不已,因为他再也不能运行未经微软审核的代码了。对于受挫的黑客来说仍有一个潜在的解决方案,但它需要一个罕见的硬件:Xbox 360开发工具包。
开发工具包是微软注册开发人员用来编写Xbox程序的机器。在未经训练的人看来,它们看起来就像普通的游戏控制台,但是这些单元中包含了游戏开发过程中不可或缺的大部分软件,包括逐行调试的工具。拥有开发工具包的黑客可以像授权程序员一样操作Xbox软件。
微软只会向经过严格筛选的游戏开发公司分发开发工具包。但在出现互联网泡沫的2000年代中期,当一个破产的开发商匆忙抛售其资产时,偶尔会有一些套件可用。但在大多数情况下,公开市场上少有相关硬件。然而,有一个黑客在偶然情况下获得了一个开发工具包,他渴望从自己的好运中获利,这将帮助波科拉登上Xbox游戏机的舞台。
三、唯一重要的教育
2006年,38岁的罗迪·范·克利夫(Rowdy Van Cleave)在加州核桃溪(Walnut Creek)担任富国银行(Wells Fargo)技术经理时,得知附近一家回收站正在低价抛售Xbox DVD光驱。当他去查看这些产品时,设备的所有者提到他们经常收到多余的微软硬件。范·克利夫曾经是名为Team Avalaunch的Xbox黑客团队的一员,他自己在回收站的仓库里挑挑拣拣,找出一堆可能有转售价值的Xbox游戏设备。
在筛选了成堆的Xbox报废设备后,范·克利夫说服回收站让他把五块主板带回家。当他将其中一块连上Xbox 360并启动它时,屏幕显示出激活调试模式的选项。“天哪,”范·克利夫想,“这是一块该死的开发主板!”
范·克利夫意识到他无意中发现了Xbox游戏机里的“图坦卡蒙之墓”,于是他转身与回收站达成了一项协议,从而可以购买任何废弃的Xbox硬件。其中的一些他留给自己收藏,一些则分给看朋友们:他曾经送给另一个团队成员一个开发工具包作为结婚礼物。但是,范·克利夫一直在寻找他可以信赖的谨慎付费客户。
2008年,16岁的波科拉通过一个网友认识了范·克利夫(Van,并以自己高超的技术给他留下了深刻印象。除了为自己购买工具包之外,波科拉还成为了范·克利夫的推销人员,向其他《Halo》黑客兜售硬件,并从中赚取可观的利润;每个套件要价1000美元左右,尽管有时有人能够开出3000美元的高价。(范·克利夫否认波科拉是为了他推销工具包。)在买卖过程中,波科拉和几个客户成了朋友,其中就包括住在特拉华州威明顿的贾斯汀·梅。
图示:戴维·波科拉(David Pokora)
现在有了开发工具包,波科拉可以开始修改最近发布的游戏《Halo3》。波科拉习惯于深夜开始自己的黑客工作,以一种他称之为“超集中”的恍惚状态进行编码,直到凌晨3点或4点左右从疲惫中恢复过来。他上学经常迟到,但对自己每况愈下的成绩不屑一顾;他认为在他的开发工具包中编程是唯一重要的教育。
波科拉在Halomods.com这样的论坛上发布了他开发的《Halo3》作品片段,这也让他引起了加利福尼亚州惠蒂尔黑客安东尼·克拉克(Anthony Clark)的注意。18岁的克拉克曾有过反汇编Xbox游戏的经验——将他们的代码从机器语言反汇编成编程语言。他联系了波科拉,建议他们能够合作进行一些项目。
克拉克和波科拉亲密无间,几乎每天都在谈论编程、音乐、汽车和其他青少年感兴趣的事。波科拉向克拉克出售了一个开发工具包,这样他们就可以一起合作破解《Halo3》;反过来,克拉克也给了波科拉一些破解的小窍门。他们编写了一个《Halo3》工具,能够赋予游戏主角特殊技巧,比如说跳到云里或者能够发射奇怪的炮弹。他们在PartnerNet共同花费了无数个小时进行黑客创作,这是一个只有开发工具包用户才能使用的沙箱版Xbox Live。
当波科拉和克拉克在网上发布他们的软件时,他们开始从微软以及《Halo》系列游戏开发公司Bungie的工程师那里得到了肯定的消息。尽管知道Pokora和Clark正在使用不完善的开发工具包,但专业程序员只是叫好——他们告诉波科拉,这真酷,你在逆向工程方面做得很好。这些令人鼓舞的反馈使波科拉确信自己走上了一条非传统的道路,走上了游戏开发的职业道路——这或许是米西索加(Mississauga)一个建筑工人儿子唯一的道路,他不是教室里的学习明星。
但波科拉和克拉克偶尔也会更加疯狂和肆意地进行恶作剧。到2009年,这对搭档不仅使用了PartnerNet来运行他们修改版的《Halo3》,还破解了尚未发布的测试版软件。波科拉曾截下一张关于《Halo3》的地图,然后随意就和朋友们分享,结果这张截图在《Halo》的粉丝群中流传开来。当Pokora和克拉克下次再回到PartnerNet玩《Halo3》时,他们在游戏主屏幕上看到了Bungie工程师留给他们的消息:“赢家不要闯进PartnerNet。”
这两名黑客对这一警告一笑了之。他们认为他们的恶作剧都很有趣——他们到处偷测试版,但仅仅是因为他们太喜欢Xbox了,而不是为了丰富自己。他们没有理由停止与Xbox开发工程师一起玩猫和老鼠的游戏,他们希望有朝一日可以相互成为同事。