冰冷,细长,像纸裁出来的手指,死死扣住了陈九的手腕。
那只手不是从镜面里“伸”出来的,更像镜子本来就缺了这一块,正好在这一刻把空处补齐。陈九整个人被拽得往前一晃,额头几乎撞上玻璃,耳边只听见一阵急促的滴答声,像无数条日志同时开始回写。
镜面里那个人影没有再抬头。
兜帽压得很低,胸口那枚门牌形状的金属牌却忽然亮了一下,牌面上“权限来源:门牌外层”几个字一笔一划往外渗黑,像被什么东西从内部反向咬穿。陈九只看了一眼,就明白不对。
不是他在被镜面劫持。
是劫持他的这条链路,正在被另一层东西拽回去。
“松手!”小马在后面吼了一声,钢尺重重砸在穿衣镜边缘,发出一声闷响。镜框震动,裂纹沿着边缘一圈圈爬开,可镜面没有碎,反而像被敲醒了一样,浮出更多层叠的白字。
`当前镜面版本:1.0`
`当前门牌版本:2-17`
`当前节点版本:失真中`
`反向校验未开始`
陈九眼神一凛。
版本。
他刚才还在想,参数为什么会先动镜面,现在这些字一下把线拽直了。镜面不是被单独接管,而是被拉进了一条版本链里。门牌失真,节点失真,镜面劫持,都只是同一套东西在不同层面上的表现。有人借参数改写版本,让门、节点、镜面同时偏位,等于把快递站整个系统的坐标都挪开了。
而现在,系统开始自我纠偏了。
陈九手腕一翻,反手扣住那只纸手的腕骨。指尖触到的一瞬间,竟没有皮肉的弹性,只有一截被浸透的厚纸,里面像塞着细细的铁丝。那东西猛地一抽,竟没抽回去,反倒被他借力往外一拽。
镜面里的人影终于抬起脸。
没有五官,只有一张被压平的白纸脸,纸面上反复滚动着一行灰字。
`反向校验开始`
“你们先别碰镜子!”陈九冲后面喊。
小马一愣,手里的钢尺停在半空:“什么反向校验?”
“它在把失真的责任往回推。”陈九盯着镜里那张白纸脸,声音压得极低,“门牌失真,不只是门牌坏了。节点失真,不只是系统断了。现在参数要接管版本,先把前两层的错都反过来算到我们头上。”
话音未落,站门外忽然响起一声短促的“咔”。
像是某个旧门牌被人从背面拧断了铆钉。
陈九猛地回头。
玻璃门外那层灰白夜色里,站着的已经不是刚才那个镜面人影。它退后了半步,整个人像被一张看不见的校验页包住,轮廓不断抖散,最后只剩胸口那块门牌还在发亮。门牌号从“阴差快递站”变成了“2-17”,又一闪,竟跳成“2-17-07”。
小马脸色变了:“节点编号。”
陈九心头一沉。
门牌和节点同时失真,才会出现这种串位。门牌不再只代表地址,节点也不再只代表线路,它们开始互相冒名。外面那块门牌已经不是门牌,而是节点的伪装壳;里面这面镜子也不是镜子,而是版本校验的入口。
就在这时,陈九掌心一热。
那张参数单,不知什么时候自己翻了面。原本写着镜面字段的那一页,背面浮出一行新的灰字,字迹一笔一划往外冒,像刚从打印头里吐出来。
`PARAMETER_SYNC=ACTIVE`
`VERSION_HIJACK=IN_PROGRESS`
`BEGIN REVERSE CHECK`
他盯着那行字,脑子里闪过第25章那张参数卡背面的提示。若目标拒签,自动转入镜面校验。现在看,拒签只是第一步,真正的后手是参数同步之后的版本劫持。参数先把镜面攥住,再顺着镜面去改版本,最后把版本改写成一条能吞掉整个站点的规则。
“老周!”陈九突然喊。
角落里,老周这次没有装死。那老头从货架阴影里走出来,脸色白得吓人,盯着门外那块不断变号的门牌,声音发涩:“我早说过,第二层不是给人看的。你看见版本字段,就说明它已经开始重写你看到的东西了。”
“怎么停?”陈九问。
老周沉默了两秒,像在衡量什么,最后才吐出一句:“把参数反向校验回去。”
陈九猛地转头:“什么意思?”
“意思就是,别让它校验你。”老周抬起手,指向镜面里那张白纸脸,“让你去校验它的参数。它不是要把门牌、节点、版本同时改掉吗?你就拿已经失真的门牌和节点去反推它的参数来源。只要能抓住参数落点,版本劫持就会断一截。”
“说得轻巧。”小马咬牙,“我们连它现在挂在哪一层都不知道。”
老周没有接,眼神反而落在陈九手里的参数单上:“你知道。门牌之后是参数,参数之后就是版本。版本被劫持时,最先掉线的不是站里的灯,是站外那条真正的节点链。你再不动,等它把节点全改名,连我们站都不会再有地址。”
陈九没有立刻回答。
镜面里的纸手还扣着他的手腕,冰冷刺骨,却不再向里拖。他知道对方也在等,等他做出签收或者拒绝。可这一次,拒绝不是不签这么简单,拒绝会让版本继续掉线,让门牌和节点在失真的状态里互相嫁祸,最后把整个站点都拖进一条虚假的历史里。
他把另一只手按上镜面。
镜子冰得像一块刚从井里捞出来的铁。
“参数来源。”陈九盯着镜中那张纸脸,一字一顿,“给我反校验源头。”
镜面里先是一静。
下一瞬,整面玻璃像被什么东西从背后重重顶了一下,白字开始疯狂翻滚。原本那几行版本号全被冲散,取而代之的是一串更短、更硬的字段,像是系统在被迫吐出根码。
`SOURCE=OUTER_GATE`
`ANCHOR=2-17`
`NODE=07`
`OWNER=UNKNOWN`
陈九瞳孔一缩。
外门,二层门牌,节点七号。
这条链终于露出头了。门牌失真不是事故,是外门在把二层入口伪装成第一层地址;节点失真不是线路故障,是节点被版本链反向挂接;而参数劫持版本,源头就在外门和二层门牌的交界处。
“看见没?”老周声音发紧,“它不是从镜里来,它是从门牌外层绕进来的。”
陈九还没来得及接话,镜面里的白纸脸忽然裂开一道缝。
那缝不是嘴,是一条细窄的黑线,黑线里传出一个极轻的声音,像有人在远处翻动纸张:
“反向校验确认。”
紧跟着,站门外那块不断跳号的门牌,啪的一声,自己掉了一角。
黑漆剥落,露出底下真正的字。
不是“2-17”。
而是“2-17-01”。
小马倒吸一口冷气:“节点下探了。”
陈九心里却更沉。节点下探,说明版本劫持已经开始把更底层的子节点往外拽。再晚一步,整条链路会从单点失真变成全站掉线。到时候不是他们找门,是门来找他们。
他猛地收紧手指,照着参数单上的 `SOURCE=OUTER_GATE` 用力一擦。
纸面上那些灰字竟像被擦开一样,露出一层更细的底纹,底纹中间夹着一个被压扁的印记,像是某种旧式门封,封面只留半截编号。
陈九盯着那半截编号,心里一震。
这不是站里的东西。
这是总控层的留痕。
也就是说,参数劫持版本的手,不止在站内。
门外那块门牌忽然又抖了一下,像有什么人从背面拽住了它。下一秒,玻璃门外的灰白夜色里,竟浮出一条长长的版本进度条。进度条没有文字,只有不断下坠的白点,白点每掉一次,门牌号就跟着变一次。
`2-17-01`
`2-17-00`
`2-16-99`
陈九呼吸一滞。
版本在掉线。
不是局部,是整条外门版本链在先行崩落。只要掉到零,参数就会把缺口直接补成新的版本,旧门牌和旧节点都会被抹成不存在。那时再去追,只会追到它给你留的壳。
“老周,”陈九低声说,“站里有没有能直接校验参数的东西?”
老周看着他,像终于等到这一句,缓慢点头:“有。分拣台下面那台旧秤,底层连的是最老的白表校验口。可你一旦开它,就等于把参数放到明面上去。”
“现在不放明面,来不及了。”
陈九松开镜面,反手一把扯开分拣台下面的挡板。灰尘扑起的一瞬间,一台黑旧的电子秤露出来,秤盘上还压着一张发黄的白表底单。底单边角卷起,正中间有一个已经褪色的校验框,框内空着,像在等输入。
小马怔了一下:“你要拿门牌和节点去校验参数?”
陈九没有回头,只把那张参数单拍在秤盘上。
“不是拿去校验。”他说,“是让它自己显形。”
白表底单接触到参数单的瞬间,整台旧秤发出一声极轻的嗡鸣。屏幕亮起,先是一片雪白,随后白底开始一层层退去,露出底下被压住的字段。陈九盯着屏幕,只见原本空白的校验框里,自动浮出两个位置:
`DOOR_TAG`
`NODE_TAG`
紧接着,系统弹出一行新提示。
`请分别输入失真门牌与失真节点,进行反向校验。`
门牌与节点同时失真开始反向校验参数开始劫持版本先掉线。
陈九抬手,指尖停在输入框上方,半秒都没犹豫,直接把刚刚从外门上剥出来的半截编号打了进去。
`2-17-01`
然后,他又把分拣台下那张回滚日志里翻出来的节点串,连同门外掉落的一角编号,一并输入。
`07`
按下确认的那一刻,站内所有灯同时一跳。
不是灭,是像被谁从版本链上硬生生拽了一下,整排灯泡都发出细微的嗡鸣。镜面里的白纸脸瞬间扭曲,门外那块外门门牌猛地往下一沉,像有谁从背面扯断了第一根线。
屏幕上,校验结果开始滚动。
`门牌失真已定位`
`节点失真已定位`
`参数来源开始回溯`
`版本劫持对象:未完成`
最后一行字刚浮现出来,整台旧秤忽然爆出一声刺耳的报警。
陈九眼角一跳,抬头时,只见镜面深处那条长廊已经彻底变了。原本挂满镜子的墙,现在只剩下一排排空框。空框之中,有一扇门正缓慢向外凸起,门牌号从模糊变清晰,最后定格成一行新的字。
`参数层`
门开了一条缝。
缝里先掉出来的不是人,也不是纸。
是一段正在掉线的版本号。
紧跟着,一只戴着黑手套的手,从版本号后面慢慢伸了出来,指尖夹着一张新的白表。
白表上只有一句话。
`参数已开始接管版本,下一节点将强制掉线。`
陈九盯着那句话,眼神一点点沉下去。
他知道,自己刚刚校验出来的,只是参数劫持版本的第一层落点。
真正的版本门,才刚露头。
本书首发来自四月天小说网,第一时间看正版内容!
