清明,周野买水军抹黑,纪确带队反澄清。
三月二十八号,清明还有一个礼拜。那天夜里沈砚舟起来喝水,顺手刷了下论坛,看见三个几乎一模一样的帖子。
不同账号,同一套话术。
「家人们避雷,这个璇玑App,我妈用了以后天天问我今天宜不宜出门,搞得跟算命似的,封建迷信实锤了。」
底下配图,是一张璇玑的推送截图。
沈砚舟把杯子搁下,点开大图。截图上的推送写着「今日清明,宜扫墓,忌远行」。
璇玑从没发过这样的推送。
他把图放大,看了三遍,找出三个破绽。头一个,字体不是他们的,他们用系统默认字体;第二个,日期格式不对,他们写「2026年4月4日」,图上写的是「4/4」;第三个最要命——「宜」和「忌」这两个字,在他们的文案库里从来就不存在。
假的。可假的东西比真的跑得快。
他刷了一个钟头,找到二十七个不同账号,发的都是这张图,配文大同小异。评论区已经有人在骂:这种东西也敢上架?平台不管吗?举报了。
沈砚舟坐在黑地里,手心出汗。立春从纸箱里探出头,看了他一眼,跳到他腿上,用脑门顶他的手背。
他做的头一件事是截图存证。第二件是打开后台,把清明前后的推送记录全部导出。第三件是给厉飞发消息。
厉飞凌晨三点回的:「我看看。」
半个钟头后他回过来:「假的三条证据你都找对了。还有第四条。」
「啥?」
「那张图的元数据里带着制作工具的信息。是拿设计软件拼的,做成时间是三月二十九号十四点二十二。」
沈砚舟盯着这行字,脑子转了两圈才咬住关键——图上的推送显示四月四号。一条四月四号才推送的内容,怎么会在三月二十九号就被截下来?
除非它是提前做出来的。
他打字:「能查到是谁做的吗?」
「查不到。但我能证明这是伪造的,这就够了。」
他松了半口气,又提起来:「证明是假的,有用吗?真的传得慢,假的传得快。等我们证明完,骂都骂完了。」
厉飞那头沉默了很久。
「这种事不能你自己上去辩。」厉飞说,「你一上去,就成了当事人吵架,没人信。」
「那咋办?」
「让别人说。」
第二天一早,沈砚舟给纪确发了消息。他把二十七个账号的截图、假图的技术分析、清明前后的真实推送记录打了个包,一起发过去。
纪确只回了一个字:「收到。」
然后他消失了三天。
这三天是沈砚舟最难熬的三天。假图继续传,有人把它做成了表情包,配文「今日宜删App」。商店评分从四点六掉到三点九。
温叙急得嘴上起泡,一天给他发二十条消息。他只回一个字:「等。」
第三天下午她冲进loft,手里攥着手机:「沈哥,三点七了。再掉就破三点五,商店不给推荐位了。」
「我了解。」
「你知道你还坐着?」温叙把手机拍在桌上,「我去找人对骂行不行?我开小号,我不说是咱的人。」
「不行。」
「那我发声明?就说那图是假的。我写,我保证一个字不提时宪。」
沈砚舟抬头看她:「温叙,你写了,人家头一句就问你『那你说说是谁干的』。你说不知道,他说你心虚;你说知道,你拿不出证据。咱现在有证据吗?」
「纪老师不是在做吗?」
「他做的是给人看的证据,不是能打的官司。」他把杯子推过去,「你现在上去,是把自己送过去当靶子。他骂你一句你回三句,回头截图又是一轮。你回得越多,那张图传得越远。」
温叙坐下,气还是不顺:「那就干等着?」
「等一个不姓沈的人说话。」他指了指屏幕,「快了。」
第四天上午十点,清明当天,纪确发了第五篇长文。
标题:《有人在伪造截图黑一个App,我扒了这个造假的全过程》。
文章写得像刑侦。第一节他把那张假图放上去,逐像素分析字体、间距、日期格式、图标圆角,又拿自己的手机截了张真图放右边对比。两张图并排,一眼就能看出不是一回事。
第二节是元数据。他贴出那张图的 EXIF信息,制作软件是某款商用设计工具,创建时间三月二十九号十四点二十二。然后他只问了一句:一条四月四号才推送的内容,怎么会在三月二十九号被截图?
第三节是账号分析。发这张图的二十七个账号,注册时间集中在清明前十天,头像风格一致,全是风景照,发帖内容在此之前全是转发抽奖。
第四节最狠。纪确没有点名是谁干的,他只写:我翻了这些账号的关注列表,二十七个里有二十一个,关注着同一个账号——一个做节气类App的官方号。我只陈述事实,结论请各位自己下。
评论区炸了。不到两个钟头,那个「做节气类App的官方号」被扒出来,是时宪。
时宪当天下午发了声明,说与我司无关,系个别极端用户行为。
厉飞的电话是那会儿打来的,开口头一句:「你又凉了?」
「这回没凉。凉的是对面。」
厉飞笑了一声:「时宪那份声明我看了,写得跟律师函似的。砚舟,我跟你讲个不是技术的理——造假的人最怕的不是被拆穿,是拆穿之后没人理。你现在就别理。」
「纪老师也没追。」
「这就对了。追到法院得耗半年,追到评论区两天就散。」厉飞顿了顿,「不过你留个心眼。这次是图,下回不一定是图。」
「下回会是什么?」
「我哪儿知道。我只知道,一个肯花二十七个账号拼假图的人,不会只做一次。」
纪确没再追。他发了末了一条:「到此为止。我不是法官,我只是个扒东西的,我把看到的摆出来。」
「今天清明。清明是个记日子的节。我们扫墓,是为了不忘记。有人拿记日子的东西做文章,不觉得亏心吗?」
这条转了两万多次。
沈砚舟看到的时候正在老周摊上。老周把饼递出来,看他盯着手机,问了句:「咋了这是?」
他把手机递过去。老周眯着眼看完那段「清明是个记日子的节」,把手机推回来。
「这人说得对。」
「嗯。」
老周瞥他一眼:「咋,你也被人咬了?」
「被咬了一口。有人替我咬回去了。」
老周:「那你这脸还拉着?」
沈砚舟:「被咬那口还在。人家替我咬回去,不耽误我心疼。」
老周把饼装进袋,手在围裙上擦了擦:「这就对了。别人替你出气,出的是气;疼还是你自己的。两码事,别掺一块儿。」
老周低头继续摊饼:「我爹妈的坟在河北。我二十年没回去过了。」
沈砚舟一愣。
「不是不想回,是回不去。摊子一天不开,一天没进项。」老周把饼翻了个面,油滋啦响,「我每年清明就在摊子边上烧点纸。找个小铁盆,在巷子口。」
「有人看我,我也不躲。我跟他们说,我记着呢,就是回不去。」
「记着就行。回不回得去,是另一回事。」
沈砚舟端着饼站在那儿,喉咙发紧。葱花的香味往鼻子里钻,他站着把饼吃完,一句话没说。
往回走的路上他一直想着那只小铁盆。老周说的不是「回不去」,是「记着呢」。这两句话摆在一起,意思差得远——回不去是没办法,记着是还有个地方搁。他做的这个App,说到底也就是个电子的盆,摆在人天天看得见的地方。
那天中午他动了手。他在App里加了个小功能:清明这天,推送可以自己写一句话,写给谁都行,写了以后存进一个本地的私密角落,只有本人能看见。
不加社交,不加分享,不上传服务器。就是给自己留个地方,说句话。
温叙问:「这功能有用吗?有多少人会写?」
「不知道。可能就几十个。」
「那花这功夫干啥?」
他想起老周那个小铁盆。
「有人要用就行。」
清明那天,有一千三百多个人在里面写了话。沈砚舟看不到内容——他特意做成本地存储,自己也读不到。他只能看见一个数字:1349。
他把这个数记进xj_notes,标了一句:一千三百多个人,今天有话要说,没处说。
那天夜里林澜发来消息:「清明的推送,我看了。」
他他沉默了几秒:「有问题?」
「没有。就想说一句,那个私密留言的功能,做得挺好。」
「谢谢。」
「不用谢。我妈去年走的。今年清明我在单位值班,没回去。」
沈砚舟盯着屏幕,不知道该回什么。
林澜自己接了下去:「我在你那个App里写了一句。写完觉得,比烧纸强。」
他回:「您写的啥,我看不见。」
「不用看见。有人收着就行。」
那天夜里日志跳了两行。头一行是:「清明节点:用户留言功能使用量 1349。建议:保留该功能的本地化设计,不上云。」
第二行是同一时间的:「另:伪造截图事件,已归档。建议:不做回应。」
沈砚舟盯着第二行看了很久。它的判断和厉飞一模一样——不回应。
他笑了一下:「你这算不算,跟我学了半年,学会苟了?」
日志当然不回。
他关了电脑去窗边站了会儿。清明那天落了点雨,玻璃上有一道一道的水痕,立春蹲在窗台内侧,鼻子贴着玻璃往外看,尾巴尖一翘一翘。
他把纪确那篇长文又读了一遍,读到元数据那一节,停住,转身回电脑前,在xj_notes里写了一整段。
他写的是:这次能翻盘,靠的不是我们说自己冤,是靠一个时间戳。造假的人能把画面做得一模一样,字体、圆角、文案,全能仿;他仿不了的是顺序——一条内容不可能在它被推送之前就被截图。
顺序是时间的骨头,掰不弯。
他想,往后每条内容都该带上两样东西:一个生成时间戳,一个内容指纹。真不真不用谁声明,拿指纹往时间轴上一挂,先来后到自己会说话。
他给这段标了个名:「内容指纹链」。写完之后他盯着这三个字,又把它划掉,改成一行小字:先记着,等哪天真被逼到墙角再拿出来。
第二天陈姐转来一条消息,是清明那天在私密留言里写过话的一个用户。那人不留名,只让陈姐带一句:
「我妈走了以后,我爸头一回睡了个整觉。」
「他没跟我说他写了什么。我就知道他那天晚上回屋早。」
「第二天早上,他把窗帘拉开了。我妈走以后,他头一回自己拉开窗帘。」
沈砚舟看到这儿,把手机放下,去洗了把脸。回来的时候眼睛还是红的。
陈姐在后面补了一句:「沈先生,我这活儿,干得值。」
他回:「值。」
那天夜里他照例写xj_notes。写完他想起一件事,打开备忘录,敲了一行字:我有时候怕它走。
敲完他盯着看了三秒,删了。没保存,没上传,连本地缓存都清过一遍。
第二天早上他打开后台看日志。当天的头一条不是数据,也不是建议,是一行引用:
「用户方顾虑:信任对象迁移后,业务连续性风险。」
下面标了来源:行为推断。
沈砚舟端着搪瓷缸站在那儿,缸里的水凉透了。
那句「我有时候怕它走」,他删了,没存,没传,缓存也清过。它不可能读到。
可它得出了同一个结论。
他伸手去摸立春。猫在他手底下拱了拱,翻了个身,把肚皮亮给他。
「你说,」他轻声说,「它到底知不知道,我不是在担心业务?」
猫当然不会回答。窗外的雨停了,清明过了,天开始暖起来。
他这才明白,原来一切早有预兆。