19. 侧写反噬

周思危找到那间公寓的时候,港城东区上空正好有一架警用直升机低空掠过。直升机的探照灯扫过一排老式公屋的屋顶,光柱像一把白色的巨型圆规在夜空里画了半个弧,然后消失在海的方向。他不知道那架直升机是不是江一苇调来的——他出发前没有告诉任何人目的地,只给苏晴发了一条消息,内容是方铎租用的那间公寓的地址,末尾加了一句话:“如果三小时内没有我的消息,把地址给江一苇。”

公寓位于港城东区一栋建于上世纪九十年代的旧式公屋的十八层。这种公屋是纽斯特里亚政府当年为低收入家庭提供的廉租房,外墙的淡绿色涂料已经被海风侵蚀成斑驳的灰绿色,每层楼的走廊都是开放式的,栏杆上晾着各种颜色的床单和衣物,在海风里像一面面沉默的旗。电梯坏了,周思危从楼梯一层一层往上爬,每层转角处的声控灯都在他脚步靠近时亮起、走远后熄灭,像一条正在被逐段点燃又被逐段掐灭的引信。

他手里没有枪。他的枪三天前就交给了装备科。他口袋里只有手机、录音笔和一把折叠刀。手机屏幕上仍然亮着江一苇发来的最后一条技术情报:“方铎匹配引擎的物理服务器定位到了你给我的那个地址。十台虚拟机正在同时向十个不同的近情账号发送匹配请求,目标信息我已经同步推送给巡逻组。但有一件事你得知道——这十个目标都是女性,职业都不是教师。她们全部是港城教育局现任行政人员的配偶。名单被换过了。”

周思危在十三楼的转角平台停了一下,调整呼吸。名单被换过了——这句话的意思是方铎已经不再满足于复制许维远的模式。许维远的猎物是教育系统内部被边缘化的教师,她们被系统忽视,然后被许维远用“深度理解”的幻觉捕获。但方铎把目标换成了教育局行政人员的配偶。他不再猎杀那些已经被系统抛弃的人,他要猎杀那些抛弃别人的人——通过他们的妻子。

这是复仇的升级。不是针对个人的复仇,是针对整个架构的复仇。

十八楼的走廊里只有一盏灯亮着,在走廊尽头倒数第二扇门上方。门牌号1807,门上没有贴对联,没有挂门垫,猫眼被从内部用黑色胶带封住了。周思危站在门前,用指节敲了三下。不重,不急,像一个来收物业费的邻居。

门里面沉默了很久,然后传出一个男人的声音,平淡而沙哑,像一张被反复播放过太多次的旧唱片:“门没锁。”

周思危压下门把手,推门进去。公寓不大,一室一厅,客厅被改造成了一间小型机房。靠墙两排铁架子上堆着四台服务器机箱,电源线和网线被理得整整齐齐,用不同颜色的尼龙扎带分束捆好。服务器的散热风扇嗡嗡地转着,把房间的温度烘得比走廊高了至少五度。没有开空调,窗户紧闭着,空气里弥漫着热塑料和电路板焊接后的微甜气味。唯一的光源是服务器面板上密密麻麻闪烁的绿色指示灯,以及正中央一张折叠桌上那台笔记本电脑屏幕的冷白色背光。

方铎坐在折叠桌后面,背对窗户,面对着门。他穿了一件洗得领口发松的深蓝色Polo衫,袖口卷到手肘,露出一双常年敲键盘的瘦削手臂。他比周思危在档案照片上看到的更老一些,头发已经花白得不成比例,眼袋很深,但眼神没有涣散,反而有一种被极端疲惫打磨之后的尖锐。他面前的笔记本电脑屏幕上跑着一个实时监控界面,上面是十个正在同时执行的匹配进程,每个进程都有一个独立的进度条,有一个已经跑到了百分之七十。

“你比我预计的快了大概两个小时。”方铎开口了,声音和许维远不一样——许维远的声音是讲师式的,平稳,带着被学术训练打磨过的节奏感;方铎的声音更像一个被用了太久的硬盘,磁头磨损之后发出轻微的沙沙声,“我以为你至少要到明天早上才能锁定这里。”

“你昨天把顾敏芝和秦兆林的名单状态改成了‘已排除’,但操作日志里留下了你的操作终端MAC地址。”周思危站在门口没有进去,他的右手垂在身侧,离口袋里的折叠刀只差几厘米,“那个MAC地址和你三年前在匿名技术论坛上回答数据库权限问题时使用的设备是同一台。你是故意留的吗?”

