姚琳决定再试一次。
凌晨两点,市局技术科的灯还亮着。整栋楼都黑了,只有五楼走廊尽头那扇窗户透出白光,从外面看像一只睁着的眼睛。
她坐在三台显示器前面,中间那台跑着加密频道追踪程序,左边那台挂着虚拟机的界面,右边那台——是她的备用方案。
如果这次再被挡回来,她就走备用方案。
她活动了一下手指。关节嘎嘣响了两声。
然后她按下了回车键。
追踪程序开始运行。屏幕上,一行一行的日志飞速滚动——域名解析、节点握手、路由跳转。第一跳在东京,第二跳在伦敦,第三跳在法兰克福,第四跳——
停了。
日志停在第四跳,节点地址显示为「***.***.***.***」。后面的内容全是星号。
姚琳皱了下眉。她敲了两行命令,试图绕过节点继续向下解析。
屏幕上弹出了一条消息。
不是系统报错。不是超时提示。
是一行字。白底黑边,字体和宋菲手机里那个直播视频的字幕一模一样——
「姚警官,这么晚了还不睡?」
姚琳的手僵在键盘上。
她盯着那行字看了大概四五秒。然后她松开了键盘,靠在椅背上,拿起桌上的杯子喝了一口水。水是凉的。
她放下杯子,重新敲键盘:
「你是谁?」
对面回复得很快。快到像是早就在那边等着了。
「你不是一直在找我吗?」
姚琳没有立刻回复。她现在可以确认一件事——对方不是自动应答程序。是人。实时地在屏幕那头看着她。
她换了一台机器,打开了第二套方案。同时继续跟对面周旋:
「你是平台的管理员?」
「算是吧。」
「这个平台是你的?」
「不是我的。我帮人看场子。」
「帮谁?」
对方停顿了几秒。然后发过来一行字:
「你今天下午查的那个视频,我看了。拍得挺不错的。」
姚琳的手指再次停住。
下午。那个视频。从宋菲手机残存数据里恢复出来的直播视频。
那段视频只有技术科和她自己看过。连许怀舟来的时候,她都是在自己机器上播放的——没有上传到局里的服务器,没有经过任何网络传输。
对方怎么知道的?
除非——
她猛地转过椅子,看向身后的机柜。服务器指示灯正常闪烁。她又看向头顶的天花板拐角,再看墙角、桌底。
没有窃听器。没有针孔摄像头。
那他是怎么知道的?
「别找了。」屏幕上又弹出一条消息,「你机器没问题。是你那个视频文件有问题。我在里面埋了一行追踪代码——谁播放它,我就知道谁。」
姚琳盯着屏幕,手心有点出汗。
但她没有慌。她从警十一年,什么场面没见过。她只是在脑子里快速理了一遍逻辑——对方在直播视频里埋了追踪代码,意味着从她恢复数据、播放视频的那一刻起,对面就已经知道了。
知道了她在查这个案子。
知道她是谁。
知道她坐在哪个办公室里。
她端起杯子,又喝了一口凉水。然后把杯子放回去,敲了一行字:
「你想要什么?」
对面回得很快:
「我想要你停下来。」
「如果我说不呢?」
对面沉默了一会儿。姚琳趁机看了一眼备用方案的进度——程序正在编译,还差百分之三十。
然后屏幕上出现了一条新的消息。不是文字,是一张图片。
图片加载出来。
姚琳看清那张图的时候,后背一瞬间就凉了。
那是一张照片。拍的是市局大门——从街对面拍的。门口的灯还亮着,岗亭里值班的保安正低头看手机。时间是晚上,照片右下角有水印:23:47。
今晚。
二十三点四十七分。有人站在市局大门对面,拍了这张照片。
「你看,」对方的消息紧跟着图片发过来,「我知道你坐在哪间办公室里。我知道你今天加班加到几点。我知道你开的什么车——白色大众朗逸,车牌尾号37,停在楼下东侧停车场第三排。」
「姚警官,停下来吧。对你比较好。」
姚琳没有回复。
她的手放在键盘上,指尖有一点发麻。但她还是在那坐了几秒钟,然后站起来,走到窗边,把百叶窗的叶片拨开一条缝,往下看。
大门对面的马路上空无一人。路灯亮着,树影在风里晃。一辆出租车从路口经过,很快就开远了。
什么都没有。
她放下百叶窗,回到桌前。
备用方案编译完成了。进度条显示100%。
她深吸了一口气,点击了运行。
同一时间。
技术科的门被推开了。
许怀舟站在门口,穿着一件黑色的外套,头发有点乱,像是从床上爬起来直接过来的。
“姚姐,你还没走?”
姚琳没回头:“你也没睡。”
“方队给我打电话,说你还在实验室。”许怀舟走进来,拉了一把椅子坐下,“他说你从下午到现在没离开过这间屋子。”
“我吃过晚饭了。”
“你吃的什么?”
姚琳终于转过头来看他一眼。
“面包。”
“几点吃的?”
“……不记得了。”
许怀舟没说话。他就坐在旁边,也不催,也不走。过了大概两分钟,姚琳叹了口气,把中间的显示器转过来让他看。
“你自己看吧。”
许怀舟看完了聊天记录。从头到尾,一个字没漏。
看完了之后他沉默了一会儿,然后问了一句完全不在姚琳预期之内的话:
“你回他了没有?”
“最后回了一句。”
“回的什么?”
姚琳把屏幕切到另一个窗口。那上面是她最后发出的消息——备用方案运行成功之后,她在对话框里敲了一行字:
「你让我停下来。但你忘了一件事——我停不下来。」
对面没有回复。从那之后,对话框一直安静着。
许怀舟看完了。他把椅子往后一推,站起来。
“姚姐,你明天开始别碰这个案子了。”
“什么?”
“不是让你退出。是让你从明线转到暗线。”许怀舟说,“对方已经盯上你了。你再做技术对抗,风险太大。你把现有的数据全部移交给我,明天我去找个人——他来顶你这条线。”
姚琳看着他:“你找谁?”
许怀舟没有立刻回答。他走到窗边,透过百叶窗的缝隙往外看了一眼——同样的马路,同样的路灯,同样的空无一人。
“省厅的人给我推荐了一个小孩。”他说,“云城大学的,计算机系,大三。”
“大三?”姚琳的声调提了半度,但她顿了一下,表情有点微妙,“叫江屿?”
“你知道他?”
姚琳沉默了一下,然后说了一句别的:“他加过我微信,然后把我赢了——用代码审了我的Python。”
许怀舟愣了一下:“……什么?”
“我干了十年技术,被一个十九岁的小孩说'你的for循环嵌套太多if'。”姚琳转回身去,面对显示器,“但是许队——那种人,不会老老实实听你指挥的。”
“我知道。”许怀舟说。
“我知道。”
许怀舟走到门口,回头看了一眼技术科。姚琳的背影对着他,三台显示器的光映在她脸上,蓝幽幽的。她的备用方案正在后台安静地运行,屏幕上没有任何异常。
但那个对话框还开着。
最后一句话停在那里——「你让我停下来。但你忘了一件事——我停不下来。」
对方没有再回复。
那是对方主动选择了沉默。
还是对方已经得到了他想要的信息?
许怀舟把门带上,走进走廊。
凌晨两点四十。整栋楼安安静静,只有头顶的日光灯在嗡嗡地响。他拿出手机,翻到老赵下午发给他的那个号码。
他看了几秒钟,按下了拨号键。
嘟——嘟——嘟——
响了五声。没人接。
他正准备挂断的时候,电话接通了。
对面传来的声音不太清醒,带着浓重的睡意和明显被打扰的不耐烦——但嗓音意外的好听,有一点哑,尾音拖着,像是刚从被窝里翻出来,连眼睛都没睁开:“谁啊?”
“你好,是江屿吗?”
“我是。你谁?”
“我是云城市公安局刑侦支队的许怀舟。”
电话那头安静了两秒钟。
然后那个声音说:“公安局的?你们现在都凌晨两点半办案了?”
“有急事想找你帮忙。”
“找我帮忙?”
“对。”
“你知道现在几点吗?”
“知道。凌晨两点四十一。”
“你知道凌晨两点四十一给人打电话,要么是死人了,要么是快死人了——对吧?”
许怀舟站在走廊尽头,握着手机,忽然觉得这个开场白比他预想中要有意思得多。
“确实是死人了。”他说。
电话那头又安静了两秒。然后江屿的声音变了——醒了,认真了。
“什么案子?”