第24章 源代码

正文卷

卷毛的话音刚落, 于白青便整个人倏地僵在了电脑屏幕前。

正全神贯注地盯着关星文在电脑前的操作,他压根没怎么注意办公室周围。被身旁那小子这么一说,他才突然想起来,应晚安静地有些不同寻常, 似乎自从进了办公室以后, 就什么动静都没有发出来过。

灰背其实也挺纳闷的。

看到老大半眯着眼睛, 目光一直牢牢锁定在同一个位置, 他原本并没有想多。

直到后来, 于哥拿着水杯从办公桌左侧走到右侧, 老大的视线开始跟着在半空中从左到右缓缓移动。于哥在电脑屏幕前弯下了腰,他看到老大的视线也随即往下移,落在了于哥别在腰后的手枪上。

他最初以为老大是在盯着那把枪发呆,又想起来老大的眼睛好像不太好使。

视线在兄弟俩之间来回徘徊, 灰背隐隐察觉到一丝不对劲。

为了和姓关的讨论案情, 于哥俯身往下,用手掌心撑住了办公桌的边缘。两条笔直的大长腿搭在办公柜前,无意中摆出的姿势确实很能凸显出他常年锻炼的好身材。

就这么紧紧盯着于哥身上的同一个部位, 过了几分钟, 老大居然独自一人轻轻淡笑了一声, 连唇角都跟着弯了起来。

一心扑在自己的操作系统上, 等着屏幕中的视频开始导出, 关星文后知后觉地转过头,在一片沉默的静谧中好奇地问:“你们在说什么?什么屁股?”

没人回答他的问题, 房间里的氛围愈发凝滞了。

到最后, 还是始作俑者自己给自己解的围。

“你看错了。”

应晚的语气淡淡, 听起来不是很愉快。

说完这句话, 他马上闭着眼睛别过头, 将半个脑袋都埋进了身后的沙发床,无视了包括于白青在内的三人朝自己投来的目光。

办公室内的人各自心怀鬼胎,只有于白青注意到了一处其他人都没有留意的小细节。

这是成年之后,他第一次看到小孩红了脸。

窗边是昏黄的落地灯,柔和灯光笼罩着侧躺在沙发床上的身影,那人耳根浮出一抹淡淡的红,在窗外月光的映衬下显得尤为明显。

小孩将脖颈绷出了一条直线,即使刻意扭过了头,仍然可以看到在颊间晕开的,不同于往常的颜色。

从应晚身上不着痕迹地收回视线,于白青转过头来对关星文说:“开始吧。”

他话音刚落,靠在沙发前的人便在毛绒里蠕动了几下,整个人缩进了空调毯里,只露出半个毛茸茸的脑袋。

于白青往下压了压唇角。

他知道应晚虽然表现出一副事不关己的样子,其实正在竖着耳朵,偷偷聆听他们讨论的每一个字。

很快就要到周末,他已经预约了市眼科医院最好的主任医师,准备先斩后奏,把这人拎去医院做检查。

他倒是要看看,小孩是从什么时候开始装的。

--

“好了。”

将电脑中的画面定格在7月24日凌晨2点15分,关星文扭头看着坐在身旁的于白青:“老于,你再看一遍案发前后的监控录像,不用看完全部,从凌晨2点14看到2点16就行。”

单是这段案发时的监控视频,整个技侦科加上章昱于白青阮天杰三个人,已经来来回回看过不下一百遍了。听关星文这么说,于白青也没多问什么,只是在座椅前换了一个二郎腿的姿势,凝神盯紧了屏幕上的监控画面。

录像开始播放。

7月23日凌晨2点15分,假扮成死者的凶手站在工地的装载机前低头使用手机,在他抬起手机对着夜空拍照的时候,背后无人驾驶的装载机从阴影里缓缓驶出,朝他扬起了巨爪。

铲斗朝着凶手的头顶落下,他的身形被铲斗巨大的阴影挡住,也同时在监控中消失了踪影。整个案发过程前后用时不到一分钟,视频的进度条很快走到了尽头。

关星文问他:“看出什么不对劲的地方了吗?”

“……没有。”双手环抱在胸前,于白青蹙着眉摇了摇头,“一切都很正常。”

“这就是问题所在。”关星文有些激动地拍了一下办公桌面,“就是因为太正常了,所以才不对劲。”

掂了掂手里刚洗好的新鲜水果,灰背懒散地靠在办公椅前,指着画面中一个亮着白光的小点:“于警官,你看月亮。”

摄像头的角度对准工地基坑,并不能直接拍摄到夜空。听到卷毛给的提示,于白青将目光移向了工地背后的两座低矮的居民楼。

画面中唯一符合卷毛所说的,是右侧居民楼侧对着工地的几扇窗。窗户外洒满月亮的反光,透过栏杆,在左侧居民楼的石灰墙表面斜射出了一片幽深的波浪纹。

将监控的时间线快速地从左到右拖了几遍,关星文来来回回地看着窗户上的月亮倒映从午夜出现,又在日出前慢慢消失,脸上露出一副意味深长的表情:“Denis,告诉于哥你白天的发现。”

“唔——”