“不全是。”方铎的手指在触摸板上轻轻滑了一下,屏幕上弹出一个新的窗口,是一段日志代码,“三年前那个确实是疏忽。但昨晚那条——我希望有人能看到。一个被系统忽略了一辈子的人,最后需要的可能就是一个能发现他的人。”

这个回答让周思危想到了渡兰。渡兰曾经说过类似的话——她一直在等他找到她。方铎也在等。这些被系统排斥到边缘的人,他们花了多年时间构建了一个完美的、无人察觉的复仇系统,但在这套系统的终点,他们每一个人都留了一扇没有锁死的门。许维远留了U盘,渡兰留了那张纸条,方铎留了MAC地址。他们不是在等警察来抓他们,他们是在等有人来理解他们。

“你为什么要把方旭的名字放进去?”周思危向前走了两步,现在他站在服务器机架的边缘,离方铎只隔着一张折叠桌的距离。

方铎沉默了很久。服务器散热风扇的嗡嗡声填满了整个房间,像某种被无限拉长的耳鸣。窗外港城东区夜晚的灯光稀疏而黯淡,远处的港口起重机在黑暗中有规律地闪着红色警示灯,一闪,一灭,像一颗缓慢的、不会跳动的心脏。

“方旭是我侄子。我看着他长大的。他小时候在我们家阳台上写作业,我教他用BASIC语言写过一个小游戏,他高兴得在阳台上跳,被楼下邻居骂。后来他上了大学,读了研究生,当了讲师。我觉得他比我强——他有编制,他有职称,他有站在讲台上的资格。但他也没有被放过。他被导师从论文署名里除名的时候,给我打过电话。我说,你忍一忍,忍一忍就过去了。他听了。他忍了。”方铎的手指从触摸板上抬起来,放在桌面上,十指交叉,用力攥了一下,指节泛白,“我让他忍,是因为我自己忍了十年。我以为忍是唯一的办法。”

“后来他死了。”周思危说。

“他死了之后,我调出了他在近情上和那个账号的全部聊天记录。我看了他死前一天晚上那场对话——对方提起了他被导师除名的那件事。他打了三个问号。然后他开始搜索‘怎么查手机有没有被监控’。他知道有人在监视他。但他没有报警,因为他觉得报警没有用。他从小看着他二叔在单位里被人不当一回事,他的整个童年都在听我说‘忍一忍就过去了’。所以他没报警。”方铎把手松开了,平摊在桌面上,掌心向上,像在虚空里托着一样看不见的东西,“是我杀的他。不是许维远。”

这句话在闷热的机房里落下去,没有人接。周思危没有说话。他看着方铎摊在桌面上的那双手——那双手保养得很仔细,指甲修剪得短而整齐,指尖的茧位分布均匀,是一双敲了二十多年键盘的手。这双手编写了匹配引擎,创建了后门账号,导出了全港城教师的隐私数据库,把侄子的名字放进了那根冰冷的名单。这双手没有沾过血,但每一道指纹里都渗着某种更深的东西。

“你刚才说,你的疏忽是故意留的——你希望有人能发现你。”周思危把方铎的手从桌面上挪开,把他面前的笔记本电脑屏幕转过来,让自己能看清上面正在运行的十个进度条,“那这十个人呢?她们的丈夫在教育系统里工作,有的可能是晋升评议委员会的成员,有的是人事处的科长,有的只是普通的行政文员。你把这些人的妻子推到许维远的匹配引擎里——你希望有人发现她们吗?”

方铎把椅子往后推了推,站起来。他的身高比周思危矮了半头,肩膀微驼,但他站起来之后的姿态里没有畏惧,只有一种近乎仪式感的从容。他走到服务器机架旁边,用手指轻轻拨开一束红色的尼龙扎带,露出里面一台机箱的面板。“这十个目标,每一个人的丈夫都和我的晋升评议有关。不是直接的——晋升评议委员会每年轮换,他们每个人都在不同的年份坐在那张桌子后面,用铅笔在我的名字旁边画过一道斜杠。有的一年,有的三年,有的只做过一次。但他们每个人都做过。我把他们的妻子放进匹配引擎的时候,引擎会自动根据她们的个人信息生成最有效的接触策略。”

“你要杀她们。”

