第 2 章

第2章 觉醒读心·规则漏洞

## 第2章 觉醒读心·规则漏洞

门锁“咔哒”一声落下的瞬间,虞眠后颈的汗毛全竖了起来。

她没有回头。机房冷白灯光把她的影子拉成长条,屏幕上那行水印的红色字体还在视野里灼烧,沈薇的名字像一根扎进眼球的钉子,短暂地夺走了她的呼吸。

等到门外的脚步声彻底消失,虞眠才把手里那串代码慢慢敲进键盘。

屏幕跳转,后台日志铺满视野——“虞眠”名下的投票记录正在被逐条标记为“异常”。系统操作员ID是周延成的工号,审核备注写着:**技术维护,预计清零——已核准。**

二百万三十万票的“技术维护”。一排排被划去的数字在她眼中翻涌。虞眠握紧鼠标,塑料外壳上的汗渍洇出模糊指痕,记忆里那些死前的画面后涌:

舞台侧暗角,沈薇的手推在她后腰——

“虞眠,委屈你了。这个C位,我更有商业价值。”

然后是坠落、灯亮、观众的欢呼混着骂声。周延成在评委席低头避开镜头,张明远在后台拥抱沈薇的父亲。而她被雪藏的那三个月里,每天睁眼就是一条新的恶评:“废物”、“黑幕C位”、“不如沈薇一半”。

那真的只是三个月前的事吗?

现在她重新坐在这个冰冷的机房里,冷气呼呼吹着后颈,键盘噼啪响的声音像自己的心跳。

虞眠没有删代码。

她选中了所有被标记的数据,新建一个隐藏日志导出脚本,设成每十秒自动向她的匿名邮箱发送一次备份。然后她打开节目组公示页面的源文件,找到合同细则第47条第3款。

> “第十六条 计票公示

> 进入决赛直播阶段,最终票数统计系统应接入独立第三方审计端口,所有实时票数变动应在粉丝公示通道内等时呈现。任何人工干预行为应记录系统操作日志并同步存档备查。”

她死死盯着这一行。

上一世她傻到以为规则只是白纸黑字上的漂亮话满足观众。但现在她知道,合同每一页都埋着炸弹,关键是引信握在谁手里。这一条写明实时公开数据、异常留痕——任何标红清零必须记录操作者权限、操作时间、审批流程。如果数据在直播画面中被公布于众,任何人篡改都会被赤裸裸地暴露在百万双眼晴下。

虞眠把这个漏洞截屏,存进加密文件夹。然后她动了动手指,把后台日志按操作员排序梳理出那条时间线:

张明远五分钟前登录总控台预览直播界面,填写了批准发起“异常票清零”的自动回复模板——周延成同步签署执行序列;沈薇的名字可能已经提前排在新计票模板上,换句话说就算票数干净,模板以视觉方式放在那,舞台上也只会显示三个字——“沈薇”。

他们甚至连一个备用方案都没准备。

因为他们信——重生前的虞眠一定不会出现破绽。

虞眠关掉程序,从机房角落的铁皮柜里翻出一件带帽工装,套在T恤外。她从后门绕出天井逃回宿舍的时候,舍监阿姨的灯熄着,隔壁选手房还传来半熟睡的梦话,嘴里反复念着某位导师的编舞动作。

她路过沈薇的房门。

声控灯刚亮,房里有低低的说话声,像是捂着嘴打电话。

她脚步放慢,心里试探性念了句——

**“沈薇,你刚从我房里拿走什么了?”**

下一秒,她的左耳涌进一阵像收音机跳频的刺啦声,里面突然冒出一个女人的声音,欢快得像在讨论新裙子:

“删掉啦,她那个破手机我交给明远哥的人处理了。你说她那么蠢,居然会录音……”停顿,“没关系的呀,她还能有什么证据?票清了,镜头里我是顺位后补,只要票仓够大,观众只看总票。”

这声音愉快放松,完全没意识到自己真正的想法已经被虞眠听见了。

虞眠屏住气。心里有根弦在跳,像断掉的琴弦开始割手指了。她轻轻又往下按一层——沈薇心声在另一层里出现了更多细节。

“……周延成的人说已经在她票仓里做了两次清洗,明早再核验一次就干净。那两百多万要是算给她我们赞助上亿的广告效果都没法做了,思岚姐说了,C位必须姓沈。虞眠?虞眠算什么东西,她妈早死了,她爸那种三流歌手能给她什么背景,翻出她连个平台托管都没有……”

“哐。”

虞眠手里的钥匙串掉在地上。那是上一世的习惯,她拧门锁的时候手腕太用力,过肘扭转的时候钥匙滑下来。她捡起来时发现手心已经湿透,胸口像压了一块冰。

她忽然意识到自己在发抖——不愤怒,只是冷。

宿舍门没锁,被子叠得跟她走时一个折角。空荡荡的床沿上面放着一碟洗干净摆好的葡萄,像是补偿,也像是示好。虞眠把那碟葡萄倒进垃圾桶,从箱子最底层翻出一本淘汰的选秀宣传手册,在背面写:

