江风带腥,灯塔绿光每三秒扫过林清羽脸庞。她伫立堤岸十分钟察环境无异后,才前往江对岸旧城区。
旧城区如被遗忘之地。巷窄线杂,路灯昏黄,小广告层层叠贴。林清羽停于一无名旧书店前。
橱窗堆旧书,玻璃贴廉价促销字条,门楣风铃锈蚀,风起声哑。
她推门,铃响。
店内弥漫霉纸味,灯光残缺,仅收银台一灯亮着。老板秃顶戴镜,老态浑浊抬眼望来。
“随便看。”他嘟囔一句,又低下头。
林清羽没说话,径直走向最里侧的书架。那里摆放着外国文学,《呼啸山庄》应该在第三排。她抽出一本《简•爱》翻看,指尖在书脊上轻轻敲击:三短,三长,三短。
SOS。
一秒钟后,书店深处的某扇门传来“吱呀”一声。
老板放下报纸,慢吞吞地走过来。“找什么书?”他问,声音沙哑。
“《呼啸山庄》。”林清羽说,“英文原版。”
老板盯着她看了两秒——她的伪装很到位,棕色短卷发,米色风衣,黑框眼镜,看起来就像个普通的大学生。但他认出了她,眼神深处有极细微的松动。
“最后一本在仓库。”他说,“跟我来。”
他转身走向书店深处,林清羽跟上。仓库的门藏在“滞销书处理区”的帘子后面,门锁是密码锁,老板输入四位数字:0-9-4-7。
林清羽记下这个数字。0947,如果转换成时间,是晚上九点四十七分。是她从未用过的联络时间。
仓库里堆满蒙尘的书箱,空气中灰尘味更重。老板关上门,打开一盏悬挂的节能灯,灯光惨白。
“上面有新指令。”他从一个饼干盒里取出牛皮纸信封,递给林清羽,“另外,上面提醒,最近可能有‘同行’在附近活动,注意安全。”
“同行”是暗语,指其他情报组织的成员。
林清羽接过信封。牛皮纸很厚,封口用火漆封着,印章图案是一只抽象的鸽子——这是她的直属上级“白鸽”的标志。
但就在她的指尖触碰到信封的瞬间,老板的食指在信封边缘极快地敲击了两下。
嗒、嗒。
短暂,但清晰。
这是训练手册里的标准警告手势:轻敲两下,表示“已被监视”。
林清羽瞳孔微缩,但脸上表情不变,只是点了点头:“明白了。”
她将信封塞进风衣内袋,转身要走。老板忽然又说:“对了,上次你要的《傲慢与偏见》注疏本到了,在外面架子上,自己去拿吧。”
这是暗号,意思是“外面有人,从后门走”。
林清羽会意,推开门帘走出仓库。她没有立刻离开,而是停在书架后,透过两本厚词典之间的缝隙,看向店面收银台。
收银台前站着一个人。
陈默。
他穿校服背旧书包拿着书与老板交谈,老板笑容真实慈祥如长辈见后辈。
陈默说了句什么,老板哈哈大笑,拍了拍他的肩膀。
这个动作让林清羽的心脏重重一沉。
拍肩膀,是肢体接触中表示信任和亲近的动作。老板——她的直属上级,代号“白鸽”,一个潜伏了十五年的资深特工——会这样拍一个普通高中生的肩膀?
除非,陈默根本不是普通高中生。
也根本不是普通的“同行”。
他是老板认识的人。而且是关系不一般的人。
陈默拿起手里的书给老板看,是那本《密码学趣谈》——三天前他在图书馆看过的那本。老板接过书,扫了一眼条形码,在旧式收银机上敲下价格:28元。
陈默递过去一张五十元纸币。
老板找零,从抽屉里数出两张十元、一张一元和一枚一元硬币。他将纸币和硬币放在柜台上,硬币落下的声音——
三轻,一重。
林清羽的耳朵捕捉到了这个细微的差异。前三枚硬币(也许只是模拟声音)落下时声音轻而脆,最后一枚声音沉而闷。短短短长,摩斯码的「H」。
H,在密码体系里可以是很多意思:Help(求助)、Hide(隐藏)、Hazard(危险)……
或者,Hour(小时)。
如果对应时间,H是字母表的第八个字母,代表8点?
还是……
老板将零钱推到陈默面前,又说了句什么。陈默点点头,将书塞进书包,转身离开书店。风铃再次“叮当”作响。
林清羽在书架后等待了三十秒。
老板坐回收银台,重新拿起报纸,但这次他没有低头看,而是抬起眼皮,朝着书架方向极轻微地摇了摇头。
快走。
林清羽从后门离开了书店。
后门通向一条更窄的巷子,堆满垃圾箱和废弃家具。她贴着墙快速移动,在巷口停下,侧身观察前街。
陈默正从书店正门走出来。
他没有往家的方向走,也没有去公交站,而是穿过马路,走进了对面一家网吧。
网吧招牌闪着廉价的霓虹灯,“极速网络”四个字缺了“速”字的一角。玻璃门很脏,里面透出蓝荧荧的光。
林清羽看了眼手表:19:17。
她需要决定:是立刻撤离,还是跟进去?
老板的警告在耳边回响:“已被监视”。硬币的摩斯码「H」。陈默与老板的熟稔。所有这些线索都指向一个结论:这个联络点已经不安全,陈默可能是监视者之一。
但她的任务还没完成。新令需速解,唯安全屋可破,距此四十分钟。
须抢时间。
林清羽入巷厕隔间,速换装:去假发眼镜,拭妆,翻衣为夹克,戴帽而出。
现在她看起来像个熬夜打游戏的男青年。
她走出公厕,压低帽檐,穿过马路,推开网吧的门。
烟味、泡面味、汗味混杂在一起扑面而来。前台是个打着哈欠的年轻网管,头也不抬:“身份证,押金二十。”
林清羽递过去一张伪造的身份证——照片是个长相普通的男生,年龄二十岁。网管扫了一眼,丢给她一张上机卡:“37号。”
她接过卡,走向里间。
网吧很大,分成吸烟区和非吸烟区。她绕过电脑排,在非吸烟区找到37号机,正对35号机,陈默正在其上。
他戴耳机,屏上满是密布的代码。非游戏非电影,黑底绿码滚动。
林清羽坐下开机,启网游作掩护,余光借屏反光窥陈默屏幕。
代码滚得很快,是某种底层语言,夹杂着大量注释。林清羽受过基础编程训练,能看懂大概:这是一个数据抓取脚本,目标似乎是某个内部数据库,注释里提到了“权限绕过”和“日志擦除”。
然后,她看见了那行注释。
在一大段函数定义的上方,有一行用红色标注的注释:
//TODO:朱雀-07身份验证模块需重写,旧协议有漏洞
“朱雀-07”。
她的代号。
陈默在写一个与她身份验证相关的程序。
林清羽的手指在键盘上僵住了。屏幕里的游戏角色因为无人操作,被怪物击杀,灰白色的“死亡”字样弹出来。但她没看见,她只看见陈默屏幕反光里那行红色小字。
为什么?
陈默是谁?老板又是谁?这个联络点到底还安不安全?
她需要读取那个信封。
现在。
林清羽关游戏,开浏览器,输入随机域名。页面跳转至加密邮箱登录页,她输完账号密码,手指在回车键悬停一秒。若陈默监视该节点,她的登录将被即刻捕获。她删输入,关页,转开编程学习网站——预设掩护之一。网站加载慢,她趁机从内袋取出牛皮纸信封。
火漆印章完好无损。
她小心地剥开封口,抽出里面的信纸。只有一页,手写字体,是老板的笔迹:
「取消今晚江边灯塔接头。原因:夜莺身份存疑。
新指令:9月5日14:30,市图书馆古籍阅览室,第三排靠窗座位。
对接暗号:《呼啸山庄》第184页第7行。
注意:近期有第三方势力介入,代号‘乌鸦’。特征未知,目的未知。
安全第一。必要时可销毁本指令。——白鸽」
林清羽将信纸折叠,塞回信封。大脑快速运转:
夜莺是她今晚原定的接头人,身份存疑意味着联络网可能出现叛徒或渗透。
新接头地点在图书馆古籍阅览室——公开场所,人流可控,但监控密集。
对接暗号使用《呼啸山庄》页码,这是她和“白鸽”约定的备用方案,但页码184和第7行是临时指定的,说明“白鸽”也意识到原有密码本可能泄露。
而最让她不安的是最后一句:“第三方势力介入,代号‘乌鸦’”。
乌鸦。
她想起陈默在书店买的那本《密码学趣谈》。书的封面就是一只乌鸦的剪影。
巧合?
还是……
林清羽再望陈默屏幕。代码滚,陈默指停。他摘耳侧听,似察异响。速关代码,开视频播笑片。音量开大,笑声充斥四周。两秒后,门开。三黑夹克男入,扫视全场。动作专业,封出入口,手插袋,林清羽见夹克凸起——有枪。
网管站起来:“几位上网?”
为首的男人亮了一下证件:“巡捕,查身份证。”
他的声音不大,但在安静的网吧里足够清晰。几个正在打游戏的学生转过头,露出不安的表情。
陈默也转过头,脸上是恰到好处的茫然和一点点紧张,完全符合一个“被巡捕突袭检查吓到的高中生”该有的反应。
林清羽压低帽檐,将信封塞回内袋,手指在键盘上敲击——她打开了一个编程作业页面,假装正在写代码。
三个“巡捕”开始逐个检查身份证。他们走得很慢,看得很仔细,还会问一些问题:“多大了?”“住哪里?”“经常来吗?”
距距清羽三排。距陈默两排。清羽呼吸稳,心跳加速;假证可骗常检,难瞒行家。
急需脱身路线。正门被控,后门需穿吸烟区易暴露,窗封死有铁栏。
只剩一个选择:卫生间。
网吧最里侧有男女卫生间,窗户可能没封。
林清羽起身,走向卫生间方向。步伐自然,像只是去上厕所。
经过陈默座位时,她的余光瞥见他的屏幕——搞笑视频还在播放,但屏幕右下角,最小化的代码编辑器图标在闪烁。
他在后台运行程序。
而且,他的左手放在桌子下面,手指在膝盖上有节奏地敲击。
三短,一长,两短。
摩斯码:L。
然后是三短,三长,三短。
SOS。
L•SOS?
林清羽脚步未停,推开女卫生间的门。
卫生间里有一股劣质清洁剂的味道。她快速检查:两个隔间都空着,窗户果然装着铁栏杆,但栏杆的焊接点有锈蚀痕迹。她伸手推了推,纹丝不动。
外面传来敲门声。
“巡捕,查身份证。”是那个为首男人的声音。
林清羽屏住呼吸。
门把手转动,但门从里面锁着。
“里面有人吗?”男人问。
林清羽没回答。她环顾四周,视线落在通风管道上——天花板有一个大约三十厘米见方的通风口,盖板用螺丝固定。
螺丝是十字的。
她从钥匙串上取下多功能工具刀,弹出十字螺丝刀头。踮脚,开始拧螺丝。
外面,男人开始用对讲机说话:“后门守住,卫生间里可能有目标。”
螺丝很紧,锈住了。林清羽用力,工具刀打滑,在手心划出一道血口。她咬牙继续。
第一颗螺丝松开。
第二颗。
通风口盖板向一侧倾斜,露出黑洞洞的管道。
外面传来撞门声。
林清羽爬上洗手池,抓住通风口边缘,将自己撑上去。管道里满是灰尘,她蜷缩着爬进去,然后反手将盖板拉回原位。
就在盖板合拢的瞬间,卫生间的门被撞开了。
手电筒的光束扫过隔间,扫过洗手台,最后停在通风口上。
盖板边缘,一滴新鲜的血迹,正在缓缓滴落。