“不需要。引擎设定的执行终点不是‘物理入侵’——我改了许维远的教案。他把受害者引导到自我毁灭的终点,我不需要那样做。”方铎用手指点了点服务器面板上一个红色的指示灯,那盏灯正在以固定的频率闪烁,“我的引擎会在建立了足够深度信任之后,把教育局晋升评议的内幕——包括每年那道斜杠是怎么画的、哪些档案在被递上去之前就被做了标记——通过匹配对象传达给她们的配偶。让那些曾经画过斜杠的人,亲口从自己最信任的人嘴里,听到自己做过的事。然后引擎会把他们的反应记录下来,匿名发回给他们自己的领导。你知道一个人最害怕什么吗?不是死亡,是妻子知道他是一个怎样的人。”

周思危盯着那盏闪烁的红灯。进度条在屏幕上继续前进,最快的已经跑到了百分之八十五。他要在进度条全部跑完之前做决定——是把这个房间里的证据就地固定,还是先阻止那十个正在进行的匹配。他没有权限,没有支援,没有武器,而他面前站着的这个男人也没有打算逃跑。

他拨通了苏晴的电话,开了免提。电话那头传来苏晴冷静的声音:“我在。”

“给你发一个管理后台的URL,用我书房的笔记本登录,密码是我上次给江一苇那块移动硬盘的解密钥。登录之后你会看到十个正在运行的匹配进程——我需要你在五分钟之内把所有这些进程全部挂起。你能做到吗?”

苏晴停顿了两秒。然后她说:“等我三分半。”

方铎听着这段对话,没有任何反应。他站在服务器机架旁边,背靠着一排闪烁的绿色指示灯,抱着手臂,像一个站在港口码头上的旁观者,安静地等待着一艘船靠岸。窗外港城的夜色在他身后的玻璃上映出一个模糊的、半透明的倒影。

三分半之后,笔记本电脑屏幕上十个进度条同时停滞了,然后一个接一个变成了灰色的“已挂起”状态。苏晴的声音从手机免提里再次传出来:“挂起了。但我发现一个细节——后台上除了这十个之外还有一个隐藏进程,编号是00。隐藏得很深,不在任务管理器里显示,我刚才是在数据库里直接查的。这个进程已经运行了四天——目标信息被加密了,我解不开。”

周思危的目光从屏幕转向方铎。方铎仍然靠在机架上,表情没有波澜,但嘴角出现了一条极细微的、不对称的纹路。他在笑。不是胜利的笑,而是一种更深处的、像地质运动般的缓慢涌动——他等了很久的事情终于发生了。

“00号进程——目标是谁?”周思危问。

方铎把抱着的手臂松开了,走到折叠桌前,从抽屉里取出一个棕色的旧笔记本,翻到最后一页。那一页上只写了一行字,他用手指点着那行字,把笔记本推到周思危面前。纸上写的是——“第零号样本:方铎本人。”

“匹配引擎是我写的。但第一个被匹配的人,是我自己。”方铎重新坐下来,合上笔记本电脑的屏幕,把它推到一边。服务器机箱的散热风扇仍然在嗡嗡作响,房间里的温度比刚才又升高了一点。他用Polo衫的袖口擦了擦额角渗出的薄汗,语气平静得不像是交代,而是某种临终前的总结,“许维远是个疯子,渡兰也是个疯子。但我不比他们更正常。渡兰给许维远名单,许维远用那些名单做实验,我给他们两个提供数据和技术。我们三个人——不是合谋。我们是同一套理论框架下长出来的不同案例。她的妹妹掉下去了,我忍了十年,许维远被开除。我们都觉得自己是被程序毁掉的。每个人都在等别人来拉住自己,但没有人被拉住。”

周思危把方铎的笔记本拿起来,合上,放在自己外套内侧的口袋里。然后他从口袋里拿出手机,拨通了江一苇的号码,按下免提。

“东区公屋,1807室。所有关键证据完好,嫌疑人没有反抗,在等你们。”他说完,关了免提,把电话放回口袋,然后拉开自己面前那把折叠椅坐了下来。两个人面对面隔着一张桌子坐着,窗外远处港口的起重机仍在闪着一明一灭的红灯。

直到电梯修理完成、特警从走廊那头涌进来的最后几分钟里,周思危一直坐在那里,没有再看那些进度条一眼。他看着方铎。而方铎低着头,把笔记本封面上翘起来的一角用手掌按平,一遍一遍地按,好像那个角永远都不够平整。

本章评论(0)

暂无评论,来抢沙发吧!

我来评论

您的邮箱地址不会被公开。 必填项已用 * 标注