何潇蹲在破晓传媒那间只剩四面墙的办公室里。墙皮剥落露出水泥,墙角堆着几个泡面桶,电线像死蛇一样从天花板垂下来,缠在生锈的管道上。正对门口的那面墙上,还残留着半张褪色的海报,某个早已解散的乐队,主唱的脸被撕去大半,只剩一只眼睛,冷冷地俯视着这间屋子。他面前摆着三台笔记本电脑、两台平板、一部手机——全部连着他自己焊的散热架,风扇声像一群被踩了尾巴的猫。他嘴里叼着半根油条,含糊不清地说:“别急,先吃口。”
田笑把一杯豆浆砸在他桌上:“吃个屁。天幕那边又上了三组人,你昨晚睡了没有?”
“睡了。”何潇眨眨眼,“四十分钟,质量很高。”
周远站在窗边,手里攥着手机,屏幕上是全域信息网刚推送的新闻:《破晓传媒涉嫌数据造假,统合管理署已介入调查》。他看了两遍,把手机翻过去扣在窗台上。
“假新闻。”他说,“但管用。”
“管用得很。”何潇把油条咽下去,手指在键盘上疾速敲击,十指翻飞如蝶,三块屏幕同时亮起,“他们雇的是‘暗礁安全’,业内顶配。昨晚两点到五点,打了四波,全是从境外跳板进来的,手法很干净,像流水线上拧螺丝的。”
“你挡下来了?”田笑问。
“挡下来了。”何潇咧嘴一笑,“但人家是流水线,我是手工作坊。他们可以轮班,我不行。”
他指了指屏幕右下角一个不断跳动的红色数字,距离服务器崩溃还有七十二小时。数字每秒都在减少,像一把悬在头顶的刀,刀刃已经贴上了头皮。“这是他们第七次尝试摸我们的服务器边界。我改了三次蜜罐,他们踩了三次。现在他们应该已经确认我是个‘有点难啃的胖子’。”
“然后呢?”田笑问。
“然后他们会换打法。”何潇说,“不再硬攻,改从人下手。查我们谁在交社保、谁有房贷、谁家孩子在哪上学。这是他们惯用的套路。”
周远转过身来:“你预估还有多久?”
何潇的手指在键盘上停了一瞬。口袋里那支旧口琴的金属外壳硌着大腿,凉意顺着布料渗进来,陈老板递过琴时那句话又浮上来——“拿去用,不收钱。这琴能陪你熬过最长的夜。”他隔着布料摩挲了一下那排音孔,像摸一串念珠。三年前在旧世界的废墟里捡到第一支口琴起,他就养成了这个习惯,压力大到喘不过气时吹几个音。那声音不完整,甚至有些走调,但能把他从纷乱的思绪里拽回来,像一根锚。
“十四天。”何潇说,“我最多再撑十四天。之后要么我们找到能扛住‘暗礁’的靠山,要么我们得换一条路走。”
“什么路?”
何潇没回答。他低头看了一眼手机,屏幕上是一条未读消息,来自一个陌生号码,只有四个字:
“今晚见你。”
他锁了屏,抬头笑了笑:“先吃口。吃完再说。”
那天晚上,何潇没有回出租屋。他去了城南那家二十四小时营业的琴行——老板姓陈,五十多岁,话少,琴行里永远只放一首曲子,是那首《破晓》的口琴版。何潇第一次来的时候,陈老板听完他吹完一整段,把柜台里一支旧口琴递给他,说:“拿去用,不收钱。”
何潇后来才知道,那支口琴是陈老板女儿留下的。女儿去外地读大学,再没回来过。陈老板不解释,何潇也不问。
琴行后间有一张折叠床,何潇躺上去,盯着天花板上的裂纹,脑子里还在转“暗礁”的进攻路线。他翻了个身,摸出那支口琴,吹了几个音。音不准,但能让他静下来。他记起旧世界的钟声,那种浑厚绵长的铜音,每天傍晚六点准点响起,提醒人“一天完了”,该归家了。在旧世界,无人需要藏起自己,因为无人会说谎。可在此界,一个肯匿名相助的人,常比那些把名号挂嘴边的人更可信。这念头像一根细线,把他从焦虑的漩涡里轻轻拽了出来。
手机震了一下。是周远。
“他们开始查你了。”
何潇坐起来,点开周远发来的截图——那是“暗礁”内部一个加密频道的对话记录,有人正在调取一个叫“何潇”的人的全部公开数据:社保缴纳记录、租房合同、外卖地址、手机号关联的社交账号。最后一条写着:“这人没什么可挖的。穷,单身,没家人。”
何潇盯着“没家人”三个字,手指不自觉地收紧,口琴外壳上留下了一道浅浅的凹痕。他确实没家人。2026年的何潇没有,旧世界的乐言也没有。他本来以为这是弱点,现在发现,这反而是他唯一的盔甲,没有软肋,就没有可以捏的地方。
他回了一条:“让他们查。查完他们会发现,我连一张像样的银行卡都没有。”
周远没回。何潇把手机放下,又拿起口琴,吹了一段。这次音准了。
第二天早上,何潇回到办公室时,门口多了一个人。那人穿着黑色冲锋衣,戴一顶鸭舌帽,靠在消防通道的墙上,手里端着一杯便利店咖啡。看见何潇,他把帽檐抬了抬,露出一张很年轻的脸。
“何潇?”
“看情况。”何潇说,“你是来收债的,还是来送钱的?”
那人笑了一下,从口袋里掏出一张名片。名片上只有一行字:“灰烬·独立安全顾问”。没有名字,没有电话,没有地址。
“有人让我把这个给你。”他说,“他说你看了就懂。”
何潇接过名片,翻到背面。背面用圆珠笔写了一行字,字迹很潦草,像赶时间写的:
“你守十四天,我替你兜底。别问我是谁。”
何潇把名片收进口袋,抬头时那人已经走了,只留下那杯没喝完的咖啡,还冒着热气。他口袋里的手机震动了一下,显示一个未知号码,他看了一眼,没有接。
田笑从门后探出头来:“谁啊?”
“不知道。”何潇说,“但好像是个好人。”
“好人?”田笑皱眉,“这年头好人比熊猫还稀罕。”
何潇没接话。他走进办公室,把那支旧口琴从口袋里掏出来,放在桌上,又看了一眼那张名片。他忽然想起旧世界的钟声——那种浑厚悠长的铜钟声,每天傍晚六点准时响起,提醒人们“一天结束了”,该回家了。在旧世界,没有人需要隐藏自己,因为没有人会说谎。但在这个世界,一个愿意匿名帮你的人,往往比那些把名字挂在嘴边的人更值得信。
“十四天。”何潇自言自语,“够我干很多事了。”
他坐下,打开电脑,开始敲代码。屏幕的光映在他脸上,像一层薄薄的银蓝色。周远站在门口看了一会儿,没说话,转身走了。
那天下午,全域信息网又发了一条新闻:《破晓传媒法人代表周远已被限制出境》。周远看了一眼,把手机递给何潇。
“假的。”何潇扫了一眼,“统合管理署的公告格式不对,公章编号也错了。这是天幕自己做的假新闻。”
“我知道。”周远说,“但别人不知道。”
何潇沉默了一会儿,说:“给我三天。三天后,我让他们连发假新闻的胆子都没有。”
周远看着他:“你打算怎么做?”
何潇没直接回答。他打开一个加密文件夹,里面是几十份文档,全是他在过去两周里从“暗礁”的服务器边缘扒下来的碎片,不是攻击代码,而是他们和天幕之间的沟通记录。大部分被加密了,但有一份没加密干净,露出半句话:
“……确保破晓传媒在三个月内无法恢复直播资质。必要时可以动用‘灰烬’通道。”
“灰烬?”何潇盯着这个词,又看了一眼口袋里那张名片。他忽然笑了。
“有意思。”他说,“他们雇的人,和帮我们的人,用的是同一个代号。”
田笑凑过来:“什么意思?”
“意思是,”何潇把屏幕转过去,“这场仗,可能比我想的更有意思。”
那天晚上,何潇没有继续守服务器。他关了电脑,把那支旧口琴揣进口袋,走出办公室。外面下着雨,不大,像一层雾。他站在屋檐下,吹了一小段《破晓》。
琴声在雨里传出去很远。没有人停下来听,但也没有人觉得吵。他吹完,把口琴收好,掏出手机,给那个陌生号码回了一条消息:
“我守十四天。你兜底。但我不白拿你的——告诉我你是谁。”
消息发出去,石沉大海。何潇也不急,把手机揣回兜里,走进雨里。
他走了几步,忽然停下来。街对面,一个女孩站在电话亭里,手里握着话筒,没有说话,只是听着。何潇认识她,她每天傍晚都来,站在同一个电话亭里,等一个永远不会响起的回音。有人告诉她,她父亲两年前出差前说“到了给你打电话”,然后就没再打来。她等了两年的电话,等来的是父亲所在航班失联的消息。
何潇没有走过去。他只是站在雨里,看着那个女孩的背影,忽然想起旧世界的钟声——那种浑厚悠长的铜钟声,每天傍晚六点准时响起,提醒人们“一天结束了”,该回家了。在旧世界,没有人需要等一个不响的电话,因为没有人会失约。但在这个世界,等待本身就是一种活法。
他转身走了。
回到出租屋,何潇打开电脑,屏幕上跳出一行字:“暗礁”第七次进攻已拦截。他看了一眼时间,凌晨两点十七分。他给自己倒了杯凉白开,坐下,开始写一段新的代码。不是防守代码,是进攻代码。
他要在十四天之内,找到“暗礁”和天幕之间那条最深的链路,然后把它公开。
不是报复。是让所有人看见。
何潇的手指在键盘上疾走,如同一支利剑划破黑暗。窗外雨声渐密,像无数只脚踩过屋顶。他盯着屏幕上的代码,忽然想起那张名片上的字——“灰烬”。在旧世界,灰烬是燃烧之后剩下的东西。但在新世界,灰烬是还没烧完的东西。他笑了笑,手指在键盘上敲下了一个新的函数。
屏幕右下角的数字跳动着:第十三天,二十三小时,四十一分钟。