林越坐在那间堆满显示器的房间里,脚边散着三听空可乐罐,其中两个并排放着,拉环朝上,第三个翻倒了,滚到主机箱旁边卡住,他没去扶。键盘左边放着一碗泡面,汤已经凉了,面条涨得发白,筷子插在碗里竖着没动。他右手握着鼠标,屏幕上跑着七行代码,光标停在第三行末尾的位置,闪了六次他才敲了一下空格。
手机在显示器底座旁边震了一下。他偏过头去看了一眼,屏幕亮着,是一个陌生号码发来的短信,没有署名,只有一行字:“你昨晚站在观景台铁门外面的时候,你姐的定位共享还开着吗。”
林越的手指从鼠标上移开了。他盯着那行字看了三秒钟,然后拿手机翻了号码归属地,显示是本市,运营商是某家他不常用的那家。他没有回拨,也没有回消息,把手机翻了个面扣在桌面上,重新握住了鼠标。但光标在第三行末尾又停了七次跳动。
他伸手把扣过去的手机重新翻过来,打了一行字:“你是谁。”
对面隔了大约两分钟才回:“你猜。”
林越看着那两个字,把手机放在鼠标旁边。他没有再回,而是打开了另一个窗口——一个加密的终端界面。他输入了三行命令,追踪刚刚那条短信的信号源。屏幕上跳出来一串结果:号码注册时间是一年前,实名信息是假的,信号落点在市中心的某栋写字楼里。他认得那栋楼的地址。清桐集团总部。
他把终端窗口关了。手机没有锁屏,他让它亮着放在桌面上,自己起身去了厨房。冰箱里有一盒牛奶,他拿出来倒了半杯,没加热,端回来的时候路过显示器,看见手机屏幕上多了一条新消息:“你查到了吧。”
林越站在桌边喝了一口冰牛奶,把杯子搁在泡面碗旁边。他拿起手机,这次没有打字,直接按了语音通话。响了两声就接了,对面没有先开口,他听到的是一阵很轻的翻纸页的声音。
“沈清桐。”他说。
“嗯。”
“你查我IP。”
“我先查的你号码。”沈清桐的声音从听筒里传出来,比茶馆里稍微远一点,像手机放在桌面上开了免提,“你号码显示已读两分钟之后,你的终端有三次外部访问记录。你查我。”
林越没有否认。他把手机换到另一边耳朵,走回桌边坐下来。“你刚才那条短信,为什么发那个号。”
“你帮晨曦处理舆情的时候用的那个号。”沈清桐说,“你每次出手都会换一个虚拟号,但这个号你用了两回了,我猜是你备用号里最顺手的那一个。”
林越用空着的那只手把那杯冰牛奶拿起来又喝了一口。“你查了我多久。”
“三年前你第一次帮我做系统加固之后,”沈清桐说,“你代码里留了一行注释没删干净。我顺着那行注释找到的。”
闪回——三年前,深夜,清桐集团服务器机房。他坐在机房角落那把转椅上,屏幕的绿光照着他下巴上没刮干净的胡茬。他在代码末尾打了一行注释,打完之后看了一眼时间,凌晨两点十七分。他没有删那行注释就走了。后来他翻过日志,那行注释在他离开之后的第十七分钟被读取过一次。
“你三年前就知道了。”林越说。
“对。”
“那你今年跨年夜才当面见。”
“因为我在等你先处理完你姐那边的事。”沈清桐说这句话的时候翻纸页的声音停了,“你姐和你姐夫的事情,你不先处理好,你不会有余力管你自己的事。”
林越握着手机的指节收紧了一下。“你连这个都排好了。”
“我排了三年。”沈清桐说,“但进度比你想象中慢。”
林越把那半杯牛奶放回桌面上。牛奶杯的底部碰到泡面碗的碗沿,发出一声瓷碰塑料的闷响。他低头看了一会儿桌面——键盘的W键比别的键更亮一些,是他敲得最多的地方;鼠标垫的边缘卷起来了,露出一角桌面木板的颜色;显示器底座旁边有一根橡皮筋,不知道什么时候掉在那里的。
“你昨天晚上在那棵树下站了四十分钟,”他说,“你冷吗。”
电话那头安静了一下。沈清桐的声音再响起来的时候比刚才低了半个调:“你今天晚上这句话,是替谁问的。”
“替我自己问的。”林越说,“你站的那个位置,风是往南吹的。那棵树的树冠朝北偏,挡不住南风。你站四十分钟,至少有三十分钟被风直吹。”
沈清桐那边传来一个很轻的声响,像是椅子被往后推了一下。“你怎么知道树冠朝北偏。”
“我看过那棵树的卫星图。跨年夜那天下午看的,看完之后去现场踩了二十分钟。”
“你为什么踩点。”
“因为我想知道她说的那个观景台,到底安不安全。”
沈清桐没有再问。电话里安静了大约五秒,然后她说:“那棵树冠偏北,但树干东侧有一个凹陷,刚好能卡一个人的肩膀。我站的是那个位置。”