云顶山庄的灯在二楼更衣室亮着。王蕾站在落地镜前,身上还是白天的衣服——黑色羊绒高领、烟灰色长裤、裸色细跟。她把耳环摘下来放进绒布盒,手表脱下搁在梳妆台上,开始一件件褪去。
黑色的,灰色的,裸色的,叠好放在长凳上。最后只剩内衣,她停了一瞬,看镜子里的自己。三十八岁,皮肤还紧,腰线还在,胸撑得满。她把内衣也脱掉,赤身站了几秒,从带锁衣柜里取出防尘罩。
拉开拉链,白色连体战衣叠在里面。高领,长袖,从脖子包到脚踝。她拿出来的动作很轻,像从盒里取一件瓷器。面料垂下来,微光,薄得能看见自己手指的轮廓透过布。
她先迈左脚,再迈右脚,把腿伸进连体裤管,氨纶贴着小腿往上走,过膝盖,到大腿。她往上提,面料裹住胯,包住臀,贴紧腰。她把手伸进袖子,拉上后背拉链,从尾椎一路拉到后颈。空气从面料和皮肤之间被挤出去。
她侧身看镜子。E罩杯把胸前面料撑出饱满弧度,乳尖的轮廓隔着一层氨纶微微凸起。腰被面料勒出最窄的弧度,胯骨两侧线条往下展开。她低头看了一眼裆部,骆驼趾的形状被薄面料勾出来,她没多看,拿起白色腰带卡上腰。
腰带扣合上的声音很轻,腰线立刻被掐出来一个更利落的收口。
漆皮长手套,左手的先套,过肘。右手,过肘。高光泽的白色漆皮和哑光战衣形成反差。过膝长靴,左脚先踩进去,拉链拉到大腿中段。她从靴筒内侧摸出那枚飞镖,拇指试了一下锋刃,放回去。右脚踩进靴子,拉好。
披风扣在两肩,垂到小腿。她抬手整理领口,高领贴着喉咙,内侧那个变声模块刚好卡在喉结位置。她按下开关,试了一声咳嗽。
声音从嗓子里出来时低下去半个八度,音色模糊一层。她闭嘴,没再试。
最后是半面具。全白,羽毛线条干净利落,覆盖眼眶到颧骨。她扣上面具,抬头看镜子。
镜子里的女人跟一分钟前那个穿羊绒衫的CEO没有任何关系了。白色连体衣从脖子到脚踝,漆皮手套,过膝靴,披风垂坠,半面具下露出的那截鼻梁和嘴唇线条冷硬。眼睛是唯一的情绪出口,瞳孔里没有温度。
她把脱下来的便服挂回衣柜锁好,从衣帽间侧门出去,经过车库,上了那辆不起眼的黑色轿车。车灯没开,顺着山庄车道无声滑下山。
同一时间,汐城CBD往南二十公里。
陈志强拧开矿泉水灌了一口,瓶子放回杯架。副驾驶刚送完,一个加完班往家赶的IT男,一路上都在打电话说服务器的事,下车时给了五星。这是今晚第五单。
他揉了揉眼睛。仪表盘显示十点一刻,铁锈区边缘的公寓楼之间没什么灯光。夜班单子稀,往回开得空跑。导航提示前方施工绕行,他拐进一条没走过的路,两侧是废弃厂区的围墙,墙根长着半人高的杂草。
他想到芊语。昨晚她穿着他的T恤坐在厨房台面上吃煎蛋,腿晃来晃去,说“我觉得开心”。他不知道这份开心能撑多久,也不知道她妈什么时候会找他谈第二次。
又想到王蕾。家宴那顿饭,她头发放下来,白背心贴着E罩杯,一整顿饭没碰过他一次。茶杯放下的声音比她说话还清楚。她说“我会一直看着”,眼神里没有怒气,就是一个事实。他当时从尾椎凉到后脑勺。
车慢下来。他拐进厂区旁边一条更窄的巷子,准备绕回主路。
巷子另一头有辆黑色轿车停在仓库北墙外面,车灯熄着。他没注意,因为他的注意力被别的声音拉走了。
闷响。身体被推到墙上的那种沉闷的撞击。夹着男人骂人的声音,含混,听不清词。声音从仓库里传出来,穿过铁皮门和水泥墙,到他耳朵里时已经只剩一层模糊的低频。
他踩刹车。车停在巷子南侧,离仓库的侧门大概二十米。他熄火,关掉车灯,摇下车窗。
又一声闷响,比刚才重。然后一个女人短促地出气,被变声器压低了半个八度,但那个频率——他听过那种声音。那个出气的节奏,那种控制过的呼吸。
他把手机掏出来,推开车门,弯着腰朝仓库侧门走。
侧门是老铁皮门,锈迹斑斑,合页松了,虚掩着一道缝。他没推门,先把耳朵贴近门缝。
里面有灯光。有人在说话,嗓门很大,粗话连片。他蹲下来,手指碰门板,推开一指宽的缝。
仓库里的光从门缝漏出来,照亮了他半边脸。
仓库内部比他想象的大。挑高至少六米,水泥地面,两侧锈蚀的货架歪歪斜斜堆着没人要的东西。头顶一盏工业灯,白光发青,照得地面上的油渍和水痕格外清楚。
五个男人。四个围着一个女人,一个站在远处举着手机。
女人穿白色。高领连体衣,从脖子包到脚踝。白色漆皮手套过肘,白色过膝靴到大腿中段。半面具覆盖眼到颧骨,披风只剩胸口到腰间一截破布挂在肩扣上。腰带不见了,高领从后颈拉下来一道开口,拉链头垂在后背。
她被按在墙上。两个男人架着她的胳膊,一个蹲在前面按腿。她的背贴着水泥墙面,战衣后背沾了灰,白色面料上灰痕清晰。她左脚的靴子没了,氨纶裤腿从大腿往下包着一条光腿的轮廓,右脚靴子还在,靴跟踩在水泥地上。
那个站在前面的男人把手插在口袋里,歪头打量她。另外四个人里有一个手里捏着美工刀,刀片推出一截。
陈志强蹲在门后的货架阴影里。他把手机调成静音,长按录像键,镜头对准十五米外那盏灯下面。
画面里白色连体衣的反光很亮。他压低手机角度,只拍她的身体和那几个男人。半面具的位置他刻意避开,镜头始终在锁骨以下。
他认出她是谁。
脸他看不见。从身高,从肩线,从腰胯比例,从那个E罩杯撑满白色氨纶的弧度。从她被按在墙上也没有弯一下脊梁的姿态。从她出气时那个被压低的频率——他听过王蕾的声音,那个声音的底色压了半个八度还是那个底色。
是王蕾。
他的手指攥紧手机边框,指尖发白。心跳在耳朵里炸。
五个人。他四十岁,前码农,开网约车,没有武器。冲进去是送死。
她的右臂被一个男人钳住手腕固定在墙上。左臂也是。前面蹲着的那个把手搁在她左大腿上,拇指摁着氨纶面料往里推。
“白羽女侠,”前面那个插口袋的男人开口了,声音不大,但仓库空旷,回音把每个字送进陈志强耳朵里。“你们老大让我们来看看白色幽灵长什么样。面具底下什么脸,我们兄弟几个都挺好奇。”
穿白色战衣的女人没说话。半面具底下露出的嘴唇抿成一条线。
“不吭声?”那人往前走了一步,手从口袋里抽出来,捏住她下巴,往上推,拇指抵着面具下缘。“你们圈子里传你多厉害。一个人干掉我们三个兄弟的那种厉害。”
他松开手,退后半步,朝拿刀的那个偏了下头。
美工刀贴上她右臂。刀刃从漆皮手套的手腕处切入,往肘部方向一划。漆皮裂开,白色仿皮向两侧翻卷,露出底下的手臂。皮肤很白,内侧腕骨到肘弯那段没胎记没纹身,干干净净。那人把裂开的手套从她手臂上扯下来,扔到地上。
王蕾的右手攥成拳又松开。裸露的前臂肌肉绷了一下,但被钳住的手腕纹丝不动。
“手挺滑。”拿刀的说,声音带着笑。“白羽女侠平时保养做得好。”
陈志强在货架后面半蹲着,手机举着,手在抖。录像键还亮着。他能看见画面里那个人的手在王蕾手臂上摸了一下,漆皮碎片的反光落在水泥地上。
他摸出备用手机,屏幕亮度调到最低,拇指打110。三个数字。他按下拨号键,把手机贴着耳朵。
“铁锈区老厂区三号仓库,”他压着嗓子说,每个字之间都隔着一口气,“有人持刀斗殴。五个人。快点。”
挂断。他把备用手机塞回裤兜。主手机还在录。
仓库里。
“来,让哥几个看看。”蹲在前面按腿的男人站起来,两只手扣住她左腿膝盖往上抬。她的腿被迫弯起来,靴子没了的那只脚悬空,氨纶裤腿下面是光脚的轮廓。他把她的膝盖往外掰,大腿内侧的氨纶面料绷紧,裆部的轮廓被拉得更清晰。
“操,”他骂了一声,“这身衣服裆上有拉链。”
他的手指摸到裆部那道隐蔽的拉链头,捏住,往下拉。
拉链分开的声音在安静的仓库里像撕胶带。氨纶面料向两侧翻开,露出里层那层类似泳衣内衬的薄布。王蕾的身体在那一瞬微微一僵,脊背离开墙面又贴回去。
“里面还有一层。”那人说,声音里带着不爽。“这身衣服设计得还挺讲究。”
“那不碍事。”插口袋的男人说。“扒了再说。”
那个一直在旁边揉她胸的男人这时候开了口。他的手从侧面伸过来,整只手掌贴上白色氨纶撑起的弧度,隔着面料往里捏。五指陷进去,E罩杯的柔软被挤压变形,从指缝间鼓出来。
“妈的,这奶子是真大,”他说,声音粗哑,“白羽女侠天天穿这种衣服出来打人,穿给谁看的?面料这么薄,奶头都硬了。”
他的拇指隔着氨纶摁上乳尖的位置,摁了一下,又碾了两圈。面料底下那个凸起的点被他的指腹碾过去,又弹回来。
“你看,硬的。嘴上不说,身体挺老实。”
王蕾的呼吸浅了一层。肋骨的起伏加快,高领氨纶随呼吸微微伸缩。她的眼睛在半面具后面盯着前方,瞳孔没有移动。
“别碰我。”
三个字。变声器把声音压低,像金属片刮过水泥。没有怒气,没有颤抖,就是一句话。
那个揉胸的男人愣了一下,笑了。“哟,女侠会说话。我还以为哑巴呢。”
陈志强在货架后面把呼吸压到最浅。他听见那三个字了。变声器压过之后那个声音的质地他辨认不出,但他认得那种说话的方式——短,不解释,不带情绪。王蕾在饭桌上说“我会一直看着”的时候就是这个节奏。
手机画面里,那个男人的手还在她的胸上。白色氨纶被攥出的褶皱在灯光下发亮。他的镜头没动,一直对着那个位置,手心全是汗。
仓库里。
拿刀的那个走到她身后,刀片贴上后背拉链。从尾椎位置的拉链头开始,往上——不,往下。他把拉链从尾椎往下拉开,拉到腰线停住。后背的面料裂开一道缝,脊椎两侧的皮肤露出来,灯光下白得刺眼。
“后背也白。”他说。“这身衣服一扒到底,什么都兜不住。”
前面那个掰腿的男人手指摸到裆部拉链打开后露出的内衬布料。他用指尖摁了一下。薄薄一层布底下,女性身体轮廓被顶出来一个微弱的凹陷。他摁着那个位置,慢慢揉。
王蕾的大腿肌肉收紧。她的脚趾在氨纶裤腿里蜷了一下,又松开。腹肌绷紧,肋骨的起伏变了节奏——浅,快,但可控。
“嗯,”那男人低着头看自己的手指,“这儿也有反应。”
他加大力度,指腹隔着内衬布料压上去,前后搓。布料底下那个位置被他的手指顶出一个浅浅的凹陷又弹回来,反复几次。王蕾的膝盖往里合了一下,被他的另一只手按住。
“别夹。让哥看看白色幽灵到底什么样。”
插口袋的男人走过来,站在她正前方。他抬手,手指碰上半面具的下缘。
“面具摘了,让你走。”他说。“不摘,今晚我兄弟几个慢慢陪你玩。”
他的拇指勾住面具边缘,往外掀了一点。面具和皮肤之间漏出一线光,露出半面具底下鼻梁侧面一小截皮肤。
王蕾的眼睛动了一下。从盯着前方变成盯着他的脸。瞳孔收窄。
“放手。”
两个字。变声器底下那层金属质感更重了,像刀背搁在桌面上。
那人的拇指停住了。他看着她的眼睛看了几秒,松手。面具弹回去,重新贴合。
“行,先不摘。”他退后一步。“反正有的是时间。”
陈志强把手机攥得更紧。他看到那个人的手从面具边缘松开的那一刻,自己后背的汗把T恤湿透了。他靠在货架上,膝盖发软。
他听见自己的心跳。他听见仓库里那几个人说话。他听见远处——很远的地方——有救护车或者警车的声音开始响,断断续续,还没近。
他把镜头稳住。
插口袋的男人退到旁边,朝另外几个摆了一下手。意思很明确:继续。
揉胸的那个把拉链往下拉。高领连体衣正面的拉链从领口往下,他捏住拉链头,一寸一寸地拉。金属齿轮分开的声音在仓库里很清楚,像拉弓弦。拉链过锁骨,过胸骨,到胸骨中段停住。
高领从两侧翻开。白色氨纶向两边退让,露出锁骨到胸骨中段那一片皮肤。E罩杯的弧度从裂口两侧鼓出来,面料底下乳尖的轮廓比刚才更明显——氨纶被汗水浸得微湿,贴着皮肤的半透明度加深了一层,乳晕的边缘隐约透出一圈浅色的晕。
“你看,”那人说,手指顺着裂口边缘摸了一下,“拉开一点就全看到了。白羽女侠的奶子,汐城多少男的想看。”
他把手指伸进裂口,指尖碰到右侧乳房上缘的皮肤。裸的皮肤。他的指尖从氨纶和皮肤的交界处往里探,碰到了乳晕的边缘。
王蕾的腹肌收缩了一下。肋骨的起伏停顿了一瞬,又恢复。她的手指在身后攥成拳,指甲掐进掌心。
掰腿的那个蹲下去,脸凑近裆部拉链打开的位置。他的鼻尖离内衬布料只有几厘米。他用手指把内衬布料往两边绷紧,薄布底下的轮廓被拉得更清楚。他的拇指摁上去,从上往下碾了一遍。
“里面挺热。”他抬头说。“闷了一晚上了吧,女侠。”
他又摁了一下,指腹压着那层布往里推。布料绷到极限,底下的形状被顶出来。他的指尖感觉到一层薄薄的湿意,不全是汗。
“湿了。”他说,声音里带着得意。“白色幽灵也流水。”
他站起来,从口袋里摸出刀。美工刀。刀片推出两截。他把刀刃贴上内衬布料边缘,比划了一下。
“这层挡着的,”他说,“我给它开个口。”
刀尖抵住内衬布料。布料绷紧,刀尖压出一个浅浅的凹陷。
王蕾的眼睛在半面具后面收窄了一线。
她的左脚动了。那只没有靴子的脚,光着踩在水泥地上,脚趾用力抓了一下地面。她的右腿——穿着靴子的那条——膝盖猛地往上顶。
正中掰腿那个男人的手腕。
刀从他手里弹出去,在水泥地上弹了两下,滑进货架底下。他骂了一声弯腰去捡。
架着她左臂的那个注意力被分散了一瞬。她的左臂往下一沉,肘尖撞上他的肋骨。不重,但他本能地松了手往旁边退。
她右手的手指从残破的漆皮手套内侧摸出那根针。极细,比绣花针还细,尾端带一个微型药囊。她反手扎进揉胸那个男人的喉侧。
那人呛了一声,双手捂住脖子,膝盖一软跪下去。不致命,但药囊里的东西让他半边脸发麻,说不出话。
陈志强在货架后面看着这一切发生。从她抬脚到三个人倒地,前后不到四秒。他手机画面剧烈晃了一下又稳住。
远处警笛声近了。两三个路口之外的清晰频率。
插口袋的男人回头听了一下。
“走。”
他转身往仓库正门跑。拿刀那个从地上爬起来跟上去,手里空着。录制视频的那个——举手机的第五个人——手忙脚乱往门口退,手机从手里滑出来,啪一声摔在水泥地上。他回头看了一眼,警笛又近了一截,他没捡,追着前面的人跑进黑暗里。
五个人跑了三个。揉胸的跪在地上捂着脖子,掰腿的弯着腰揉手腕。两个人都没顾上逃。
王蕾站在原地。她的呼吸比之前重了一点,但也只重了一点。她低头看了一眼自己的战衣——高领拉链开到胸骨,两侧翻卷露出锁骨和乳房上缘的皮肤,氨纶被汗水浸得半透明,乳尖和乳晕的轮廓在灯光下清晰可辨。腰带没了,披风只剩腰间一截破布。右手的漆皮手套被划开扯掉了,裸着一条胳膊。左脚的靴子丢了,氨纶裤腿包着光脚。裆部拉链开着,内衬布料上有一块被手指搓过的湿痕。
她弯腰捡起地上那件被扯下来的披风残片,绕腰缠了一圈,把裆部开口遮住。又从地上捡起一件不知道哪个流氓脱下来扔着的旧夹克,披在肩上,拉链拉到脖子,遮住前胸裂口。
她走到仓库北面的门,拉开。夜风灌进来。她回头看了一眼——两个人还瘫在地上,没有追上来。她的眼睛扫过仓库南侧那排货架,没有停留。她不知道货架后面有人。
她走出去。脚步声从水泥地变成外面碎石路面,越来越远,消失在巷子尽头。
陈志强又等了一会儿。他停止录像。手机屏幕显示时长:二十七分钟。
他从货架后面站起来,腿是软的。他扶着货架走出仓库,从侧门钻出去,一路弯着腰回到车上。发动引擎,没开车灯,顺着巷子无声滑出去。
车开到主路上他才把灯打开。后视镜里,铁锈区废弃厂区的轮廓越来越小。警笛声从反方向传来,红蓝光在远处的楼之间闪。
他的手还在抖。方向盘握不稳,他靠边停了一下,双手搁在方向盘上,额头抵着手背。
手机屏幕亮着。视频缩略图是白色的——白色氨纶在工业灯下的反光,占了画面中央。
他盯着那个缩略图看了很久。
他把车重新挂上挡,往老西门开。
老西门的老公寓没电梯。陈志强爬到六楼,手攥着钥匙串,金属齿碰在一起叮当响。他开了门没开灯,在玄关站了一会儿,眼睛适应黑暗之后才往里走。
手机搁在鞋柜上。他脱鞋,脱夹克,脱掉汗湿的T恤扔进洗衣篮。浴室水龙头拧开,凉水冲下来,他闭着眼站到水底下,后背贴着瓷砖,凉意从脊梁骨往下走。
他在脑子里把刚才那二十七分钟又过了一遍。
五个男人围着她。白色氨纶战衣从脖子包到脚踝,E罩杯把面料撑得饱满,乳尖轮廓隔着氨纶凸起来。拉链从后颈拉开一道口子,脊椎两侧的皮肤露出来。裆部拉链被拽开,内衬布料底下女性身体的轮廓被手指顶出一个凹陷。她没出声。半面具底下露出的那截嘴唇抿成一条线,眼睛是冷的。
他关水。擦干身体。换了件干净的灰色T恤和短裤,赤脚走进卧室。
书桌上笔记本电脑还开着,屏幕保护程序在跑。他坐下来,摸了一下触摸板,屏幕亮了。他从裤兜里掏出手机,数据线插上,手机存储弹出来。
二十七分钟的视频文件。一点二个G。他复制到桌面上,文件名叫 VID_20251115_2245.mp4。他看了一眼文件名,改掉,改成 rust3_warehouse_raw.mp4。
他打开 Premiere。项目新建,把视频拖进时间线。预览窗口弹出来,第一帧定格在仓库工业灯的白光里。白色氨纶的反光占了大半个画面。
他按下空格键。
画面动起来。镜头晃了一下,他记得那是自己蹲下去的时候膝盖磕到货架。画面右下角有一截货架的铁架子边缘,前景模糊,主体在十五米外的灯光下。
声音也出来了。他的呼吸声。粗重的、压低的、不规则的呼吸。他皱了下眉,把音频轨拉出来,看波形。他自己的呼吸是低频的持续噪声,反派说话的频段在中高音。他打开音频效果,降噪,把低频段压下去。他的呼吸声淡了,反派的声音更清晰。
“白羽女侠,你们老大让我们来看看白色幽灵长什么样。”
声音从笔记本音箱里出来,在安静的卧室里比仓库里更清楚。他暂停。
他把时间线拖回开头,从头开始逐帧审。
头三分钟,镜头固定。画面里是远景,五个男人围着一个白色身影。他放大画面,检查每一帧有没有拍到半面具以上的位置。画面构图本来就低,镜头角度朝下倾,取景范围锁骨以下到膝盖。他的手当时一直压得很低,不敢往上面偏。逐帧过完,没有任何一帧拍到鼻梁以上的皮肤。
他松了一口气,又觉得这口气松得太早。
他继续往后过。第七分钟左右,镜头晃了一下,往上偏了一点。画面右上角出现半面具的下缘和鼻梁侧面一小截皮肤。他定住那一帧,盯了一会儿。模糊的,暗的,看不出五官。但他还是把那一帧前后的画面全部剪掉。
第十二分钟,拿刀那个走到她身后拉后背拉链。画面里她的背对着镜头,拉链从尾椎往下的过程拍得很清楚。脊椎两侧的皮肤,灯光下白得刺眼。他没剪。
第十四分钟,揉胸那个把正面拉链从领口往下拉。画面里白色氨纶从两侧翻开,E罩杯的弧度从裂口鼓出来。他的镜头角度刚好卡在锁骨以下,乳晕的边缘在半透明的面料底下隐约透出一圈浅色的晕,但乳尖本身被面料盖着,没有直接露出来。他看了两遍,没剪。
第十九分钟,掰腿那个蹲下去摸裆部拉链。拉链打开的声音在视频里很清脆。内衬布料被手指顶出凹陷,指尖上有湿意。镜头拍到的是大腿内侧和裆部,她的脸不在画面里。他没剪。
他把全部二十七分钟过了一遍。总共剪掉四处:镜头偏高的那一段、画面右下角出现他自己手指甲的那一小截、结尾她弯腰捡披风残片时镜头无意识上移拍到下巴轮廓的那一瞬,以及最开头他蹲下时货架遮挡前的空白画面。
剩余时长二十二分钟。他导出,H.264编码,720p,压缩到四百兆以内。文件名 rust3_warehouse_uncut.mp4。他看了一眼“uncut”这个词,觉得好笑。无剪辑。他剪了四处的无剪辑。
他把原始文件移进一个加密文件夹,密码是他前年用过的那个,十六位随机字符串,只存在脑子里。导出后的文件另存一份到桌面。
接下来是网络。
他打开一个虚拟机。虚拟机里装的是他早些年自己搭的Linux系统,专门干这种事用的。VPN连第一层,新加坡节点。连第二层,冰岛节点。连第三层,荷兰节点。三层套完,IP地址已经是阿姆斯特丹的某个机房。
然后是Tor。洋葱浏览器的窗口弹出来,进度条跑了一会儿,连上了。他在地址栏输入一串字符,回车。
汐城地下暗流论坛。暗网和明网交界的一个灰色地带,汐城本地混地下圈子的人都知道。匿名发帖,不记IP,服务器在境外,管理员是个从没人见过面的ID。论坛分好几个板块,他把鼠标移到“现场实录”那个版块,点进去。
注册新账号。用户名随手敲了一串:xJ7k2m。密码生成器吐出来一串乱码。邮箱填了一个十分钟的临时邮箱,验证码收到,填进去,账号激活。整个流程很快。
发帖。
标题他想了一会儿。太短没人点,太长像钓鱼。他打了一行字:铁锈区三号仓库实拍,白羽女侠被五个流氓堵住了。想了想,删掉“被五个流氓堵住了”,换成“遭遇围堵”。又想了想,全删掉,重新打:铁锈区老厂区三号仓库,白羽女侠vs五人,无剪辑。
无剪辑。他明知道剪过,但加上这三个字点击率能翻一倍。人在论坛上看到“无剪辑”三个字会自动加一档信任分。
正文他只写了一行:昨晚路过铁锈区听到的动静,躲在门后拍的。手机画质,凑合看。
视频文件上传。进度条走得很慢,Tor的网络延迟加上三层VPN的损耗,四百兆的文件传了好一阵。上传完成。发布。
帖子页面刷新。标题、正文、视频播放器,干干净净地挂在“现场实录”版块的时间线上。发帖时间显示凌晨零点十二分。
他靠回椅背,手搁在膝盖上。手心还是潮的。
他等。
论坛这个点在线人数不多,“现场实录”版块平均每小时的发帖量不到十条。但他的标题里有“白羽女侠”四个字,那是整个论坛搜索量排名前五的关键词。
零点十八分,第一个回复。
ID叫“深夜搬砖狗”,一行字:这衣服做得也太像了吧,cos圈现在这么卷?
陈志强盯着那行字。cos。他预想过这个反应。视频画质是手机拍的,工业灯白光发青,画面有颗粒感,但正因为画质不够高清,反而少了 CGI 那种过于干净的味道。人看到不够清晰的画面会往两个方向猜:一是真的所以粗糙,二是假的所以用画质掩盖。论坛上的第一反应永远是假的。
紧接着第二条回复。ID“老汐城”:楼上别急着下结论,你看看那几个男的说话,这种对话不是编剧能写出来的。“白羽女侠你的奶子挺软啊”——写剧本的人想不到这种词。
又一条。ID“匿名#4471”:AI生成。现在AI连这种都能做了。注意看零分四十三秒那个男的手指碰到衣服拉链的时候,拉链开的轨迹不对,渲染会有这种穿帮。
下面跟上一条。ID“吃瓜路人甲”:楼上扯淡吧,这拉链开得有什么问题?你自己穿过拉链的衣服没有?
回复开始堆了。
零点二十七分,一个ID叫“铁证党”的长回复:我说几个点。第一,白羽女侠本身就是一个汐城本地都市传说,没有任何主流媒体报道过,没有任何官方照片。你们在讨论的这个人到底存不存在都两说。第二,这段视频的拍摄角度全程在锁骨以下,看不到脸,这恰恰是 deepfake 最常用的处理方式——用低角度规避面部识别导致的穿帮。第三,注意看一分十五秒,那个男的把她的衣服拉链拉下来的时候,面料的褶皱物理效果太完美了,真人衣服不会有这种均匀的应力分布,这是渲染引擎的典型特征。
下面立刻有人怼:大哥你显微镜看片呢?这是手机拍的720p,你能看出应力分布?
零点三十一分,帖子上了版块首页。回复数过二十。
陈志强刷新页面。评论区的风向他已经看清了。大部分人认定 cos,少部分人认定 AI 或 deepfake,极少数人说“万一是真的呢”。那极少数的声量被淹没在质疑和嘲讽里。
他刷新的时候注意到一条新回复。ID“白羽粉丝团后援会”,发了很长一段:我追白羽女侠都市传说三年了,所有能找到的目击记录我都整理过。这段视频里那个女人的身高体型跟传说中描述完全吻合:一米七五左右,沙漏型身材,E罩杯。注意看她被按在墙上的时候肩线,那是直角肩,不是普通人能有的体态。还有她的战衣,高领连体衣,漆皮手套,过膝靴,半面具——这套配置跟我整理的目击记录里描述的一模一样。我的判断是真的。
回复下面立刻炸了。
“都市传说圈子的魔怔人。”
“三年整理目击记录,你怎么不去当侦探。”
“身高体型都能看出来?手机拍的720p你量过?”
“E罩杯都看出来了,你是不是拿尺子量过。”
那条长回复被踩到折叠。
再往下翻,一个ID“匿名#8823”的回复让陈志强的手指停在触控板上。
“你们有没有想过,白羽传媒的CEO王蕾就是白羽女侠?王蕾,一米七五,E罩杯,汐城白羽传媒创始人。你们去搜她的照片,身材比例跟视频里这个一模一样。白羽传媒这个名字本身就是暗示。”
陈志强盯着那行字。他的喉结动了一下。
下面的回复来得很快。
“哈哈哈你是认真的吗。”
“王蕾是上市公司CEO,身家过亿,大半夜跑去废弃仓库跟流氓打架?你脑子没事吧。”
“阴谋论能不能有个限度。”
“按你这个逻辑,马斯克是钢铁侠。”
“这条建议管理员删了,造谣上市公司CEO是要吃官司的。”
那条猜测被踩到折叠的速度比前面那条还快。
论坛管理员发了一条置顶:各位先别急着站队,等官方消息再说。白羽传媒那边有动作的话会第一时间更新。
零点四十五分。帖子进入论坛全站热度榜前五。回复数过五十。点击量还在涨。
陈志强关掉浏览器。虚拟机关掉。VPN断开。他把虚拟机的磁盘镜像覆盖了一遍随机数据,然后删除。Tor浏览器的缓存清空。临时邮箱已过期,验证链接失效。账号 xJ7k2m 还在论坛上,但那个账号除了这一条帖子没有任何活动轨迹,邮箱已失效,密码是随机生成的,绑定的IP是阿姆斯特丹的节点。
他做了他能做的所有事。剩下的交给概率。
他合上笔记本。卧室很暗,窗帘没拉,外面路灯的光从窗户缝里漏进来一条,打在天花板上。他躺到床上,后脑勺搁在枕头上,眼睛睁着。
他想到芊语。
白天她在大学里跳舞。玫红背心,破洞牛仔裙,高马尾甩来甩去,笑起来眼睛弯。她叫他叔叔的时候嗓子里那点撒娇的气声,是练过的,但他已经听得出哪些是演的哪些不是了。上周她穿着他的T恤坐在厨房台面上,腿晃来晃去,说“我觉得开心”。她的开心是真的。
他又想到王蕾。
家宴那顿饭。白背心贴着E罩杯,头发放下来,黑长直搭在肩膀上。她没碰过他一次,茶杯放下的声音比她说话还清楚。她说“我会一直看着”,眼睛里没有怒气。他当时从尾椎凉到后脑勺。
今晚仓库里。白色氨纶从脖子包到脚踝,E罩杯把面料撑得饱满,乳尖轮廓隔着氨纶凸出来。拉链从后颈裂开,脊椎两侧皮肤白得刺眼。裆部拉链被拽开,内衬布料被手指顶出凹陷,指尖上有湿意。她被五个人按在墙上,战衣被一层一层剥开,但她的脊梁没有弯过一下。她的眼睛在半面具后面,冷的。
两个画面叠在一起。一个是饭桌上给他倒茶的王蕾,一个是仓库里被流氓扯开战衣拉链的王蕾。同一个人。同一张脸。同一副身体。他硬了。
他没碰自己。手搁在被子外面,攥着床单。
手机振动了一下。他侧身拿起来看。
是一条推送提醒。汐城地下暗流论坛,他设了关键词监控,“白羽传媒”或“王蕾”出现在论坛任何帖子里就触发。
他点开。推送链到一个新回复,在他发的那个帖子里。ID“匿名#9912”:白羽传媒的官博是不是该出来走两步了?@白羽传媒
他没有关注白羽传媒的官方社交账号。但现在他打开浏览器,搜了一下。
白羽传媒官方认证账号。蓝V。最近一条动态是三天前发的一条品牌活动预告。没有新动态。
但他注意到一个细节。账号头像旁边显示“在线”。凌晨一点。一个上市传媒公司的官方账号凌晨一点在线。
他盯着屏幕。他不知道这意味着什么。也许是值班编辑在刷手机,也许是系统自动状态,也许是别的什么。
但也许是王蕾。
也许是她或者她的团队已经知道了。
他把手机扣在床头柜上。屏幕暗下去。卧室里只剩下窗外路灯透进来的那条光,和很远的地方偶尔传来的汽车声。
他闭眼。没睡着。
早上八点二十八分。汐城CBD,白羽传媒大厦顶层。
王蕾的办公室在东南角,整面落地窗。汐城的天际线在窗户外面铺开,远处是江面,江上有船。她坐在办公桌后面,面前摊着当天的行程简报。白色真丝高领衬衫,袖口扣到腕骨,领口扣到最上面那颗。白色高腰阔腿真丝长裤,裤线笔直。头发扎成高马尾,露出后颈和耳后的线条。淡妆,没戴首饰。桌角搁着一只白色迷你Kelly包。
她九点的会还有半小时。她翻完简报,拿起茶杯喝了一口。白瓷杯,里面是龙井。茶叶在杯底沉着,水色淡绿。
敲门声。
“进。”
门推开,助理小刘侧身进来。二十六七岁,短发,黑色铅笔裙,手里端着一个文件夹。她走到桌前,把文件夹放在简报旁边。
“王总,今天的行程没什么变动。下午三点跟叶氏那边的会确认了,场地在二十三楼会议室。但是有一件事需要您看一眼。”
王蕾看她。小刘翻开文件夹,里面夹着两张打印出来的网页截图和一份打印出来的舆情监测报告。
“今早舆情监控系统报警。汐城本地一个地下论坛上有一条热帖,昨天凌晨发的,到今早八点全站热度第一。帖子内容是一段视频,拍的是——”小刘停了一下,措辞变得谨慎,“拍的是一个穿白色连体衣的女性被几个人围堵的画面。标题里写的是白羽女侠。”
王蕾的手指搭在茶杯上,没有动。
“视频时长二十二分钟。画质一般,手机拍的。目前全站点击量大概在三十万左右,回复超过三百条。论坛上的主流意见是cosplay或者AI生成,但也有人说是真的。”小刘翻了一页,“另外,有一条回复提到您本人,说您可能是视频中的人。那条回复已经被论坛其他用户驳回了,没有形成二次传播。”
王蕾把茶杯放下。她翻开文件夹,看了两眼截图,又看了一眼舆情报告上的数据曲线。
“帖子发在哪个版块?”
“现场实录。”
“发帖人的账号信息查了吗?”
“查了。注册时间是发帖当天,一次性邮箱,没有手机验证。IP经过多层代理,IT那边正在追,但初步判断短期内追不到源头。”
王蕾沉默了几秒。她的手指在文件夹边缘点了一下,只一下。
“好。我知道了。你出去吧。”
小刘点头,转身出去,带上门。
王蕾坐在原地。办公室很安静,落地窗外的光线已经变成白天的颜色,江面上有货船在走。
她打开笔记本电脑。浏览器输入论坛地址。搜索框里敲了“白羽女侠”。第一条结果就是那个帖子。她点进去。
视频播放器在帖子正文下面。她按下播放。
画面亮起来。仓库,工业灯,白光发青。五个男人围着一个穿白色连体衣的女人。镜头角度很低,取景范围在锁骨以下。
她立刻就认出那是自己。
白色高领连体战衣。E罩杯撑满氨纶面料。漆皮手套过肘。过膝靴到大腿中段。半面具覆盖眼到颧骨。披风还完整地挂在肩扣上。被按在墙上的那个姿态——背贴水泥墙面,两只胳膊被钳住,前面蹲着一个按腿的。
是她。是那天晚上。
她看画面里那个人的战衣状态。披风还完整,腰带还在,手套还在,靴子两只都在,拉链都没被拉开。视频刚开始。她知道后面会发生什么。
她没有暂停。她的手搁在鼠标上,食指轻轻搭着左键,没有按。
视频播放到那个拿美工刀的人贴上她右臂的位置。刀刃从漆皮手套手腕处切入,往肘部方向一划。漆皮裂开,翻卷,露出底下的手臂。她的前臂内侧皮肤在工业灯下很白。
画面里那个拿刀的人说:“手挺滑。白羽女侠平时保养做得好。”
她的表情没有变。
视频继续。披风被扯下来。腰带被拽断。正面拉链从领口往下拉,一寸一寸的,金属齿轮分开的声音从笔记本音箱里出来。E罩杯从裂口两侧鼓出来,氨纶被汗水浸得半透明,乳晕的边缘透出一圈浅色的晕。
她的呼吸没有变。
视频播放到掰腿那个蹲下去摸裆部拉链的位置。拉链被拉开,内衬布料露出来。他的手指摁上那层薄布,往里推,前后搓。布料底下那个位置被顶出凹陷又弹回来。他的指尖感觉到湿意。
“湿了。白色幽灵也流水。”
王蕾的食指在鼠标左键上停了一下。
她记得那个触感。那天晚上那个人的手指隔着内衬布料摁着那个位置搓的时候,她的腹肌收紧,大腿肌肉绷住,脚趾在氨纶裤腿里蜷了一下。她的身体有反应。她控制住了表情,控制住了声音,控制住了呼吸节奏,但她没控制住那层湿意。那是生理层面的东西,跟意志无关。
她当时没有到。那几个人的手没有给她那个时间。她的身体在那个位置被搓弄了片刻之后,拿刀的人把刀贴上内衬布料准备割,她趁那个间隙反击脱身。身体里积攒的张力没有释放。从那天晚上到现在,两天了,那股张力还在。
她看着视频画面里自己的裆部被手指搓弄的那一段。她的右手离开了鼠标。
她的右手放在自己的大腿上。白色真丝阔腿裤的面料很滑。她的手指在裤面上搁了一会儿。
她站起来,走到办公室门口。门锁旋钮拧过去,锁舌咔哒一声归位。她站在门后听了一下。外面走廊安静,没有脚步声。她转身走回办公桌,坐下来。
笔记本电脑屏幕上,视频还在循环播放。画面停在裆部被手指搓弄的那一段,她把进度条拖回去一点,又拖回去一点,停在反派手指刚摁上内衬布料的位置。她把音量调低,低到只有她坐在椅子上才能听见的程度。
她的右手搭上自己高腰阔腿裤的腰头。拉链在左侧。她把拉链往下拉了一截,手指从腰头和内裤之间的缝隙滑进去。
她的手指碰到的是内裤的面料。棉质的。她把内裤的边缘拨开,指尖触到皮肤。耻丘上方一小片,体毛的触感,稀疏的,短的。她的手指继续往下,摸到阴蒂的位置。
她的食指摁上去。
视频画面里,那个反派的手指隔着内衬布料摁着她的阴蒂搓。她自己的手指直接摁着自己的阴蒂。两层触感叠在一起。一层是记忆里的,一层是现在的。
她的手指开始画圈。很小的圈,食指指腹压着阴蒂顶端,顺时针,节奏慢。她的眼睛看着画面里那个反派的手指动作,她自己的手指跟着那个节奏走。
视频播放到揉胸那个把正面拉链拉下来的位置。画面里E罩杯从氨纶裂口两侧鼓出来,她的乳尖轮廓隔着半透明的面料凸起。那个人的手掌隔着氨纶整只覆上去,五指陷进去,乳肉从指缝间鼓出来。
她的手指加快了一点。画圈的幅度加大,指腹压着阴蒂从上往下碾过去再绕回来。她的骨盆在椅子里微微往前送了一下。
她的脸上没有任何表情。
她的呼吸深了一点。横膈膜下沉,肋骨扩张的那种深呼吸。她的嘴唇闭着,没有声音。
视频播放到拿刀那个人把后背拉链从尾椎往下拉开的位置。画面里她的背对着镜头,脊椎两侧的皮肤露出来。白色氨纶裂开一道缝,从尾椎到腰线。
她的手指继续。节奏稳定,力道均匀。她的阴蒂在指腹底下涨起来,硬了一点。她的内裤被手指拨开的那一侧,阴唇之间有一点湿意。不多,但是有。
视频画面切换到掰腿那个把她的膝盖往外掰的位置。大腿内侧氨纶面料绷紧,裆部轮廓被拉得更清晰。他的手指摸到裆部拉链头,捏住,往下拉。拉链分开。内衬布料露出来。他摁上去。
她的手指压着阴蒂顶端,不动了。她能感觉到自己的阴道壁在收缩,一下一下的,不规律,像脉搏。她的腹肌绷紧,肋骨的起伏变浅变快。
她没闭眼。她看着画面里自己的身体被那几个人的手指摆弄。她的手指压着自己的阴蒂,指甲嵌进那块充血的软肉里,不动。
高潮来的时候她没有声音。
身体从骨盆深处往上涌过一阵收缩。她的腹肌绞紧,大腿内侧肌肉绷住,脚趾在高跟鞋里蜷起来。阴道壁痉挛,一阵接一阵,间隔越来越短。她的手指停在阴蒂上,压着,不动。高潮持续了几秒,收缩的力度从尖峰往下滑,变成一种钝的、闷的搏动。
她的脸上还是没有任何表情。
她把手抽出来。手指上有黏液,透明的,拉出一截细丝。她在椅子扶手上擦了一下,扶手的真皮面吸掉了那点湿意。她站起来,把内裤边缘拨回去,拉上阔腿裤侧拉链,整理腰头。她走到墙边的穿衣镜前面,从头到脚看了一遍。白色真丝衬衫没有褶皱,领口的扣子系到最上面那颗,高马尾整齐,脸上淡妆完好。什么痕迹都没有。
她走回办公桌,坐下。
她打开Twitter。
白羽传媒官方认证账号。蓝V。她点进发推界面,敲了一段字,删掉,又敲了一段。
最终版本:
“看到论坛上那条热帖了。白羽女侠的设定一直是白羽传媒旗下 vigilante IP 的一部分,很高兴看到汐城 cos 圈的朋友们对这个角色有这么高的热情,服装还原度确实让人印象深刻。下一季度白羽传媒 cos 产品线的新品里正好有部分灵感来自粉丝的二创作品,欢迎大家持续关注。 #白羽传媒cos季# #汐城cos圈#”
她按了发布。
蓝V账号的转发量很快开始攀升。论坛那边已经有人把这条推文截图转回来了。评论区的主流声音变成了“官方盖章cos”“果然是品牌营销”“白羽传媒这波操作可以”。
她关掉Twitter,关掉论坛页面,合上笔记本电脑。
她拿起茶杯,站起来,走到落地窗前。茶已经凉了,但她还是端着。汐城的天际线在窗外铺开。江面上有货船在走。太阳从东边的楼群之间照过来,落地窗的玻璃上映着她自己的轮廓。白色高领衬衫,高马尾,端着一杯茶站在窗前的姿态。
办公室外面走廊里有脚步声经过,没有停。有人在不远处的会议室里说话,隔着门听不清词。
一天开始了。
陈志强是被手机振动弄醒的。
他不知道自己什么时候睡着的。窗帘没拉,阳光已经从窗户照进来打在枕头上。他眯着眼摸到手机,屏幕亮了。
时间显示上午九点十五分。
振动是论坛推送。他设的关键词监控触发了。他打开推送,链接到一条新回复,在他那个帖子下面。ID“今日吃瓜”,一行字:官方来了。白羽传媒CEO的Twitter刚刚转发了这条视频,说是cos,还给自家cos产品线打了个广告。实锤了,cos。
陈志强坐起来。
他打开Twitter,搜索白羽传媒。官方蓝V账号,最新一条推文。他看了一遍。又看一遍。再看一遍。
白羽女侠是IP。服装是cos。粉丝二创。下一季度产品线。hashtag。
他把那条推文的每一个字都读完了。然后他把手机放在膝盖上,盯着卧室对面那面白墙。
她看到了。
王蕾看到了视频。那条推文的存在本身就是证据。凌晨一点官方账号在线,今早九点官方推文发布。她或者她的团队在那个时间窗口里看到了论坛帖子,做了判断,做了决策,执行了公关反击。从看到视频到发布推文,不超过八小时。
她看到了视频,她知道那是真的。全世界只有她一个人知道那是真的。因为视频里的人是她自己。
她还知道什么?
他的手心开始出汗。
那个拍摄角度。他在仓库南侧货架后面蹲着拍的。那个角度、那个距离、那个高度——只有站在那个位置的人才能拍出那个画面。那天晚上在仓库附近的人,除了那五个流氓和她自己,还有谁知道有谁?
她有没有可能推断出拍摄者是谁?
她知道她女儿在跟谁睡。她见过他两次。她知道他从第八章那件事之后就知道她是白羽女侠。她知道那天晚上他开网约车跑夜班。她知道铁锈区离老西门不远。她会把这些东西串在一起吗?
她没有证据。IT追不到IP。论坛账号是一次性的。视频里没有任何能识别他身份的信息。她甚至不知道那天晚上仓库附近还有第四方存在——她走出去的时候眼睛扫过南侧货架,没有停留。
但她是王蕾。
她在饭桌上不碰他一次、不看他一眼、只用茶杯放下的声音就让他从尾椎凉到后脑勺。她跟女儿说“我会一直看着”的时候眼神里没有怒气只是一个事实。她一个人干掉三个流氓用了四秒。她在五个人的围堵下战衣被剥到那个程度脊梁没弯一下。她是这种人。
她会推断。她是那种不需要证据就能做出正确判断的人。
她有没有已经知道是他?
如果她已经知道了,她为什么不找他?她有女儿这条线。她可以让女儿问。她可以让律师发函。她可以动用白羽传媒的资源追查。但她没有。她选了一条最干净的路——官方推文,cos定调,公众层面彻底关闭这个话题。
不找他。不提。不说。用公众层面的定调把这件事封死,让他手里的视频变成一段已经被官方盖章为cos的无价值文件。
还是说,她只是还不知道?
他的脑子转了两个方向,都走不通。他不知道她知道了多少。他不知道她有没有猜到他。他不知道她发那条推文的时候在想什么。他什么都不知道。
他应不应该主动告诉她?
告诉她,等于自首。不告诉她,维持现状。现状是他手里有一段视频,全世界只有他和她知道那是真的,她没有证据指向他,他也没有办法确认她有没有猜到。两个人坐在一个没有引爆的炸弹上面,谁先动谁输。
他站起来去厕所洗了把脸。水龙头开着,凉水捧在手心里泼到脸上。他抬头看镜子。眼圈有点暗,胡茬冒出来了。他四十岁,前码农,开网约车,大半夜躲在仓库门后拍了他睡的那个女孩的妈被流氓扒战衣的视频,然后传到了网上。镜子里的那张脸没什么表情。
他走回卧室。手机又振了一下。
他拿起来看。
李芊语的消息。
“叔叔 今天有空吗”
五个字。一个笑脸都没有。她发消息从来不用表情包。
他看着那五个字。他想到了她穿着他的T恤坐在厨房台面上的样子。腿晃来晃去。“我觉得开心。”
他的手指在屏幕上悬了一会儿。拇指有点抖。他打了一个字。
“嗯”
发送。
手机放回床头柜。屏幕暗下去。
阳光从窗户照进来,打在地板上,打在床脚,打在他搁在被子上的手背上。卧室很安静。楼下老西门的街声隐隐约约传上来,有人在喊什么,有车在按喇叭,有小孩在笑。
他坐在床沿,眼睛看着对面那面白墙。白墙什么都没有。
同一个上午。同一座城市。
白羽传媒大厦顶层。王蕾站在落地窗前,茶杯端在手里。茶凉了。江面上货船在走。阳光从东边照过来,落地窗玻璃上映着她自己的轮廓。白色真丝衬衫,高马尾,什么痕迹都没有。
她转身回到办公桌前,放下茶杯,打开行程简报,翻到下一页。
九点的会还有十分钟。