**四个必须做的事:**

一、保留证据。

二、找到一位不受节目组控制的律师。(林深——这是上一世唯一没有背叛我的第三人)

三、绕过节目组信号管制,打开数据后台直播通道。

四、零点之前,找到播放预置页面之外的真正原始票数数据。

虞眠看着这张纸,手腕交叠在胸前冷静下来。

十七分钟前她只是个被困在系统旁亲手触摸到黑幕的逐梦者。但现在,她揉皱了那张纸,把灰从阳台缝隙抖进夜风。外面星压低得像要碰到铁栏,C位将在白天公布,谁也不知道直播台上涌进来的到底是掌声还是被掩盖的旧日重现。

她回到屋里,拿起那部碎屏的手机鼓捣起来。安卓安卓安卓——重启,黑屏,长按电源和音量下键进入恢复模式。这部机子是进组前买的二手机没有插卡没绑定任何社交媒体账号,被出厂重置后能当局部终端用。只要能连上信号、匿名上线。她不懂高级战术也没有黑客技能,但她以前制作demo的时候用过剪辑软件的后台代理,知道那种上传缓存接口可以秒转到别的机器。

天亮还有六个小时。

虞眠把亮着启动动画的手机平摊在桌面上,忽然注意到系统通知还在闪烁,屏幕左上角残留一整行半透明的字样,半截老消息早已经被其他人给封了来源地址,只剩下发送人结尾处的日期——后天凌晨、匿名邮箱。消息内容短短几句话:

**“比赛录制数据二套体系由凯文公司代理审批,审计端口协议号可以抢提转成直播公开来源吗?我知道你懂音乐转码——周延成不是唯一股东能跳过复核的人。”**

她盯着那串号码,脑浆像被泵进一种电流。谁?谁发的?是林深还是上一世某个同样被节目组坑害的选手预警?还是这个手机真的是预置空间故意留给她的一根绳子?来不及多想,她先点开机器直落底层,长按拨号拨通了七个很长很长的号。

电话“嘟”了好一会儿。然后那边被通接起来的时候,对面楼里忽然投来一道光,在地板反射又晃了一下墙。只剩三小时四十八分。门口突然响起了敲门声。紧接着,一道熟悉的女声从门外压低了喊:

“虞眠——你再不开门,我就不敢保证那录像能在明天九点之前完整递给所有人了。”

她在门缝塞进半个剪过的旧照片。侧脸,侧脸,虞眠侧脸。后台里的监控画面只剩一秒就能看到手上摸到电源。

——对方是沈薇?

又不像沈薇手段的活。虞眠把照片翻过来看背面。上面写着另外一句话:

“你想先听哪一种真相?”

虞眠把那张照片捏在指间,拇指按住背面的字迹。那笔迹她见过——上一世决赛彩排后,林深递给她的那张律师名片背面就是这种偏扁偏硬的笔锋。她已经顾不上多想,把照片塞进口袋,拉开门的瞬间,门外的安全感应灯正好亮起来。

一个穿着灰色卫衣、压低帽檐的女人站在台阶上,脸藏在灯光打不到的阴影里,只露出下半截下巴和一小段脖子。虞眠认出来这不是沈薇的身形,沈薇比她高半个头,肩更窄,而这女人的肩膀线条沉稳,像那种经常背着设备跑场子的人。

“你发的那条匿名邮件?”虞眠压低声音。

“先进去。”女人的声音毫无波澜,侧身进了门,脚后跟带进一股消毒水和雨混在一起的气味,“楼道摄像头十二点之前自动转存储盘回滚,不会留下我来过的痕迹。”

她进了屋,把帽子摘下来。短发,鬓角别在耳后,左脸上有一颗很浅的痣。虞眠确认自己从没见过这张脸。

“我叫骆笙,三年前给凯文做过事,负责信号路由。”

“为什么找我?”虞眠没有客套。

“因为我看到了你的替换流程。”骆笙坐在床边,两只手搭在膝上,像一个等成绩的学生,“周延成让外包公司做了两条票路,明路挂在星艺乐港公开后端,暗路走凯文集成的物理段。两边可以对冲,如果有人质疑原始票仓,你会发现明路上少的票早就被灌进暗路里的整数偏上。这样,就算你存疑,所有接口从头溯源都合逻辑。”

“你手上有路由截图。”

“截图不行,会被认定P图。”骆笙看她一眼,“要拿到设备进后台直播推流端的握手协议——直接把真实流灌进你的镜头预置位。”

虞眠知道这条路。选秀节目的现场投票并不关键,关键在现场直播切画面的那一刻走的是哪台服务器。如果她能抓到推流端第一条数据的握手,她就能把真票箱直接送到画面里。那不是简单的黑幕扯皮,那是瞬时的公共证据,谁也改不了。

“你要什么?”她问。

“我只要你一件事——把推流时间提前到公布结果之前三十秒。”骆笙停了一下,“因为过了那个窗口,系统校验防推流密钥会自动换账,你的人手再快也拉不回来。”

