倒计时还在走。35:00,34:59,34:58。
核心机房里的空气越来越热。那些服务器像无数个巨大的取暖器,把整个空间变成了一个烤箱。沈谛安的额头上全是汗,那些汗水顺着脸颊滑下来,流进眼睛里,蛰得生疼。他没有擦。只是盯着那个倒计时,盯着那些跳动的数字。红色的数字映在他瞳孔里,一闪一闪的,像是某种不可逆转的命运。
他能感觉到自己的心跳,沉重地撞击着胸腔,每一次都像有人在里面捶门。但他脸上没有表情。他只是站着,看着,等着。
他的衣服已经湿透了。那件深色的技术员外套被他扔在一边,只穿着那件洗得发软的灰色衬衫。衬衫贴在身上,又凉又黏,很不舒服。但他没有动。只是站着,像一尊雕塑。
江弈的手指在键盘上敲击,速度越来越快。哒哒哒,哒哒哒,那声音像机关枪扫射,在空旷的机房里回荡。那些代码在屏幕上滚动,一行一行,像是瀑布倾泻而下。他的眼睛布满血丝,那些血丝像一张红色的网,紧紧地拽住疲惫的眼球。他的嘴唇干裂着,有几道细细的血口子,其中一道正往外渗着极细的血珠,他舔了一下,尝到铁锈的味道。但他没有停。他只是敲着,敲着,像一台永不疲倦的机器。
他的脸色很差。那种苍白从第一次使用“星尘”后就一直跟着他,像一张摘不下来的面具。但在这热浪滚滚的机房里,那种苍白显得更刺眼了。颧骨突出,眼窝深陷,整个人看起来瘦了一圈。那件灰色连帽衫穿在身上,空荡荡的,领口松垮地贴着锁骨。
但他的手指依然沉稳有力。每一根手指落下的时候,都精准地敲在应该敲的键上。那些代码一行一行地生成,像他写过无数次的那些代码一样。他闭着眼睛也能写——他甚至能感觉到键盘上每一个按键的纹路,那些字母被磨得发白,F和J键上的凸起已经被磨平了。这台电脑跟了他五年,从他还是一个白帽子黑客的时候就跟着他。它见过他成功,见过他失败,见过他深夜崩溃时把脸埋在键盘上。现在,它和他一起站在这里。
陈泊远坐在控制台前,看着他们。他的脸上带着那种淡淡的笑容,嘴角微微上扬,露出一点牙齿。那笑容很得体,很优雅,和在演讲时、在聚会上、在那些照片里的一模一样。
他像是一个观众在看一场好戏。
“还有三十四分钟。”他说。声音很平静,平静得像是在报时。“你们加油。”
沈谛安没有说话。他只是站在那里,看着江弈的背影。那件皱巴巴的连帽衫下,肩膀微微下塌,像是扛着什么很重的东西。他的手指在键盘上飞舞,动作很快,但沈谛安能看见他的颤抖。那种颤抖从指尖传来,沿着手臂向上,一直传到肩膀。他的肩膀在抖,很细微,但存在。
他在拼命。
沈谛安想说什么,但就在这时,耳机里传来了一阵刺耳的杂音。
“沈哥!沈哥!”是简晞的声音,又尖又急,像是有什么大事发生。那声音里有一种他从未听过的东西,是兴奋?是恐惧?还是别的什么?她的嗓子明显已经喊哑了,每一个字都带着破音。
沈谛安的心跳漏了一拍。那一拍很长,长得他几乎忘了呼吸。
“在!”他喊。
“成功了!免疫算法部署成功了!”
沈谛安愣住了。
三百公里外,B组的办公室里,简晞和宋知理正盯着屏幕,一动不动。
那屏幕上的画面,她们一辈子都不会忘记。
全球各地的“净土系统”节点,原本只是一些静止的红点,在地图上安静地躺着,像睡着了一样。但在这一刻,那些红点突然活了。它们开始闪烁,开始跳动,开始以一种不可思议的速度向外喷射数据。
那些数据流在屏幕上形成一道道光芒,红的,蓝的,绿的,像是无数条彩色的河流,在世界地图上奔涌。它们从亚洲流向欧洲,从欧洲流向美洲,从美洲流向非洲,覆盖了整个世界。那些光芒交织在一起,形成一张巨大的网,一张看不见但真实存在的网。
简晞盯着屏幕,眼睛瞪得很大。那些数据流在她的瞳孔里跳跃,像是活的一样。她的手在发抖,那发抖从指尖传来,沿着手臂向上,一直传到肩膀。她咬紧牙关,想压住那种颤抖,但它还在。她甚至能听见自己的牙齿在轻轻磕碰,咯吱咯吱的,像老鼠在啃木头。
“部署成功。”宋知理的声音很平静,但她的手也在发抖。她把每一个字都咬得很清楚,像是在确认什么至关重要的事情。“节点一,反馈正常。节点二,反馈正常。节点三——”
她停住了。
简晞转过头,看着她。宋知理的脸在屏幕的光里显得很苍白,那层因熬夜而变得灰败的皮肤被照得发青。但她的眼睛很亮,那种光,是她们这些天来第一次看见的光。那光不是兴奋,不是喜悦,而是一种更深的东西——是一个人终于看见自己相信的东西被证明时,那种近乎虔诚的光。
“简晞。”宋知理说。“你看。”
简晞顺着她的手指看去。
屏幕上,那些诱饵数据包正在生成。它们不是几个,不是几百个,而是——无数个。密密麻麻的,像是宇宙中的星辰,像是大海里的水滴,像是秋天的落叶,数也数不清。它们从每一个节点涌出,涌向每一条通道,涌向每一个可能的角落。
那些数据包和真实的交易数据包一模一样。同样的格式,同样的特征,同样的触发条件。但它们是假的。它们指向的不是真实的账户,而是那些测试用的虚拟账户。那些账户里没有钱,没有交易,什么都没有。只有一堆代码,一堆诱饵,一堆精心设计的陷阱。
“这是——”简晞的声音在发抖。那发抖不是恐惧,是震惊,是敬畏。她觉得自己像是在看一座大教堂的穹顶,高得让人眩晕。
“这是‘欺骗防御’。”宋知理说。她的声音里也有一种她从未有过的东西,那是惊叹,是一个人看见真正的杰作时才会有的惊叹。“K的算法。它不是在和病毒对抗。它是在制造一个世界,一个病毒永远找不到真实目标的世界。”
真正的病毒程序,陷入了海量虚假目标的汪洋大海中。它要在那些无数个假的里面,找到真的那几个。那就像在大海里找一滴水,在沙漠里找一粒沙,在星空里找一颗星。
“它需要多久才能找到真实目标?”简晞问。
宋知理盯着屏幕,计算着。那些数据在她眼里不是数据,是活的。她能看见它们背后的逻辑,它们之间的联系,它们可能的路径。她的脑海里在快速运转,像一台精密的机器。她甚至能感觉到自己的大脑在发热,太阳穴突突地跳。
“以它的处理能力——”她顿了顿。“至少七十二小时。也许更久。”
简晞愣住了。
七十二小时。三天。足够他们做任何事了。足够他们抓住陈泊远,足够他们阻止自毁,足够他们把那些证据保存下来。足够他们让那些死去的人,有一个交代。
她的手在发抖。那不是恐惧,是兴奋,是终于做到的释放。那种释放从心里涌出来,涌到喉咙,涌到眼眶。她的眼睛湿了。她用力眨了眨眼,想忍住,但眼泪还是流了下来。它们滚烫的,从眼角滑下来,流进嘴角,咸的。
“快!告诉沈哥!”她喊。
沈谛安听着耳机里的声音,一动不动。
简晞的声音又尖又急,每一个字都像是从她心里蹦出来的。她说了很多,说免疫算法,说诱饵数据包,说七十二小时的窗口。那些话像潮水一样涌进沈谛安的耳朵里,但他只记住了几个字——
成功了。
成功了。
他的脑海里一片空白。
他站在那里,看着那个倒计时。30:00,29:59,29:58。那些数字还在跳,红色的一闪一闪的,但在他眼里,它们已经不重要了。那不再是一个死神的倒计时,只是一个数字而已。
金融防线已建立。病毒被拖住了。他们有时间了。
他感觉自己的腿有点软。那种从骨头缝里渗出来的疲惫,突然之间涌了上来。他想坐下,但他没有。他只是站着,站着,让那些话在他脑子里回响。
成功了。
他转过头,看着陈泊远。
陈泊远还在笑。但那笑容已经变了。不再是那种从容的、掌控一切的笑。而是另一种笑——疑惑的,不解的,像是有什么事情超出了他的预料。他的嘴角还上扬着,但眼睛里的光变了。那光变得浑浊,变得不确定,像是一面镜子出现了裂纹。
“怎么了?”他问。声音里第一次有了一种不确定。那不确定像一根针,扎破了他精心维持的气球。
沈谛安没有说话。他只是看着他。
耳机里,简晞还在喊:“沈哥!沈哥!你听见了吗?”
沈谛安按下通话键。他的手指按下去的时候,很稳,没有抖。
“听见了。”他说。他的声音很平静,平静得像是在陈述一个事实。“干得好。”
他抬起头,看着那些特警队员。那些人的眼睛在昏暗的光线里闪闪发亮,像是黑暗中的野兽。他们在等命令。等那个“行动”两个字。他们的手指搭在扳机上,握了很久,指节发白,但没有一个人放松。
“放弃对病毒程序的纠结。”他说。“全力阻止数据自毁,活捉陈泊远!”
他的声音在空旷的机房里回荡,像是一道命令,又像是一声号角。
“金融防线已建立。我们的任务是——抓住罪魁祸首!”
特警队员们动了。
他们端着枪,朝控制台冲去。脚步声震得地板都在颤,像有千军万马在奔腾。那些脚步声不是混乱的,是有节奏的,是训练了无数次之后刻进骨头里的默契。
陈泊远的脸变了。
“不可能!”陈泊远喊。
他的声音不再平静,不再从容。那声音里有震惊,有愤怒,还有一种说不清的东西——是恐惧吗?他站起来,后退了一步,撞在控制台上。他的西装乱了,领带歪了,头发散落下来。那张总是得体的脸,第一次出现了裂痕。那裂痕从眉间开始,向下延伸到鼻梁,像是有什么东西在里面崩塌。
“你们不可能做到的!”他喊。“那些合约是无法破解的!我用了三年时间设计它们!没有人能破解!”
沈谛安看着他。
“不是破解。”他说。“是诱饵。”
陈泊远愣住了。
“诱饵?”
“你的病毒找不到真实目标。”沈谛安说。他的声音很平静,平静得像是在解释什么很简单的东西。“它在无数个假的里面打转。等它找到真的,已经来不及了。”
陈泊远盯着他,一动不动。那双眼睛里,有什么东西在崩塌。那是信仰?是自信?还是别的什么?那东西像一座大厦,在一点点倾斜,一点点裂开,最后轰然倒塌。他甚至能听见那崩塌的声音——不是真的声音,是心里的声音,像玻璃碎了一地。
“不可能。”他喃喃地说。他的声音变得很低,低得像是在自言自语。“不可能。我的算法是最优的。我计算过所有的可能。不可能有人能——”
他停住了。
他想起了什么。
“K。”他说。
那一个字,从他嘴里说出来,带着一种奇怪的味道。是恨?是怕?还是别的什么?那个字母在他舌尖上停留了一瞬,像是什么滚烫的东西。
“是他。”他说。“是他做的。只有他能做到。”
沈谛安没有说话。
陈泊远看着他,那双眼睛里有什么东西在闪烁。那是一个人意识到自己输了的时候,才会有的光。那光不是愤怒,不是绝望,而是一种奇怪的平静——像是一个棋手在终局时终于看懂了对手的棋路,虽然已经晚了。
“告诉K。”他说。“告诉他,他赢了。”
沈谛安没有说话。他只是转过身,看着江弈。
“能阻止自毁吗?”
江弈盯着屏幕,手指在键盘上敲击。那些代码在他眼前滚动,一行一行,像瀑布。他的眼睛在那些代码上移动,像扫描仪一样,不放过任何一个细节。他的嘴唇在微微动着,无声地念着那些代码,像在念某种古老的咒语。
“我试试。”他说。
江弈的脑海里,那些代码在跳舞。
他从小就有这种能力——看见代码背后的逻辑,看见那些隐藏的联系,看见别人看不见的漏洞。那些代码在他眼里不是符号,是活的。它们有生命,有呼吸,有脉搏。他能感觉到它们在想什么,它们要做什么,它们害怕什么。
小时候他用这个能力入侵各种系统,只是为了好玩。那些系统像一个个迷宫,他要找到出口,找到宝藏,找到那些藏在深处的秘密。他觉得那是世界上最好玩的游戏。他记得自己十四岁那年,第一次黑进一个游戏公司的服务器,在里面逛了一圈,什么都没拿,只是看了看那些代码。它们那么美,那么整齐,像一个精心搭建的城堡。他在里面待了整整一夜,天亮的时候,他的眼睛酸得睁不开,但他在笑。
后来他用这个能力追踪毒品网络,为了给林远报仇。那些系统不再好玩了。它们是敌人,是凶手,是那些害死林远的人的工具。他要摧毁它们,要找到它们的主人,要让它们付出代价。每一次攻破一个系统,他不再觉得兴奋,只觉得累。像跑完了一场没有尽头的马拉松。
现在他用这个能力阻止一场灾难。
他的手指在键盘上敲击,速度越来越快。那些代码在屏幕上滚动,一行一行,像是在对他说话。它们告诉他哪里是漏洞,哪里是陷阱,哪里是生路。
“自毁程序的触发逻辑在这里。”他喃喃自语。他的声音很轻,轻得像是在和一个看不见的人说话。“物理覆写,强磁场,三遍。触发条件是——只要检测到外部攻击,或者手动激活。”
他的眼睛盯着那行代码,一动不动。那行代码像一条蛇,蜷缩在那里,等着咬人。他能看见它的鳞片,它的毒牙,它蜷缩的身体里积蓄的力量。
“只要——只要我能让它以为没有外部攻击——”
他的手指动了。那些代码被他修改,被他重写,被他注入新的逻辑。他像是一个外科医生,在给一个病人做手术。每一个动作都要精准,每一步都不能错。错了,病人就死了。他记得自己第一次做这种“手术”的时候,手抖得几乎按不住键盘。现在他的手也在抖,但他知道该怎么控制。
屏幕上,进度条开始走了。
陈泊远站在那里,看着那个进度条。他的脸上没有表情,但他的眼睛里有一种光。那是绝望?还是别的什么?
“你做不到的。”他说。他的声音变得沙哑,像砂纸摩擦木头。“那个程序是写死的。没有人能阻止。我设计的时候,就考虑过所有的可能。没有人能——”
江弈没有理他。他只是盯着屏幕,盯着那个进度条。
他的额头上全是汗。那些汗水滴在键盘上,滴在那些按键上。他只是在敲,一下,一下。他能感觉到那些汗水顺着脸颊滑下来,但他没有擦。他不能让手离开键盘。
他想起了林远。想起那个躺在床上、眼睛睁着、嘴角挂着笑的人。想起自己站在门口,什么都做不了的那种无力感。想起打电话叫救护车时,那种等待的煎熬。想起救护车来的时候,林远的身体已经凉了。他记得自己伸手去摸林远的手,那只手冰凉,僵硬,指甲发青。那种凉从指尖传到他心里,一直到现在都没有暖过来。
那个人死的时候,他什么都做不了。
现在,他能做点什么。
进度条走到了尽头。
屏幕上弹出一行字:“自毁程序已暂停。剩余时间:无限。”