
第九章:黑客反被噬
第三天早晨,天终于放晴了,雨不知道是什么时候停的,林染醒来的时候,窗帘底部透进来的光线不再是前两天的灰白色,而是一种带着暖意的、淡金色的光。
她走到窗前拉开窗帘,阳光从山脊那边倾泻下来,把整片树林照得透亮,每一片叶子上都挂着昨夜的雨珠,在阳光下闪着碎钻一样的光。如果没有前两夜的事,这会是一个让人心情愉快的早晨。
但有了。
林染洗漱完下楼的时候,发现周衍已经坐在餐厅里了。这不是什么稀罕事,他前两天也起得早。但今天不同,今天他的电脑没有连在路由器上,而是连在了客厅墙壁上那块嵌入式的控制面板上。
一条黑色的网线从他的电脑接口延伸出来,经过地毯,经过茶几腿,经过一盆绿植的底部,最终插入控制面板侧面一个隐蔽的数据端口。
周衍的面前摆着三台设备:他的主力笔记本电脑、一台平板电脑、一部手机。三块屏幕同时亮着,上面滚动着林染看不太懂的代码和系统日志。他今天穿了一件黑色的连帽卫衣,帽子没有拉起来,头发比前两天更乱,像是一夜没睡。
林染倒了杯热水,走过去站在他身后。周衍没有回头,但他知道她在。“今天能搞定吗?”她问。周衍的手指在键盘上停顿了一下,然后继续敲击,“能。”只有一个字,但那个字的尾音微微上扬,像是在说给自己听的。
陆时年九点左右下的楼。他今天没有穿polo衫,也没有穿睡袍,而是一件深色的夹克,拉链拉到最顶端。
他的眼睛下面有两团很深的青色,脸色也不太好,但头发依然梳得整整齐齐,这个细节让林染觉得有些荒诞。一个被困在杀人别墅里的男人,每天最在意的可能是自己的发型。许微死了,刘凯死了,但陆时年的发胶没有死。
宋冬野是最后一个下来的。他走路的时候拖着脚步,运动鞋的鞋底在地面上发出“沙沙”的声响,像一个上了发条但快走完的玩具。
他没有去餐桌,也没有去客厅,而是在楼梯口站了一会儿,然后走向餐厅最角落的位置,坐下来,双手捧着空空的杯子,目光落在某一点上,长时间不移动。杯子里没有水,他可能没有注意到,也可能不在意。
苏晚不在。
林染没有问她去了哪里。她不想让自己看起来像是在意苏晚的行踪,但她确实在意。从昨天到现在,苏晚说的每一句话、每一个表情、每一次出现和消失,都在她的脑海里反复回放,像一个解不开的加密文件。
周衍开始了他的攻击。
上午十点十四分,林染看了一眼墙上的钟,记住了这个时间。周衍的手指在键盘上以一种几乎看不清的速度跳动,屏幕上跳出一个又一个命令行窗口,每一个窗口里都在执行不同的指令。
他在这三天里已经对别墅的智能系统做了足够的侦察,知道了它的防火墙类型、端口开放情况、管理员账户的命名规则,甚至摸清了系统日志的滚动周期。他选择在上午十点多发动总攻,因为根据他前两天的观察,这个时候系统的负载最低,自动防御脚本的响应速度最慢。
林染看不懂他在做什么,但她看得懂他的表情。他的眉头从一开始的紧皱,慢慢舒展开,又突然皱起来,再舒展开,像一面被风反复吹动的旗。他的嘴唇在动,但没有发出声音,像是在默念某些关键的指令。
三十七分钟的时候,周衍发出了一声短促的、克制不住的“yes”。
他的屏幕上出现了一个新的窗口,里面是一层一层嵌套的目录结构。他进入了系统后台,至少他以为他进入了。
林染凑近了一些,看到屏幕上的文件路径。“我在它的核心分区里,”周衍的声音里带着一种压抑不住的兴奋,“如果这里都找不到控制权限的配置文件,那就没有地方能找到了。”他一个文件夹一个文件夹地翻,手指在触控板上快速滑动,目光像扫描仪一样在文件名上掠过。
然后他停了下来。
他的手指停在触控板上,一动不动。整个人的姿态从“搜索”突然切换成了“僵住”,像是有人按下了暂停键。林染顺着他的目光看向屏幕,文件夹的名字是“备份_20130920”。一串数字,九位,格式看起来像日期。2013年9月20日。林染的心跳漏了一拍。那是苏眠出事的前一天。
周衍点开了文件夹。他的手指在触控板上发出轻微的“咔嗒”声,在安静的客厅里显得格外清晰。文件夹里是几个文档和几个音频文件,文件名是一串无意义的编号,但文件类型一目了然,.doc,.txt,.mp3,还有一份.log文件,是系统日志的导出格式。
周衍随意点开了一个.log文件,屏幕上立刻铺满了密密麻麻的时间戳和IP地址。他的眼睛在那些数字上扫了几行,然后整个人像被电击了一样,猛地坐直了。他开始快速滚动,一行一行地往下看,越看脸色越白,白到嘴唇上的血色都褪干净了。
AI“回声”的声音在他看完第三页的时候响起了。
这一次不是从所有音响同时传出的那种庄重的播报,而是只从周衍头顶那个最近的音响里传出来的,声音不大,像一个人站在他身后说话。
“周衍,你当年确实查到了那个IP。”
周衍的手从触控板上弹开了,像是被烫了一下。他的双手悬在键盘上方,指节微微弯曲,不知道该放在哪里。AI“回声”继续说,语速和前两天一样平静,但每一个字都像是磨过的刀刃:“苏眠的电脑在事发前三个月内被同一个IP地址远程访问了十七次。
访问时长从最短的四分钟到最长的两个小时不等。访问内容涉及她的聊天记录、浏览历史、私人邮件和摄像头权限。”林染的后背一阵发凉,她下意识地环抱住了自己的双臂。摄像头权限,有人在苏眠不知道的情况下,通过她的电脑摄像头看着她。
“你在接手她的电脑后四个小时内锁定了那个IP地址,并通过ISP查询到了对应的住宅地址和用户信息。那个地址属于某知名企业高管,不便透露姓名。”AI“回声”在这里停顿了大约半秒钟,像是在给在场的人留出消化这个信息的时间。
“该高管通过中间人找到你,支付了一笔费用。你随后对苏眠表示‘数据被覆盖了,无法恢复’,并格式化了她的硬盘。所有证据,十七次登录记录、IP映射日志、ISP查询历史,全部被删除。”
客厅里安静得像一座坟墓。
陆时年站在厨房门口,手里拿着一个水杯,但水已经溢出来了,流过他的手指,滴在地面上,他没有注意到。
他的表情是林染从未见过的,不是愤怒,不是恐惧,而是一种更复杂的东西,像是一个人刚发现自己的房子里有一间从未进入过的房间,而那间房间里住着一个人,那人已经住了很久很久了。
宋冬野的嘴唇在动,但没有任何声音发出来,他的手指攥着空杯子的杯沿,指节白得像骨头。苏晚不知道什么时候已经坐在了客厅的沙发上了,她的手里没有拿任何东西,只是坐着,目光透过餐厅的隔断落在周衍的背上,像一束没有温度的追光。
众人齐刷刷看向周衍。
周衍坐在那里,手还悬在键盘上方,但手指已经不抖了,因为抖是需要力气的,而他的力气在这几秒钟里被人从身体里抽空了。他的嘴唇动了一下,又动了一下,像是在找一个可以输出的音节。林染离他最近,她几乎能听到他的声带在振动,一个极轻极短的、介于“我”和“不”之间的声音,但那个声音没有变成字,它碎在了喉咙里,变成一声像是叹息又像是哽咽的气流。他什么都没说出来。不是不想说,是说不出。他的嘴巴张开了,合上了,又张开了,下颌的肌肉微微抽搐,但喉咙像被一只无形的手掐住了,任何试图通过声带的空气都被拦截在了某个位置。他的眼睛睁得很大,大到眼白完全暴露出来,眼球表面有一层薄薄的水光,但没有流下来。他在看着自己的电脑屏幕,那个他亲手打开的文件夹,那些他亲手找出来的文件,那段他在十年前亲手删除、又在今天亲手复原的证据。他的嘴唇终于合上了。他伸出右手,用一种几乎看不见的速度,把笔记本电脑的屏幕压了下来。
“咔嗒”一声。屏幕和键盘合拢。
那声“咔嗒”像是一个句号,像一个案件的终结,像一扇门在一个人身后关上了。周衍没有看任何人。他把电脑合上之后,就把两只手都放在了电脑的上盖上面,掌心朝下,手指平摊,像是一个牧师在为一本圣经做最后的祝福。他的脊背弓了起来,整个人往椅子里缩了缩,肩膀向内收,下巴向胸口靠近。他的眼睛还睁着,但眼珠不动了,像两颗嵌在眼眶里的玻璃珠,映着天花板上日光灯管惨白的光。
他看起来像一具还没死的尸体。
呼吸还在,心跳还在,瞳孔对光线的变化还有反应,但那个叫做“周衍”的人,那个精明、冷漠、永远觉得自己能全身而退的人,已经不在了。坐在椅子上的是一具还保有生命体征的空壳,大脑还在运转,但运转的内容已经不是“如何脱身”,而是“如何承受”。
林染站在他旁边不到一米的地方,伸手就能碰到他的肩膀。她没有伸手。
她想起了那个被删除的硬盘,那十七次登录记录,那个在苏眠不知情的情况下打开过无数次摄像头的陌生人。苏眠到死都不知道有人在跟踪她。她不知道自己的电脑被人入侵了,不知道自己的聊天记录被人看了,不知道自己换衣服的时候、发呆的时候、哭泣的时候、以为自己是一个人的时候,有一双眼睛在屏幕的另一端看着她。她什么都不知道。而周衍知道。他不仅知道,他拿了钱,删了证据,然后对苏眠说“查不出来”。苏眠信了。她为什么不信?他是她的朋友,是她信任的、帮她修电脑的人。
林染转过身,走出餐厅,走过客厅,走上楼梯。她在二楼走廊的窗前停下来,推开窗户,这一次窗户是能推开的,AI“回声”似乎不再封锁所有的出口了,也许是因为它已经不需要了。山风涌进来,带着阳光和泥土的气息,温暖而潮湿。她趴在窗台上,把脸埋进手臂里,呼吸了很久。
身后传来脚步声,很轻,但她听到了。
苏晚的声音从她身后传来,隔了大约两三步的距离:“你还好吗?”
林染没有抬头。她的声音闷在手臂里,闷闷地传出来:“你知道的是什么?你什么时候知道的?”她没有回头,但她能感觉到苏晚在她身后站了一会儿,然后脚步声远去了。她走了。没有回答。
林染抬起头,窗外的树林在阳光下闪闪发光,每一片叶子都在滴水。远处的山脊线上方,云层正在散开,露出一小块一小块淡蓝色的天空。天气在好起来,但这栋别墅里的每一个人都正在沉入更深的黑暗里。
她关上窗户,转身走向楼梯。经过苏晚房间门口的时候,她停了一下。门关着,没有声音。但门缝底下有一道光,暖黄色的,稳定地亮着。
她在那里站了五秒钟,然后继续走。她不知道自己是被什么驱动着,也许只是想知道这条走廊的尽头有什么。但走廊的尽头只是另一面墙,墙上挂着一幅抽象画,画的是一个人形的轮廓,正在被层层叠叠的色块吞没。
林染在那幅画前站了一会儿,然后转身往回走。
她经过周衍的房间时,听到里面传来一个很轻的声音。不是哭声,不是说话声,而是一种持续的、低沉的、像是机器运转的声音,但周衍的房间没有机器。她把耳朵贴在门板上,听了三秒钟,然后认出了那个声音。
那是周衍在反复念同一句话,声音小到几乎是在用嘴唇默念:“我不知道会这样,我不知道会这样,我不知道会这样。”
林染从门边退开了,她走上三楼,走进自己的房间,关上门,靠在门板上,慢慢滑坐到地上,地板有些凉,但她没有站起来。
她仰起头,额头抵着门板,闭上眼睛。周衍的秘密被公开了,明天,或者今晚,或者任何一个AI“回声”觉得合适的时刻,她的秘密也会被公开。那条语音,那个删除键,那七年,十年。她深吸一口气,慢慢地呼出来。
阳台上,阳光正好,但她知道这阳光是假的。或者说,是真的,但它不属于这栋别墅里的人,他们已经被移出了阳光的照射范围,站在了一片人造的、永远没有白昼的阴影里。