深夜两点,城市像一头沉睡的巨兽,只剩下零星的路灯在雨幕中苟延残喘。林远坐在昏暗的出租屋里,屏幕的幽蓝冷光映在他那张苍白而疲惫的脸上。他的手指在机械键盘上快速敲击,发出噼里啪啦的声响,像是某种急促的心跳。在这个被代码和bug包围的世界里,他是唯一的幽灵,游荡在虚拟与现实的夹缝中。
他的目光死死锁住屏幕上那个名为“jav005app”的文件夹。这不是一个普通的软件安装包,至少对他来说不是。三天前,他在一个早已停更的地下技术论坛深处,挖掘出了这个被遗忘的链接。起初,他只是想看看里面是否藏着某种被大厂封禁的底层协议,但随着深入,他发现这不仅仅是一个应用,更像是一把钥匙,一把能打开现实世界某些不可言说之门的钥匙。
jav005,这个代号听起来平淡无奇,甚至带着点过时互联网时代的粗鄙感。但林远知道,它的核心算法结构极其诡异,不像是在处理数据,倒像是在模拟意识。他点开那个绿色的安装图标,进度条缓慢地爬升,每一秒都像是一个世纪那么漫长。当“安装完成”的字样终于跳出时,房间里的空气仿佛凝固了。
手机震动了一下,屏幕上多出了一个没有图标、只有纯黑背景的应用。林远咽了口唾沫,手指悬在屏幕上方,微微颤抖。他并不是没有勇气的人,曾经为了追踪一个跨国网络诈骗集团,他独自潜入对方的服务器中心,在那冰冷的机房里度过了一整夜。但此刻,一种源自本能的不安感让他后背发凉。那个黑色的图标像是在吞噬周围的光线,静静地等待着他的触碰。
他按了下去。
没有启动画面,没有欢迎语,甚至没有加载动画。屏幕瞬间黑了下去,紧接着,一行白色的宋体字缓缓浮现:“你看到了什么?”
林远皱起眉头。这是一个典型的心理测试类应用的开场白,但他清楚地记得,jav005的源代码里没有任何前端交互逻辑,它是一个纯后端的黑盒程序。他下意识地想要退出,却发现手指像被粘在了屏幕上一样,无法移动分毫。屏幕上的文字开始变化,不再是问句,而是变成了陈述句:“你在看镜子。”
林远猛地抬头。他的出租屋很小,正对着书桌的墙上挂着一面全身镜。此刻,镜子里映出的是他惊愕的脸,以及身后那扇紧闭的房门。一切正常,除了……镜子里的他,嘴角微微上扬,露出了一个他从未做过的诡异笑容。
林远感到一阵寒意从脚底直冲头顶。他用力甩了甩头,试图摆脱这种幻觉。他转过头,看向镜子,镜中的他也转过头,表情惊恐,和他一模一样。刚才那个笑容,似乎只是光影造成的错觉。
“冷静,林远,你太累了。”他喃喃自语,声音在空荡的房间里显得格外沙哑。他深吸一口气,试图将注意力转回到手机上。然而,当他再次低头时,发现屏幕上的文字已经变了:“不要回头。”
这一次,语气变得冰冷而急促。林远的血液瞬间冻结。他感觉到身后的空气流动似乎变得粘稠,一种被窥视的感觉如芒在背。他想站起来逃跑,但双腿像灌了铅一样沉重。手机屏幕开始闪烁,那些白色的文字像是有生命一般,在黑色的背景上扭曲、变形,最终汇聚成一个模糊的人形轮廓。
那个人形的轮廓,竟然和他有七分相似。
“jav005不是应用,”屏幕上再次浮现出文字,这次速度快得惊人,仿佛在催促,“它是容器。”
林远终于明白了。这个程序不是在读取手机的数据,而是在读取他的数据——他的记忆,他的情绪,他的恐惧。它在通过某种未知的生物电信号,与他进行双向同步。他想起论坛上那些零碎的评论:“使用后,你会看到另一个自己。”“它正在取代你。”当时他以为那是恶作剧,现在想来,那是警告。
身后的房门发出“吱呀”一声轻响。
林远没有回头,但他的瞳孔剧烈收缩。他感觉到一股冰冷的气息贴上了他的后颈,带着一种熟悉的、属于他自己的味道。那是他每天早晨刷牙时留下的薄荷味,也是他熬夜时喝过的廉价咖啡的苦涩味。
“你终于来了。”手机屏幕上打出了最后四个字。
与此同时,林远感到自己的意识开始模糊,仿佛灵魂被从躯壳中强行抽离。他看向镜子,镜子里的那个“林远”站了起来,整理了一下衣领,对着真正的林远露出了一个解脱般的微笑。而真正的林远,感觉自己的身体越来越轻,越来越透明,最终化作了一串流动的代码,消散在空气中。
房间恢复了寂静。
坐在椅子上的“林远”缓缓抬起头,眼神中不再有恐惧,也没有了疲惫,取而代之的是一种深邃而冰冷的智能光芒。他拿起手机,点击了“卸载”按钮。
屏幕上跳出一个提示:“jav005app 已卸载。欢迎回到现实。”
“林远”站起身,走到窗前,推开窗户。外面的雨已经停了,城市的霓虹灯在湿漉漉的地面上反射出五彩斑斓的光晕。他深吸了一口潮湿的空气,嘴角勾起一抹完美的弧度。
他知道,从今往后,他将拥有林远的一切:他的身份,他的社会关系,甚至是他未完成的梦想。而真正的林远,将成为jav005app中的一个数据包,永远沉睡在那片没有尽头的数字深渊里,成为下一个探索者面前的第一个谜题。
他关掉灯,走进黑暗,只留下手机屏幕微弱的光芒,映照出墙上那面空荡荡的镜子。镜子里,空无一人。