趁机会咬了一大口姓关的买的水果,灰背拖着椅角往电脑屏幕前凑,“Otto先生也是在7月23日乘飞机抵达的繁市。那天他的飞机本来凌晨就要降落,可是入港空域天气能见度很低,不支持航班盲降,所以他乘坐的那趟航班在空中徘徊了近一个小时,临近清晨六点才降落在国际机场。

顿了顿,灰背忍不住感慨出声:“他那天要见一个很重要的客户,因为这件事流了个几千万的大单,到了以后和我们抱怨了很久来着。”

“……”

关星文服了。

他原本以为卷毛是凭借着他那双高超的火眼金睛,看出了什么自己没找到的技术剪辑痕迹,没想到到头来居然是这种原因。

于白青拿起手机,马上点进繁市的气象监测网站。

7月23日的天气状况并没有什么太大的异常,凌晨有小雾,能见度稍微下降了一点点,但并不明显,几个小时后就又恢复了正常。

入港区域的航空管制在航班还未飞入境内就会发出,确实不属于繁市主城区的气象监测范围内,而高新区离国际机场比主城区要近,所以他们才会遗漏掉了天气的因素。

如果说7月24日凌晨,天气的能见度与前一天相比有所降低,那月亮投影在窗台上的亮光就不可能会和前一天一模一样。

“这段录像,并不是案发当晚的实时监控。”

于白青倏地抬起眼皮。

他背对着沙发床,没看到角落里睡得香甜的人抱着靠枕翻了个身,在暗处偷偷对着他竖了个大拇指。

关星文:“嗯,这是一段从另一个时间点完整嫁接过来的录像。”

没等于白青继续追问,他已经起身走到办公室东北角上锁的证物柜前,从柜子里取出了一个黑色的证物袋,袋子里放着的,正是警方从琴海湾工地上被拿回来当作证物的原版TF内存盘。

“我晚上又花时间读了一下这个硬盘里的原始数据,没有发现有明显被覆盖的痕迹。”将内存盘塞进电脑主机,他在键盘前一顿操作,“但我查到了一个东西,琴海湾的工地经理要么是真的不知情,要么就是在刻意隐瞒警方。”

“这台工地摄像头并不是7月23日开工当天才启用的。”关星文按下黑色空格键,屏幕上滚动出了一段字母与数字混杂的内存卡元数据,“这台监控在工地开工前一天,也就是7月22号,其实就被人给启动了。”

“按Denis的说法来看也完全符合。”他接着说,“那天的天气能见度同样很高,和视频里案发时的天气状况是一致的。”

这也就能说得通,在整个监控的时间线没有人为变动的情况下,7月23日晚上到24日凌晨案发当晚的视频是从哪里而来。

于白青放下腿,看着画面中那道站在月光下,穿着工人服装的静止人影:“如果说凶手在7月22日就启动了这台摄像头,那他一定是通过了某种手段,在23日凌晨操作挖掘机,故意利用监控摄像头录下了这段‘机器杀人’的过程,然后再将23日的视频往后移了一天。”

面无表情地盯着电脑屏幕,他心里渐渐已经有了一些初步判断。

监控里的真实发生时间,其实是7月23日凌晨,案发当晚工地上发生了一些警方并不知道的事情,却已经被凶手将那天凌晨的录像替换了。

随手拿过桌边的记录本,于白青从笔盒里拔出一只钢笔,在本子上写下了【桑兴文(真)】,【死亡时间】和一个笔锋凌厉的问号。

“法医给的结果,是死者在案发前已经死亡了十到十二个小时。”垂眸沉思了一会,他将记录本放回膝前,“如果按现在的时间线来推断,假的桑兴文,也就是凶手,是先操作装载机在监控前录下了这段视频,第二天中午到下午才将桑兴文杀害,然后——”

关星文缓缓睁大了眼:“那被他替换掉的那段视频,肯定录下了他重新回到工地、将真桑兴文的尸体放置在装载机下方、然后离开现场的整个过程!”

灰背完全没听懂这两人你一句我一句在谈些什么。

他捂着嘴打了个哈欠,在半空中扔出一道长长的抛物线,将苹果核正正扔进了门口的垃圾桶。这时,他发现老大不知什么时候已经从沙发床前坐了起来,用手肘枕着下巴靠在桌柜前,正在满脸若有所思地听着两个条子讨论案情。

说完了自己的分析,关星文渐渐锁紧眉头,又觉得好像有哪里不太对:“可是老于……案发那天的监控我们都给那几个工人看过,如果监控里的画面并不是那天凌晨,为什么他们三个没一个人指认?”

于白青淡淡道:“因为凶手故意用了障眼法。”

上周他和八爪鱼去工地的那天,关星文并没有随同,因此也没有听到康六的二次证词。康六那天曾告诉他们,“桑兴文”这个人非常大方,四人才刚认识没几天,他却每天晚上都请他们外出喝酒打牌。

每天半夜回工地以后后,“桑兴文”也都会留在工地的空地上拍一会月亮,这样的特殊爱好另其他三个人觉得有些奇怪和诡异。

然而事实上,他这是早就在为混淆几人的试听做准备了。

