顾隐推开门,玻璃门上的铃铛响了一下。他没抬头,径直往里走。网吧里灯光昏暗,空气里混着泡面味、烟味和人坐久了的汗味。几台机器前坐着通宵的人,有的趴在桌上睡了,有的戴着耳机吼着游戏术语,还有人在吃外卖,塑料盒堆在桌角。
他沿着墙边走,目光扫过一排排机位,最后停在西南角第三排靠窗的位置。那里背光,屏幕反光小,旁边没人,正对出口。他拉开椅子坐下,帆布鞋踩在地上没发出太大声音。
他从背包里拿出笔记本电脑,外壳有磨损,边角贴着褪色的防滑垫。插上电源,开机。又从内袋摸出一个黑色U盘,插进接口。等系统启动时,他摘下眼镜擦了擦,重新戴上,手指在触控板上点了一下,关掉所有浏览器标签页,只留下两个窗口:一个纯黑的命令行终端,另一个是轻量级代码编辑器,背景是深灰色,字体调成了最小号。
他把手放在键盘上,悬了两秒,开始敲。
键入速度不快,但每一个按键都落得准,没有多余动作。屏幕上逐渐出现一行行字符,变量名极简,函数命名直白,注释少得几乎看不见,只有三处标了斜杠加括号:“待接入验证模块”“预留权限绕过接口”“日志清除触发点”。
他中途停下一次,是因为袖口蹭到了空格键。他立刻收手,用指腹把袖子往上拉了一截,露出手腕内侧一道浅疤,随即压回衣料。然后拿湿巾擦了键盘表面,再继续。
邻座是个穿连帽衫的少年,扭头看了眼他的屏幕,嘀咕:“这人也在打war3?怎么界面这么素?”说完就转回去,继续自己满屏特效的游戏画面。
另一侧的情侣男生凑近女友手机拍照,笑着说:“现在还有人熬夜写作业啊?”女生把照片发出去,配文“凌晨一点半的卷王”,还加了个奋斗表情包。
顾隐没反应。他喝了半瓶冰水,瓶身凝结的水珠顺着指缝往下流,他换手捏住瓶颈,避免滴到键盘。屏幕光映在他脸上,镜片反着冷白的光,看不清眼神。
他记得每一个语法结构,每一段逻辑嵌套,不需要查资料,也不需要测试环境。所有东西都在脑子里,像十年前就写好了一样。他只是在把它们搬出来,组装成一个新的框架——通信加密层用了非对称密钥交换雏形,进程伪装部分参考了系统服务劫持机制,日志清除则预设了时间戳偏移和文件碎片覆盖策略。
这些不是普通程序该有的设计。
但他没停。中间换了次姿势,把椅子往后调了十厘米,避开顶灯直射。凌晨三点十七分,外面街面彻底安静下来,只有远处环卫车碾过路面的声音。他揉了下太阳穴,继续敲。
四点五十二分,天边开始泛灰。清洁工进来拖地,从门口一路推着水桶往里走。早餐摊的卷饼炉子也响了,油香飘进玻璃门缝。有人退了机位,打着哈欠往外走。新来的人在前台登记,声音吵起来。
顾隐终于停下。
双手交叠枕在脑后,闭眼呼吸三次。再睁眼时,他保存文件,命名为“Project_Zero_v0.3”,存进U盘的加密分区。拔下U盘,贴身收进内袋。合上笔记本电脑,屏幕暗下去的一瞬,残留的光纹在他瞳孔里闪了一下。
他靠在椅背上,闭目五分钟。周围人陆续换班,早班网管打卡上岗,刷卡声滴滴响。他睁开眼,视线扫过屏幕上的倒影——还是那件灰色连帽卫衣,头发有点乱,眼下发青,但眼神没晃。
低声说了一句:“验证环境还没搭好……等今晚。”
然后他没动,也没起身离开。背包搁在脚边,手搭在膝上,静静坐着。等着续费时间一到,就能刷身份证再开一晚机。