陈默盯着林可身上的红色错误代码看了很久。
久到他的眼睛开始发酸,久到窗外暴雨的声音变成了一种均匀的白噪音。代码层中,林可身上那段入侵的代码还在闪烁,像一条寄生的蛇缠绕在原本属于她的数据上。
先看日志。
这是他的本能。遇到Bug,不要急着动手。先看日志,搞清楚发生了什么,再决定怎么修。这个习惯他从入行第一天就养成了,爷爷也说过类似的话——不过爷爷说的是先望闻问切,再开方抓药。
他在代码层中调取了林可的运行日志。
日志很长。从她今天早上进入公司开始,每一条操作都有记录——打卡、开电脑、接电话、整理文件。一切正常,直到凌晨一点四十三分。那个时间点,一条异常日志出现了:external.source.inject:[origin:seal_37_leak],target:林可.identity.main,type:override。
凌晨一点四十三分。正好是他尝试隔离天机进程端口的时刻。他的操作加速了封印的泄漏,泄漏的数据正好碰到了当时还在加班的林可。
是他的错。
陈默把这条信息压到意识深处。现在不是追究责任的时候。现在要修。
他仔细分析了那段红色代码的结构。变量覆盖型——这种Bug他见过无数次。一个全局变量被一段未经验证的外部数据覆盖了原始值,导致引用这个变量的所有功能全部错乱。在普通程序里,这种Bug最多让一个网页崩溃。但在天机系统里,它让一个活人的身份数据被替换了。
逻辑结构他很熟悉。if/else、赋值、覆盖、异常处理——虽然具体的语法他不认识,虽然关键词都是他看不懂的古文字符,但逻辑骨架是一样的。就像一个Java程序员第一次看Python——语法不同,但思路是通的。
编写它的人对代码结构的理解远远超出了现代软件工程的范畴。
问题在于:怎么修。
他在代码层中伸出手,小心翼翼地触碰了那段红色代码的边缘。触感依然像冰凉的水,但这次多了一种阻力——像水面下有什么东西在推他的手指。
系统在警惕他。
这个认知让陈默的心沉了一下。天机系统不是一个被动的程序。它有某种——他不知道该不该叫意识——至少有某种警觉。它知道有人在操作它的代码,它不确定这个人是谁、要做什么,所以它在抵抗。
我是管理员。他在代码层中把管理员标识展开——算盘上的那串金色字符。
抵抗的力道减弱了一点。不多,但够他把手伸进去。他感觉到代码层的表面像一层薄膜,被他轻轻推开了一个口子。薄膜的另一边是温暖的、流动的数据,像河流一样从他的指缝间穿过。
他开始编写补丁。
这个过程不像写代码——他没有键盘,没有编辑器,没有语法高亮。他需要在代码层中用意识构建一段代码,像用积木搭房子。每一条指令都是一块积木,他要把它们按照正确的顺序拼在一起。积木不是方的也不是圆的——它们更像是光的碎片,不同的形状对应不同的逻辑功能。方形的是条件判断,三角形的是赋值,圆形的是循环。他不确定自己怎么知道这些的,但当他需要的时候,这些知识就在那里。
像继承了一个类库。爷爷的类库。
第一条指令:备份当前状态。在覆盖代码完全删除林可的原始数据之前,先保存一份副本。他在代码层中找到了林可的原始数据残片——它们还没有被完全覆写,像废墟下面埋着的一本日记。他用一条浅蓝色的代码把它们包裹起来,暂时隔离。
第二条指令:识别入侵代码的签名。他在那段红色代码中找到了一个特征值——seal_37。确认来源:第三十七序封印。
第三条指令:清除覆盖代码。这一步他最小心。不是暴力删除——暴力删除会导致数据空洞,比Bug本身更危险。他需要一个一个地解除覆盖,像拆弹专家剪电线。红色的字符在他的操作下一个接一个地褪色、消散,露出底下的原始数据。
每解除一个,太阳穴就跳一下。不是痛,是涨。像有什么东西从他脑子里被抽走。
第十二个的时候,他的鼻腔里闻到了铁锈味。他用手背擦了一下——手背上有血。鼻血。
他没有停。
第二十三个的时候,林可的眼睛开始恢复颜色。纯白的底色中出现了浅棕色的斑点,像宣纸上被溅了茶水。
第三十五个的时候,所有红色代码都被清除了。陈默在代码层中把备份的原始数据重新写入。蓝色的字符流恢复了正常的颜色和节奏。林可身上不再有红色的光芒,她的代码描述重新变成了安静的浅蓝色。
她眨了一下眼睛。
陈……陈默?她的声音沙哑,像一台很久没用过的收音机。她茫然地看了看四周,看到了漆黑的办公室、闪烁的屏幕、站在面前的陈默。我……我怎么在这里?头好疼。
你加班睡着了。陈默的声音很平。回去休息吧。
哦。林可揉了揉太阳穴,像是真的以为自己只是睡着了。好。你也早点回去。
她拎着帆布袋走了。脚步有点踉跄,但走路的姿势恢复了正常。走廊里传来电梯到达的叮的一声,然后安静了。
陈默站在原地。代码层中,林可的数据已经完全恢复正常。浅蓝色的字符流安静地包裹着她的离开轨迹——一段正在衰减的移动日志,每过一秒就少一行。他的第一个补丁——成功了。
然后他感到头疼了。
不是普通的头疼。是从太阳穴开始,蔓延到整个头颅,像有一个气球在里面慢慢膨胀。视线边缘出现了模糊的光斑,像相机的过曝。他扶着桌子坐下来,等了一会儿,头疼才慢慢减退。鼻腔里的铁锈味也淡了,手背上干掉的血迹蹭到了键盘边缘。
他用纸巾擦了擦。纸巾上沾了一点暗红色的痕迹。
他看了一眼代码层。
第37道封印的完整性:8%。
还在下降。他修好了林可身上的Bug,但那只是泄漏的水滴。根源——水管的裂缝——还在。
错误日志中出现了新的警告:检测到外部攻击源。攻击类型:主动解封。攻击者:未知。
陈默盯着主动解封这四个字。不是自然衰减。不是系统老化。是有人在主动攻击封印。
他靠在椅背上。头疼还没完全消退,鼻腔里的铁锈味还在。手背上沾着已经干了的鼻血。窗外天快亮了,云层的边缘被染上了一层灰白色的光。
他低头看了一眼手腕上的算盘珠子。珠子安静地待在那里,温温的。
第一次修Bug。成功。
代价是几毫升的鼻血和一整天的头疼。
值得吗?
他不知道。但林可走了。她不知道发生了什么,不知道自己差点被一段古老的代码替换掉全部身份,不知道面前这个平时不说话的同事刚刚用一种他自己都还没搞懂的方式救了她。
她只是觉得头疼。
陈默闭上眼睛。代码层在意识里继续运行。安静。蓝色。像一个刚刚经历过风暴的系统,在等下一次报警。
下一次不会太久。8%。还在降。





京公网安备 11010802028299号