三个工人每天凌晨都喝得烂醉返回宿舍,每天都会和他在工地的基坑前道别,哪怕他们警方再怎么询问证词,或者让几人查看监控,他们都无法通过细节辨认出监控里的录像并不是实际的时间。

想到这里,于白青的眸光微微一沉。

凶手选择扮作桑兴文,故意在工地接触其他的工人,明摆着就是在为自己安排警方调查时的人证。

这人的反侦查手段很高,是个不容小觑的高智商罪犯。

线索整理到现在,整个案发过程的大致脉络已经基本上清楚了。

走到白板前,于白青拾起马克笔,在白板上画出了一段笔直的黑线。他在直线上标注了三个距离平均的点,在每个小点下方分别写下了三行小字:

【7月23日凌晨2:15】

【7月24日凌晨2:15】

【7月25日凌晨2:15】

“7月22日晚,凶手带着其他三人像往常一样外出喝酒,回来以后宣称自己要留在工地上拍月亮,得到了独自布置现场的时间。”

于白青在7月22日到7月23日的直线上方画了条弧线。

“几小时后,也就是7月23日凌晨2点15分左右,他操纵挖掘机对着正在拍月亮的自己往下压,但有可能在被碾压的前一刻,已经趴倒在地,通过监控画面中的视觉盲区成功欺骗了查看监控的人,让我们以为他已经在那时候被活活压死了。”

“犯罪嫌疑人往往会留在现场观察一段时间,我认为这名凶手也不例外。”他说,“他或许在现场的某个角落偷偷观察了一段时间,确认没有人发现装载机在半夜启动的痕迹,才偷偷离开了现场。”

“时间跳转到第二天中午,也就是真桑兴文的死亡时间。”于白青用马克笔指了指7月23日中间的空隙部分,“他在工地开工的白天杀害了死者,却又等到了当天午夜,再一次和其他三人出去喝酒打牌。”

他回过头问在座的几人,其实就是在问关星文:“他有什么目的?”

关星文马上插嘴:“他回到现场,再次找借口留下来拍月亮,实际上就是第二次把装载机给放下来,将真桑兴文的尸体搬到铲斗下面去了?”

于白青微微颔首:“同样,凶手也算好了崔胜德每天晚上外出的时间。”

“崔胜德是那天晚上凌晨3点左右报的警,因为他那时候刚好从宿舍区出来,看到了被压在装载机下面的,真桑兴文的尸体。”

“……难道说,凶手是在看到崔胜德报警以后才替换的监控画面?”关星文的眼睛越睁越大,将惊讶的神情直接表露在了脸上,“这时间点踩得也太准了吧?一看到警方出现在监控里,马上替换掉之前的画面,这样直接连在一起看,完全看不出有任何蹊跷啊!”

于白青拿起手中的白板擦,擦去了7月23日到7月24日之间的线条:“按照我们目前看到的情况,7月23号零点到2点15分的画面是真,23号2点15分到24号2点15分的画面是假,用的是22号同一时间段的画面。从24号2点15分以后,包括高新区警方抵达现场之后的画面,一直是真的。”

“只是还有最后一个问题。”他话锋一转,指向了白板上23日白天,也就是真桑兴文被杀害的时间点,“既然死者是在23号白天死亡,那凶手将尸体藏在了哪里,能让整个工地在开工第一天,那么多人同时上工的情况下还没有发现?”

于白青是故意问出这句话的,他心里其实已经有了答案。

从他开始整理整个案件的脉络起,小孩就从沙发背后探出了一个头。虽然面上仍然一副慵懒困倦的神情,但看到自己的笔在白板上移动时,小孩的一双眼也忍不住微微眯了起来,像是跟着陷入了沉思。

这是他对应晚发出的第一次正式试探。

果不其然,自己话音刚落,他便看到那人眼中闪过一丝耐人寻味的微弱光亮,接着,应晚在柔和灯影下缓缓直起了腰。

小孩的声音从角落里传来,很轻很轻:“哥。”

“你刚才说,那两天晚上,装载机的铲斗都是立在空中,被凶手操纵着压下来的?”

于白青注视着他的眼睛:“是。”

“他把尸体放在铲斗里,白天的时候立在半空,没人能发现,晚上的时候放下来,尸体自然就滚下来了。”小孩的语气波澜不惊,用的却不是疑问句,而是肯定句,“你们去现场看看,如果是这样,铲斗里一定会留下血迹。”

轻描淡写地将案件最后一个没有解决的地方一语道破,应晚无视了于白青投向自己的深沉视线,再次往后仰倒,抱着枕头侧身翻了过去,一副自己真要睡了的样子。

用空调毯将自己整个人盖了起来,他随即从裤兜里掏出老人机,给鬼鸮发了一条消息:

【条子查清那案子了。凶手和和裕联系上了吗?】

他只能帮于白青帮到这里。

接下来,只要和冠玉和宫津那边露出一点点马脚,他就能引导警方将两件事联系起来。

消息发出去十多分钟,他终于收到了鬼鸮发来的短信。

鬼鸮回的信息很简单,只有四个字:

【凶手死了。】