第7章 打不开的附件
陈渡没能一觉醒来就没事。
凌晨三点十七分,他第三次从床上坐起来,笔记本屏幕的冷光把他的脸切成明暗两半。长住套房的窗帘没拉严,窗外的路灯把雨丝照成斜斜的银线。他盯着邮箱里那行红色提示——“文件已损坏,无法打开”——已经盯了将近四个小时。
邮件正文很短。林惟安去年十月十七日写的,措辞平静得不像她。
“陈渡,这张照片我觉得你应该留着。保重。”
就这两句。没有解释,没有情绪,没有拖泥带水。像是往湖面丢了一枚硬币,沉了就沉了。
他试图说服自己这不过是一封普通的告别邮件。他们分开得不算体面,但也谈不上撕破脸。她发这封邮件的时候,大概只是想给这段关系做一个干净的了断。一张旧照片而已,能有什么大不了的。
可他的手指还是不受控制地第五次点击了那个附件。
同样的红色提示弹出来。
“操。”
他把笔记本合上,仰面躺回枕头上。雨声隔着玻璃传进来,闷闷的,像是有人在很远的地方敲鼓。他闭上眼睛,脑子里却全是那个附件的文件名:IMG_20170408_1523.jpg。
2017年4月8日。
那天是他生日。
她那天确实给他拍过照。在吉祥寺那家他们常去的喫茶店,她坐在他对面,用手机对着他摁了好几张,笑得眼睛弯起来,说“你这个表情好傻”。
他当时回了一句什么来着?好像是“删掉”。她没删,举着手机往后退,说“不删,等你哪天惹我生气了我就把这张照片发给所有人”。
后来呢?后来她真的生气了,但他们谁都没再提过这张照片的事。
陈渡翻了个身,把脸埋进枕头里。他告诉自己这不重要,不要想太多。她去年秋天发这封邮件,不过是想把属于他的东西还给他,画一个句号。她现在人在东京,有自己的生活,也许已经有了新的人。他也应该向前看。
可他睡不着。
天蒙蒙亮的时候,他爬起来去冲了个澡。热水浇在后脑勺上,他闭着眼睛,脑子里忽然冒出另一个念头:如果这封邮件真的只是一次体面的告别,她为什么要选去年十月?
那个时间点,他刚到东京不久,学校的课程表、签证材料和各种申请表堆在一起。陈氏的季度财报刚出,父亲给他转发了一篇新闻,配了一句“你看看人家”。
他那时候根本没心思去想林惟安。
她大概也是知道的。所以她发完这封邮件,就再也没联系过他。
陈渡关了水,站在浴室里愣了一会儿。镜子上全是雾气,他伸手抹了一把,看见自己的脸模模糊糊地映在里面,眼眶下面一圈青灰。
上午九点,他给留学生群里一个叫孟昭的男生发了条微信。
“你上次说你做过数据恢复?有个旧邮件附件打不开,能帮我看一下吗。”
孟昭回得很快:“可以。什么格式的文件?”
“JPEG。去年的邮件。系统提示文件损坏。”
“去年的邮件按理说不应该损坏。你带来机房吧,我下午两点以后在那儿。”
陈渡回了个“好”,把手机扣在桌上。
窗外还在下雨。
他坐在床边发了会儿呆,手指无意识地划开手机屏幕,又关上。母亲的未接来电还挂在那里,三条,从昨晚开始。银行的短信通知躺在通知栏里,提醒他本月信用卡还款日临近。学校国际学生办公室的邮件也在,标题是“关于下学期学费缴纳的重要通知”。
他全部划掉,一条都没点开。
下午一点四十,陈渡撑伞出了门。
雨比凌晨的时候小了一些,但风很大,把雨丝吹得斜斜的,伞面被扯得东倒西歪。他沿着校园主路往信息中心走,路两旁的银杏树叶子被雨打落了大半,黄黄地铺了一地,踩上去软塌塌的,没有声响。
机房的空调开得很足,他一推门就打了个寒颤。日光灯把整个房间照得发白,二十几台电脑排列成两排,键盘声和打印机工作的嗡嗡声混在一起,偶尔有人低声交谈,说的都是他听不懂的编程术语。
孟昭坐在靠窗的位置,戴着一副黑框眼镜,面前摊着两台笔记本,一台在跑程序,另一台开着某个陈渡看不懂的命令行界面。
“来了。”孟昭头也没抬,“你坐。把邮件转发给我。”
陈渡在旁边坐下,登录邮箱,手指在触摸板上停了两秒,才把邮件转过去。
孟昭打开邮件,先看正文,又看了看附件的文件名和大小,眉头微微皱了一下。
“这个附件大小不对。”
“什么意思?”
“一张正常的手机照片,JPEG格式,少说也该有两三兆。你这个附件显示是1.2MB,但文件名后缀是.jpg,系统却识别不出来。”孟昭用鼠标点了点屏幕,“而且这封邮件的发送时间也很奇怪。”
陈渡凑过去看。邮件页面显示的发件时间是“2023年10月17日 23:47”。
“半夜发的。”他说。
“不光是半夜的问题。”孟昭把页面往下拉,指着邮件头信息,“你看这里,这封邮件从草稿到发送,中间隔了将近四十分钟。正常写一封两句话的邮件,不需要这么久。”
陈渡没说话。他盯着那行时间戳,忽然觉得机房的空调更冷了。
孟昭打开一个恢复工具,把附件文件拖进去,开始跑扫描。进度条跳得很慢,一格一格地往前蹭。陈渡靠在椅背上,双手交叉放在膝盖上,看着那条绿色的线一点一点往右爬。
“不重要。”他忽然开口,“可能就是一张旧照片。”
孟昭看了他一眼,没接话。
陈渡又说:“她当时大概就是想做个了断。把旧东西还给我,说句保重,然后就翻篇了。”
他自己也听出来这话说得太快了,像是在抢在某个结论之前先把答案说出来。
孟昭的手指在键盘上敲了几下,屏幕上的进度条走到百分之三十七,忽然停住了。
“有碎片。”孟昭说,“文件结构不完整,像是被人为截断过。”
“人为截断?”
“就是文件没有写完就被强行终止了。不是普通的传输错误,也不是服务器故障。”孟昭把屏幕转过来一些,指着上面一串十六进制的代码,“你看这里,正常的JPEG文件应该有完整的文件头和文件尾。你这个只有文件头的一部分,后面的数据全部缺失。像是有人在保存文件的时候,故意中断了写入。”
陈渡看着那些密密麻麻的代码,一个字都看不懂。但他听懂了“故意”两个字。
“不可能。”他说。
孟昭没反驳,继续跑扫描。进度条又开始动了,这次走得更慢,像是每前进一格都要犹豫一下。
陈渡站起来,走到窗边。雨又下大了,打在玻璃上噼里啪啦地响。楼下一个女生撑着透明伞匆匆跑过去,书包在背后一颠一颠的。他想起林惟安以前也喜欢用透明伞,雨天的时候撑着伞在校门口等他,远远看见他就踮起脚招手,伞面上的水珠被晃得四处飞溅。
她最后一次给他打伞是什么时候?
想不起来了。
“出来了点东西。”孟昭的声音从身后传来。
陈渡转过身,步子迈得有点急,膝盖撞到了旁边的椅子腿,疼得他嘶了一声,但他没停,快步走回孟昭身边。
屏幕上出现了一小片预览图。模糊得厉害,像是隔着一层磨砂玻璃在看。只能辨认出大致的色块:暖黄色的灯光,深色的桌面,一团浅色的东西,可能是人的脸。
“只能恢复到这个程度。”孟昭把预览图放大,画质更模糊了,“文件损坏太严重,后半部分的数据完全丢失。不过文件名里有个信息倒是能看出来——这张照片是2017年4月8日下午三点二十三分拍的,拍摄设备是iPhone 7。”
陈渡的手放在桌沿上,指节不自觉地收紧了。
2017年4月8日。吉祥寺的喫茶店。她拿着手机往后退,笑着说“等你哪天惹我生气了我就把这张照片发给所有人”。
她没发给所有人。
她只发给了他。
在去年十月十七日的深夜,离午夜还有十三分钟的时候,写了一封只有两句话的邮件,附件里放了这张很久以前的旧照片。
然后照片坏了。
“能不能再恢复一点?”陈渡问。他自己都没注意到自己的声音变了,比刚才低,像是喉咙里卡了什么东西。
孟昭试了几种方法,进度条反复从头开始,每次走到百分之四十左右就卡住,然后报错。他换了工具,换了参数,甚至试图手动重建文件头,但都不行。
“这个附件不像自然损坏。”孟昭最后把电脑合上,转过来看着陈渡,语气很确定,“像是被人为改坏或者截断过。文件在保存到一半的时候被强行终止了。”
陈渡没反应。
他站在原地,机房的冷气从头顶的通风口吹下来,把他的头发吹得微微晃动。日光灯在他脸上投下没有温度的白色,他看起来像是在想一件很远的事情。
“你确定?”他问。
“确定。”孟昭说,“我做数据恢复两年多了,自然损坏的文件和人为损坏的文件,特征不一样。你这个明显是后者。”
陈渡慢慢坐回椅子上。
他忽然想起林惟安发这封邮件的时间。去年十月十七日。那个时间,她用的应该是自己的电脑,自己的网络,自己的邮箱。没有人会去破坏一封普通邮件里的附件。
除非是她自己。
可为什么?
她发给他一张旧照片,为什么要在保存到一半的时候故意中断?是后悔了?还是从一开始就没打算让他看到?
或者,她写了别的东西,在邮件正文里写了,后来又删了,只留下那两句不痛不痒的话?
陈渡把手机掏出来,打开通讯录,翻到林惟安的名字。她的头像还是三年前那张,在浅草寺拍的,穿着浅蓝色的和服,侧脸对着镜头笑。他盯着那个头像看了很久,拇指悬在“发消息”的按钮上方,最终没有按下去。
“谢了。”他对孟昭说,站起来拿起伞,“欠你一顿饭。”
“不用。”孟昭犹豫了一下,“你要是想继续恢复的话,我可以再试试别的方法。但老实说,希望不大。文件被破坏得太彻底了。”
陈渡点点头,没再说什么,推开门走进了雨里。
雨比来的时候更大了。他撑开伞,沿着原路往回走。银杏叶子被雨水打得更碎了,黄黄地粘在鞋底上,走几步就要蹭一下。
他脑子里反复回响着孟昭那句话——“像是被人为改坏或者截断过”。
不是自然损坏。
是人为的。
他走到公寓楼下,收了伞,站在门廊里抖掉伞面上的水珠。手机在口袋里震了一下,他掏出来看,是母亲发来的微信。
“你爸问你这个月生活费还需要多少。看到回一下。”
他把手机塞回口袋,上了楼。
房间里还是早上离开时的样子,被子没叠,笔记本合着放在床头。他在床边坐下,把笔记本打开,邮箱还停留在林惟安那封邮件的页面上。
“陈渡,这张照片我觉得你应该留着。保重。”
他盯着这两行字看了很久。
然后他做了一件自己都觉得莫名其妙的事——他打开搜索引擎,输入了“2017年4月8日 东京”。
搜索结果跳出来,无非是些天气、新闻、活动信息。那天东京多云转晴,最高气温十七度,樱花季刚过,上野公园的花已经开始落了。
他往下翻了几页,什么也没找到。
当然找不到。那只是一个普通的生日,一张普通的照片,一个普通的女孩坐在他对面,笑着给他拍照。
普通到他不应该这么在意。
陈渡关掉浏览器,合上电脑,仰面躺倒在床上。
雨声隔着窗帘传进来,闷闷的。
他闭上眼睛,脑子里浮现出孟昭最后那句话,一遍一遍地重复,像是卡带的录音机。
“这个附件不像自然损坏。像是被人为改坏或者截断过。”
他没有震惊。
他只是不愿意相信。