这话让虞眠想起手机里残留的那行模糊消息,发送时间显示“后天凌晨”。她本来以为是预告,但搞不好它就是对时间节点的提醒。她开始觉得手机里藏着一整套离线进程。

她点了点头。

“还有半小时我就得从这儿走。”骆笙将一台火柴盒大小的黑色信号转接器递过来,接口是type-C那种双焊点防反锁式,“你原来那部安卓上有demo代理剪辑软件对吧,用它拖到第二轨之后默认自动上传缓存,后台以为只是用户上传素材。没人会为一段demo视频审核链路。”

虞眠打开剪辑软件。

她点开工程,浏览器的资源链接飘满了顶部几行变量参数。她认出了其中一个十六位编码,是骆笙刚给她的端口标号。手指稳稳地拖出一个历史工程里的音轨缓存包,把骆笙的黑盒子作为一个“音频硬件插入设备”挂上去。屏幕上立刻跳出了设备标号——直播兼容层,未签名驱动转入缓冲区中。

这是一个非常规口的接入点,剪客户端多轨环境自动走组态外通道。一旦上行信号到一号节点,程序会产生十几毫秒的缓存识别延迟。如果顺利,就是两个路由并行播的时候。

她敲了一行文字给骆笙:

**“驱动接口收到请求了没?”**

骆笙看了一眼屏幕,竖起拇指轻轻晃了下。

凌晨四点二十。他们坐在窗台的硬水泥地面上,背后贴着冰凉的墙。

骆笙撕开一包能量胶挤进嘴里,说自己有一个问题:“你上一轮是如何做到在那种强压下能够拉回那样稳定的票仓?现场后台备采的切片评论都是‘这个唱作型选手全程无话筒破音’——三亿以上现场观看的人在现场记录的时候用了这句做热门标签。你觉得那时候是帮你还是害你?”

虞眠没有回答。她记得十三天前那个晚上在练歌房里。沈薇趁她换谱时顺手拽掉了麦克风线两毫米的样子。那两毫米让高频推子不稳,现场高音微飘,破音声响通过均衡进公众耳朵。她清楚观众会认为她上台之前心态崩了。

她冷静下来:“骆笙,你还记得周延成外面那个产品外包公司叫什么名字吗?”

“长川联动,法人是外聘。”骆笙说出名字后舔了下手指上残留的胶液,“你问这个想做什么?”

“马上五点。”虞眠自顾自说,拿起那部手机按下联系人按钮,“拨通固定直连模式。”

她没有直接进入系统端口。她把骆笙携带的黑盒子反接出来,做了一件极其简单但在这行里容易被忽视的事情:调用长川联动的公共地址目录,往里头推了一百八十份打印分辨率的数据占位图,全部命中文案里“最终名次生成时间及实际排名候选”的数据模型页。

系统马上响应:发现外部合并图层数据溢出。

这种不攻入只塞辅存的做法,会让防御较弱的服务器占用大量错误校验通道,产生短暂反应停顿。停顿刚好够把骆笙接入流的通道移到前栅栈。如此,主流后台读到一串字符串,校验器会把数据自动挂到临时配置栈里——被裁剪的排序。

下一秒外面的校园广播塔背后响起抽送风声。一辆黑色商务车从宿舍楼门前的石桩外绕过来,前灯扫过窗户。骆笙没有紧张,把帽檐压着抬起一条绳子一样的数据线,眼神冷静地对接两个端口。

虞眠手腕微动,指尖触到屏幕上的一个蓝色块状入口。

“等一会,有个大确认按钮。”她将另一只手攥入黑色线端。

楼底下传来铁门被推开的声音。

有人径直敲门,比先前更加用力。门外男人电话里的声线:他带着耳机在隔离播报席里说话。他说:“虞小姐,我知道你在楼上。我带着和解协议来,我带了你的票,已经调整好了,是真实数据,不会对你造成任何伤害。但是你要是想硬走的话,你会被系统性撤销资格,包括之前录的那三首demo都拿不到版号。我只问你一次,愿不愿签?”

虞眠没理会他。她低头看了一眼屏幕——

灰色条目正在下拉,缓存进入最后一行:排位数据已注册并可用作后台直播源:默认用户名(虞眠)。下一个时间窗口,是“确定参赛选手最终名次提交倒计时结束后仍将开放内部校验报告”。

然而那不是她要的东西。她现在想要的,是在系统自动归档之前把本来属于她的票码全部弹出来。

虞眠眼睛没离开屏幕,用吸管喝了口水,手指缓慢按出了一个上传命令,将那些位占位图回收重组,转置还原成另外一条流。

“执行目标多轨置换,主链地址无修正。”

就在她手指弹出的瞬间,门外脚步声刹住。

下一秒,她的左耳涌进一阵像收音机跳频的刺啦声,里面突然冒出一个女人的声音,欢快得像在讨论新裙子:“删掉啦,她那个破手机我交给明远哥的人处理了。你说她那么蠢,居然会录音……”停顿,“没关系的呀,她还能有什么证据?票清了,镜头里我是顺位后补,只要票仓够大,观众只看总票。”