旧笔记本风扇发出苟延残喘的嘶鸣,在这死寂的深夜里格外刺耳。屏幕幽幽的蓝光打在我脸上,我弓着背,眼睛几乎贴在屏幕上,手指在油腻的键盘上敲击,因为用力而微微痉挛。
我在尝试一个很多年前,还是学生时,从某个技术论坛角落里看来的、半懂不懂的方法。据说可以通过一些非正规的途径,抓取到特定网络房间内部分活动节点的信息,比App后台显示的更“原始”一些。这当然不道德,也可能违法,但此刻,这些念头轻飘飘的,没有任何重量。我只想确认一件事:那个直播间里,除了我,还有谁。
或者说,还有没有“谁”。
教程晦涩,步骤繁琐,很多工具链接早已失效。我像在黑暗的迷宫里摸索,一次次碰壁,被各种报错和警告阻拦。汗水顺着鬓角流进眼睛,蜇得生疼。我不停地用手背抹去,视野模糊了又清晰,清晰了又模糊。窗外的天色,就在这屏幕蓝光与我粗重呼吸的交替中,不知不觉泛起了灰白。
失败。又是失败。
就在我几乎要放弃,准备合上电脑,接受那令人窒息的等待时,一段古老的脚本命令阴差阳错地跑通了。屏幕上,黑色的命令提示符窗口里,开始刷出一行行急速滚动的白色字符。
不是Ip,而是一些更底层、更混乱的标识符,夹杂着乱码和看似无意义的数字字母组合。我紧紧盯着,眼球酸涩胀痛也不敢眨眼。滚动了大概十几秒,速度慢了下来。
然后,停下了。
窗口里,最终只稳定地显示着两行信息。
第一行,关联着一个标识符,后面跟着我熟悉的Ip段:202.108.22.xxx。这应该就是我,陈默。
我的视线缓缓下移,看向第二行。
时间,在那一刻被拉长了,又被狠狠地挤压。我的听觉先于视觉消亡,整个世界褪去了所有声音,只剩下一种高频的、尖锐的耳鸣,穿刺着我的颅骨。紧接着,视觉也开始扭曲,屏幕上那两行字像是浸在了水里,晃动,变形,然后不可思议地……重叠。
第二行信息,关联着另一个不同的标识符。
但后面的Ip地址,赫然也是:202.108.22.xxx。
一模一样的Ip段。一模一样的数字。
不,不仅仅是Ip段。当我像疯了一样,把脸凑到屏幕前,几乎要撞上去时,我才看清,在那串Ip地址后面,还跟着一串极短的、用于区分局域网内不同设备的尾码。而这两行信息里的尾码……也是相同的。
这不可能。
绝对不可能。
同一个Ip地址,在同一时间,从同一个物理网络端口,发出了两种不同的数据流,进入了同一个直播间?
这违背了所有我知道的、关于网络的基础常识。就像同一个门牌号里,同时走出了两个完全不同的人,去了同一个派对,而门牌号本身却没有分身术。
除非……
除非其中一个,不是从“门”走出去的。
它是从镜子里爬出来的。
“咣当!”
我猛地向后栽倒,带翻了椅子,后脑勺结结实实撞在地板上。沉闷的撞击声让我眼前一黑,金星乱冒。但我感觉不到疼,只有冷,一种从骨髓最深处渗出来的、绝对零度般的寒冷,瞬间冻结了我的四肢百骸。
我躺在地上,瞪着天花板上那片被窗外渐亮天光衬得更加污浊的阴影,胸膛剧烈起伏,却吸不进一丝空气。肺叶像是被那双白手套死死攥住了,挤压着,榨干最后一点氧气。
九百九十九个……
弹幕列表里,那些滚动的、狂热的、千篇一律的欢呼……
“已到账!”“感谢老师!”“跟着冲!”
它们……它们全都是……
从我这里……“复制”出去的?
一个庞大的、精心编织的、只为我一个人存在的剧场。观众是我,演员也是我,无数个我的影子,坐在台下,为我一个人表演着财富的狂欢。而舞台中央,那双戴着白手套的手,从容地牵引着所有提线。
金老师……他知道吗?他当然知道!他就是导演!他就是那个,用我自己的渴望、贪婪、恐惧,捏造出九百九十九个鬼影,然后微笑着看我跳进火坑的魔鬼!
“嗬……嗬……”
我终于喘上了一口气,发出破风箱般的声音。喉咙里涌上一股浓烈的铁锈味。我挣扎着爬起来,手脚并用,爬到床边,抓起手机。屏幕亮起,刺得我眼睛生疼。“金涌理财”App的图标,安静地躺在那里,像一个咧开的、嘲讽的嘴。
资产页面。灰色的三十万。跳动的倒计时:18:32:11。
还有十八个小时。
十八个小时后,我的所有,就会像一滴水掉进沙漠,无声无息,消失得干干净净。不,甚至不会消失,只是换了一种方式,流进那双白手套主人的口袋里。
报警?
这个念头一闪而过,随即被更深的恐惧淹没。我怎么解释?说一个理财直播间里全是机器人?警察会相信这种荒诞的故事吗?证据呢?那段我自己都解释不清的脚本抓取结果?他们只会把我当成一个赔光了钱失心疯的赌徒。甚至,如果“金涌”背后有势力,我的报警会不会打草惊蛇,让他们立刻卷款消失?
找平台?平台和主播,本就是一根绳上的蚂蚱。
告诉我那九百九十九个“我”去?它们就在我的手机里,我的屏幕后,无声地嘲笑着我。
巨大的、无处可逃的绝望,像水泥一样灌满了我的胸腔,沉重得让我直不起腰。我缩在床脚,抱着头,指甲深深掐进头皮。身体一阵冷一阵热,牙齿咯咯打颤。
不能这样。不能就这样完了。
三十万……父母的,姐姐的,我的……所有……
一个更疯狂、更黑暗的念头,在这极致的绝望和恐惧中,如同毒藤般滋生出来,缠绕住我的心脏。
既然这是一个为我量身定做的陷阱。
既然那九百九十九个都是“我”。
那我……能不能……成为那第一千个?
不是作为受害者。
而是作为……它们的一员?
这个想法让我自己都打了个寒颤,胃里一阵翻江倒海的恶心。但紧随其后的,是一种病态的、近乎自毁的兴奋。像走在悬崖边缘,低头看着万丈深渊,反而生出一股往下跳的冲动。
如果“金涌”的系统,能把我的数据复制成九百九十九份,填充这个骗局。那么,有没有可能……存在某种漏洞?某种后门?能让我……接触到真正的核心?哪怕只是窥探到一点点真相?或者,留下一点痕迹?
我知道这想法有多危险,多愚蠢。这无异于主动把脖子伸进绞索。可坐以待毙的恐惧,已经超过了这一切。
我重新扑到电脑前,屏幕还停留在那个命令窗口。那两行一模一样的Ip信息,像两只冰冷的眼睛,与我对视。
我开始搜索,用尽我能想到的所有关键词组合:“直播 协议 伪造 用户”、“Ip 镜像 攻击”、“傀儡客户端 逆向”……我闯入那些藏匿在互联网角落的、见不得光的论坛,在满是蠕虫病毒和诈骗广告的页面间穿梭,寻找任何可能相关的、破碎的信息。
时间一分一秒过去。窗外的天光彻底大亮,城市苏醒的嘈杂声浪隐约传来,却丝毫传不进我这间被绝望和疯狂笼罩的囚笼。我的眼睛布满骇人的红血丝,脸颊凹陷,嘴唇干裂起皮。饿了,不知道;渴了,舔舔嘴唇。全部的精神,都集中在那闪烁的光标和屏幕上滚过的天书般的代码片段上。
我找到了一些东西。一些关于如何模拟客户端心跳、如何伪造用户行为数据、甚至如何尝试“替换”或“劫持”某个已有虚假连接的技术讨论。支离破碎,真假难辨,如同在深海里打捞沉船的碎片。
但我没有别的选择。
我尝试着,依照那些模糊的指引,修改参数,编写简单的指令,向那个我刚刚抓取到的、属于“另一个我”的数据通道,发送试探性的信号。
第一次,毫无反应。信号如同石沉大海。
第二次,被立刻弹回,伴随着一个冰冷的错误码。
第三次……
在我自己都无法相信自己还在坚持的时候,当我发送出一段精心构造的、夹杂着从金老师直播间里收集到的特定“能量”“共振”之类术语的伪装数据包后——
黑色的命令窗口里,滚动的字符忽然停顿了一下。
然后,缓缓地,吐出几行新的、绿色的反馈。
不是欢迎,也不是拒绝。
而是一串极其复杂的、动态变化的令牌(token)代码,以及一个……临时的、加密的次级数据通道入口标识符。
通道的那一头,弥漫着深不见底的黑暗。但我仿佛能感觉到,有什么东西,在黑暗中,动了一下。
它“看”到了我。
不是看到陈默这个输光了的傻瓜。
而是看到了一个……新出现的、似乎符合某种规则的“数据影子”。
我成功了?不,远远没有。这只是把脚迈进了更深的沼泽。
但我停不下来了。
我死死盯着那串绿色的字符,脸上露出一个比哭还难看的、扭曲的笑容。手指因为兴奋和恐惧,抖得更加厉害。
倒计时,还在手机屏幕上,冷静地跳动。
16:07:45。