下一章 上一章 目录 设置
19、紧急响应 张若木没有 ...
-
那天晚上张若木没有回家。
他在医院地下一层那间储物室里待了一整夜。云飞在旁边那台旧台式机上写解密程序,他就在门口的塑料凳上坐着,偶尔站起来出去接一杯水,大部分时间什么也不做,只是安静地待着。
不是因为他没事可做。案子堆了一桌子要处理,白罍的笔录要整理、丁鹤的通信记录要过一遍、人民医院的监控录像要调。但这些事他一样都做不了,因为他的心定不下来。
他不担心那个勒索程序解不解得了。云飞说能解,那就一定能解。他担心的是云飞,他说的“那段代码是我写的”,还有他说这句话时的表情。那种表情不是愧疚,不是害怕,是一种比这些都更难处理的东西。是一种他花了三年时间以为自己已经翻篇了,结果被人一巴掌扇回了原地的震惊。
储物室里没有窗户,张若木不知道外面天是黑的还是亮的。中间他去过一次洗手间,走廊里安安静静,急诊大厅那边的嘈杂声传不到地下二层来。他在洗手间的镜子前站了几秒,看见自己眼睛里全是血丝,头发乱得不像话,外套领子歪到一边。他用冷水洗了一把脸,水是冰的,激得太阳穴一阵发紧。回到储物室的时候云飞还是保持着他离开时的姿势,坐在那台旧电脑前面,手指在键盘上没有停过。
凌晨三点多的时候云飞终于停下来了一次。他站起来转了一圈脖子,颈椎发出一连串咔嚓的声响,然后他走到自己的电脑包前翻出一瓶喝了一半的矿泉水,拧开盖子喝了两口。
“你要不要睡一下。”张若木说。
“不困。”
“你从昨天早上到现在没合过眼。”
云飞拧上瓶盖,把水瓶放回包里,没有接这个话。他走回电脑前坐下的时候步子有一点飘,坐下来之后揉了揉眼睛,然后继续敲键盘。张若木没有再劝。他知道云飞现在需要的是把这件事做完,做完之后他才能去面对那些让他睡不着的东西。
清晨六点十七分,云飞敲完最后一行代码。他把解密程序跑了一次测试,屏幕上滚过一大段反馈信息,他一行一行地看完,然后整个人的肩膀沉了下来,不是颓废的那种沉,是一种“做完了”的松懈。
“好了。”他说。
张若木站起来,走到他身后。屏幕上显示测试通过,勒索程序的加密已被逆向拆解,解密程序可以批量恢复所有被锁的数据。
“覆盖面是多少。”
“百分之百。只要不是物理损坏的数据都能恢复。”云飞靠在椅背上,两只手举过头顶伸了一个懒腰,脊椎发出一连串的声响。他伸到一半的时候打了个哈欠,眼泪都打出来了,然后用袖口擦了擦眼角,“但我要提醒你一件事。”
“什么事。”
云飞把解密程序最小化,打开了另一个窗口,把一段代码拉出来给张若木看。
“这段勒索程序里有三个模块。第一个是加密引擎,第二个是支付验证,第三个才是数据销毁。我在逆向解析的时候发现加密引擎的底层逻辑跟我三年前写的一段代码有百分之七十以上的相似度。不只是算法相似,连变量命名的习惯都一模一样。”
张若木看着屏幕上那段代码。他看不懂,但他听懂云飞的意思了。
“所以你的意思是,写这段勒索病毒的人用了你的代码。”
“不只是用了我的代码,”云飞说,“他用的是我把代码交给的那个人。”
他停了一下,没有看张若木。屏幕的光映在他脸上,他眼睛下面的阴影很深。
“我在想是谁把它变成了一个勒索病毒的。”
张若木没有接话。他站在那排昏暗的灯光下,看着云飞侧脸的轮廓,觉得这个小孩背负的东西比他想象中要多得多。他本来想说一些安慰的话,但话到嘴边他换了一句,他知道云飞现在需要的不是安慰,是确定的答案。
“不管那个人是谁,我们一定会找到他。”
云飞没有说话。他看着屏幕上那段被人改写过的代码,过了很久才轻轻地点了一下头。他点完头之后又盯着屏幕多看了几秒,然后伸出手把那个窗口关掉了。他没有再多看那几行代码一眼,像是怕自己记住什么不该记住的东西。
张若木在他关掉窗口之后站了一会儿,想说点什么让气氛轻松一些,但他发现自己在云飞面前越来越不会找话题了。以前他能随便开口,因为那时候的云飞什么都接得住。现在不一样了。现在的云飞在他面前有了裂缝,他不知道哪句话会踩到裂缝上去。
上午七点不到,解密程序被移交到姚天籁手上。她带着团队开始分批恢复全城的医疗系统数据。最先恢复的是几家大医院的急诊系统,分诊台屏幕上绿色的登录界面重新亮起来的时候,候诊区里有人忍不住鼓了掌。张若木站在急诊大厅的角落里,看着那些重新亮起来的屏幕和穿梭的医护人员,手插在口袋里,没有笑,但心里松了一口气。
云飞没有跟他一起站在大厅里。他坐在急诊外面的长椅上,靠着墙睡着了。耳机还挂在脖子上,卫衣帽子扣在头上,在人来人往的走廊里睡得毫不设防。
张若木走出来的时候看到的就是这个画面。他站在长椅旁边低头看了一会儿,云飞睡着的时候跟醒着的时候完全不一样,没有那些遮掩用的笑容和调侃,看起来比他实际年龄还要小上几岁,像一个蜷在椅子上躲避冷风的高中生。
张若木把自己的外套脱下来,搭在他身上。云飞没有醒。他翻了个身,脸往外套的方向偏了偏,继续睡。
走廊里有人在小声打电话,有人在自动售货机前买水,硬币掉进机器里的声音清脆地响了两声。张若木在他旁边的空位上坐下来,头靠在墙上,闭上眼睛。他没有睡着,但他也没有睁开眼。
就让他再睡一会儿。他想。
反正离天亮还有一段时间。
七点四十三分的时候他的手机震了一下。他摸出来看,是姚天籁发来的消息,带着一种消息里都能听出她语气兴奋的排版方式:“解密程序跑完了百分之六十的覆盖率,急诊系统和药房系统已经全部恢复。你请的那个小孩有两下子。”
张若木看完消息,侧过头看了一眼身边还在睡的人。云飞的头已经歪到了一边,靠到了张若木的肩膀上。他自己大概不知道,因为他睡得很沉,呼吸均匀而绵长,卫衣的帽子滑下来了一半,露出额前几缕乱糟糟的头发。
张若木没有动。
他就那样保持着原来的姿势,靠在墙上,左手拿着手机,右肩托着云飞的重量。走廊里的脚步声和说话声此起彼伏,自动售货机又响了一次,有人咳嗽了一声,有人在叫护士。所有的声音都与他无关。
他低着头又看了一眼姚天籁的消息,打了四个字回过去:“他睡着了。”
打完这四个字他想了想,又加了一句:“数据恢复了就好。后续的报告我下午回局里写。”
发完之后他把手机翻过去扣在膝盖上,闭上眼睛。这一次他真的眯了一小会儿。不深,只有几分钟,但醒来的时候他感觉到云飞的头发蹭到了他的脖子,那人翻身的时候动了一下,脸往他肩窝里埋了埋,含含糊糊地说了一句话。
声音太轻,张若木没听清。但他没有问。
他也没有躲开。
八点刚过,方子綦的电话打了进来。张若木接的时候压着嗓音,怕吵醒靠在他肩上的人。方子綦说解密程序已经覆盖到全市范围了,局长那边对这次应急响应速度很满意,让写一份详细的过程报告。
"那个小孩呢。"
"在睡觉。"
"让他醒了来一趟局里,有些细节要当面问他。"
张若木说了好。挂了电话之后他没有立刻叫醒云飞,又安安静静地坐了几分钟。走廊尽头有一扇窗户,外面天已经彻底亮了,阳光斜着照进来,在灰色地砖上铺成一块淡金色的光斑。窗台上不知道谁放了一盆绿萝,叶子在光线里泛着一层油亮的光。
他偏过头,轻声叫了云飞的名字。叫到第二声的时候云飞醒了。他睁开眼睛的第一秒是茫然的,然后他发现自己靠在张若木的肩膀上。他没有立刻弹开,而是慢慢地坐直了,偏头看了一眼张若木的肩膀,那件灰色外套上有一块被枕出来的褶皱。
"几点了。"他的声音带着刚睡醒的沙哑。
"八点多了。方队让你去一趟局里。"
云飞嗯了一声。他低头看见自己身上搭着张若木的外套,手指在布料上停了一下,然后拿起来递还给他。递的时候没有看张若木的眼睛。
"谢了。"
"不用。"
云飞站起来把卫衣帽子重新扣好,拎起电脑包。他走了两步又停下来,回过头看着张若木说了一句话。
"那个勒索程序的第三个模块——数据销毁那部分。你有没有想过,如果它真的被触发了会怎么样。"
张若木站起来穿上外套。外套内侧还带着云飞的体温,暖的。他系好拉链,看着云飞的眼睛说:"没有触发。因为你把它拦住了。"
云飞听完这句话,在原地站了一会儿。走廊里有人推着担架车经过,轮子滚过地砖的声音由远及近又由近及远。他最终什么也没再说,转过身朝走廊出口走去。背影被从窗户射进来的光线拉出一道长长的影子。
张若木站在原地,看着那道影子越走越远,心想这个案子查到最后,不管抓到多少人,云飞心里的那个结才是最难解的那一个。