技术科的防盗门在身后合上时,发出一声沉闷的金属撞击声,像极了案发当天那部停在17层与18层之间的电梯,最后一次试图启动时的顿挫。林砚之把装着现场照片的文件夹放在实验台中央,指尖在死者:苏蔓,32岁,盛科集团市场部总监那行字上顿了顿——三个小时前,他还在盛科大厦23层的电梯井旁,看着法医把盖着白布的担架从狭窄的井道里抬出来,白布边缘渗出的淡红色污渍,在灰色的水泥地上拖出一道细碎的痕迹。林工,电梯主板和通风系统的拆解件到了。实习生小周推着金属推车进来,车轮碾过地面的纹路,带出轻微的咯吱声。推车上放着两个透明物证袋,一个装着巴掌大的pLc控制器,金属外壳上还沾着电梯井道里的灰尘;另一个则是通风系统的滤芯,米白色的滤纸上隐约有几处浅褐色的斑点,像是被什么液体浸过又干涸了。
林砚之戴上乳胶手套,拿起滤芯凑近光源。他的视力很好,能看清滤纸纤维间嵌着的细微金属屑——不是通风系统正常磨损产生的铝屑,而是带着锈蚀痕迹的铁屑,边缘还泛着极淡的蓝绿色。去把气相色谱-质谱联用仪预热,重点检测氰化物和有机磷类化合物。他头也不回地说,另一只手已经拿起了放大镜,对准pLc控制器的接口处。
接口针脚有明显的插拔痕迹。不是正常维保的那种均匀磨损,而是带着暴力插拔的刮痕——第三根针脚的镀层已经脱落,露出里面的铜芯,旁边还粘着眼看就要脱落的焊锡。林砚之皱了皱眉,从抽屉里翻出专用的程序读取器,把数据线插进控制器的串口。屏幕亮起的瞬间,一行红色的错误代码跳了出来:程序校验失败:0x00A8。
林工,这不对啊。小周的声音从仪器那边传来,带着惊讶,盛科这部电梯是去年才换的三菱AxIEZ系列,自带程序校验功能,就算是维保人员修改参数,也得通过厂家的加密狗,怎么会出现校验失败?
林砚之没说话,手指在键盘上飞快敲击。他调出了电梯的原始程序备份——这是早上从三菱厂家那边调来的,带着出厂时的时间戳。将备份程序与控制器里读取出来的程序进行比对,屏幕上很快出现了一段高亮的异常代码:这段代码藏在“楼层停靠逻辑”的子程序里,长度只有128字节,却像一颗埋在血管里的弹片,不仔细看根本发现不了。
触发条件是什么?林砚之问。小周调出代码的注释行,脸色瞬间沉了下来:是……特定的Ic卡刷卡记录。代码里写了,当读取到卡号为SK-0328的电梯卡时,延迟30秒后切断主电源,同时触发通风系统的电磁阀。
林砚之的手指顿了顿。苏蔓的工号就是0328,那是盛科集团给高管统一制作的专属电梯卡,只能刷到她所在的23层。也就是说,凶手早就知道苏蔓会用这张卡,甚至算好了她乘坐电梯的时间——案发当天下午2点17分,苏蔓从1楼刷卡上电梯,30秒后电梯刚好运行到17层与18层之间,正是井道里信号最弱、监控盲区最大的位置。
这时,气相色谱仪发出了“嘀”的一声提示音。小周跑过去看了一眼,回来时手里拿着一张检测报告,脸色发白:林工,滤芯里检测出了氰化氢,浓度不高,每立方米只有0.8毫克,但持续吸入15分钟以上,就能导致呼吸衰竭。而且……他指了指报告上的另一个数据,还有微量的乙二醇醚,这是一种溶剂,通常用来溶解氰化物,让它更容易挥发。
林砚之拿起滤芯,再次凑近光源。那些浅褐色的斑点,此刻在他眼里变成了一个个细小的定时炸弹——凶手应该是提前拆开了通风系统的进风口,把溶解了氰化物的乙二醇醚滴在滤芯上,然后重新装回去。电梯停运后,通风系统虽然还在运行,但因为电磁阀被触发,风路被改道,有毒气体无法排出,只能在密闭的轿厢里循环,直到苏蔓吸入过量死亡。走,去现场再看看。林砚之摘下手套,抓起外套。他总觉得哪里不对劲——pLc控制器的暴力插拔痕迹,通风口的锈蚀铁屑,还有氰化物的浓度控制,这些细节里藏着凶手的习惯,甚至可能是他的破绽。
盛科大厦的电梯井旁已经拉上了警戒线,门口站着两个值班警察。看到林砚之过来,其中一个警察连忙迎上来:林工,你们怎么又回来了?刚接到通知,盛科的管理层要过来查看,要不要等他们来了再进去?不等。林砚之直接掀开警戒线,我要再看一眼通风系统的进风口。
电梯井道里还弥漫着一股淡淡的金属味,混合着灰尘的气息。林砚之打开手机手电筒,照向轿厢顶部的通风口——那是一个正方形的金属格栅,边缘有明显的撬动痕迹,和滤芯上的锈蚀铁屑一样,格栅的螺丝孔里也嵌着一点蓝绿色的锈迹。他伸手摸了摸格栅的内侧,指尖触到了一道细小的划痕,像是用螺丝刀之类的工具反复刮过。
小周,把内窥镜拿出来。林砚之退到一边,看着小周把内窥镜的探头伸进通风口。屏幕上很快出现了通风管道内部的画面——管道壁上有一层薄薄的灰尘,但在靠近进风口的位置,有一块区域的灰尘被擦掉了,露出了管道壁的金属本色,旁边还有几滴已经干涸的淡褐色液体痕迹,和滤芯上的斑点颜色一模一样。
凶手应该是在这里注入的有毒液体。林砚之指着屏幕上的痕迹,“而且他很清楚通风系统的结构,知道从这里注入,液体刚好能滴在滤芯上,不会流到其他地方。他顿了顿,突然想到了什么,对了,这部电梯的维保记录呢?我要最近三个月的。
小周连忙拿出手机,调出从物业那边拷贝来的维保记录:最近一次维保是上周三,由鑫诚电梯维保公司的工程师张磊负责,保养项目包括电梯运行测试、通风系统清洁……
张磊?林砚之的眉头皱得更紧了。这个名字他有点印象——去年城西某小区的电梯故障,也是鑫诚公司的人负责维保,最后查出是维保人员违规修改程序,导致电梯频繁停运。当时负责技术鉴定的,正是林砚之。
他拿出手机,拨通了刑警队队长赵刚的电话。电话接通的瞬间,他听到了背景里的嘈杂声,像是在审讯室里。老赵,帮我查个人。林砚之的声音很沉,鑫诚电梯维保公司的张磊,查他上周三在盛科大厦的维保记录,还有他的银行流水和通讯记录。另外,把去年城西小区电梯故障的案卷调出来,我怀疑这两起案子有关联。
电话那头的赵刚顿了一下,然后传来键盘敲击的声音:行,我这就安排人查。对了,盛科那边刚才提交了苏蔓的人际关系报告,说她最近在跟一家叫锐科的公司抢一个大项目,两家公司闹得挺僵,锐科的老板还在公开场合威胁过苏蔓。要不要先查一下锐科?
林砚之看了一眼电梯井道里的通风口,金属格栅在手电筒的光线下泛着冷光。先查张磊。他说,锐科那边可能是烟雾弹,但张磊有修改电梯程序的前科,而且他有机会接触到盛科的电梯——这才是最危险的。挂了电话,小周突然指着内窥镜的屏幕,声音有点发颤:林工,你看这里……
屏幕上,管道壁的灰尘里,嵌着一个小小的金属片——不是通风系统的零件,而是一枚指甲盖大小的徽章,上面刻着一个鑫字,边缘还沾着一点焊锡,和pLc控制器接口处的焊锡颜色一模一样。那是鑫诚电梯维保公司的员工徽章。
张磊的住址在城郊的一个老旧小区里,6楼,没有电梯。赵刚带着两个刑警爬楼梯的时候,能听到楼道里传来的炒菜声,混合着小孩的哭闹声,显得格外热闹——和这个小区的氛围格格不入的是,张磊家的门口,竟然装着一道指纹锁,门把手上一尘不染,像是每天都有人擦拭。
奇怪,一个维保工程师,住老小区,却装这么贵的指纹锁?跟在后面的刑警小李嘀咕了一句,伸手想去按门铃,却被赵刚拦住了。赵刚从口袋里拿出手套戴上,仔细看了看门锁的表面:别按门铃,先看看有没有撬过的痕迹。他的手指在指纹锁的感应区摸了摸,没有发现划痕,反而在门底的缝隙里,看到了一点淡褐色的液体痕迹——和林砚之发来的、通风系统滤芯上的斑点颜色一模一样。
叫技术科的人过来,先提取门底的液体样本。赵刚拿出手机,给林砚之发了条消息,然后对小李说,去物业查一下张磊最近的出入记录,特别是上周三之后,他有没有回过家。小李刚走,林砚之的电话就打了过来:老赵,我刚看了张磊的维保记录,有问题。上周三他在盛科大厦的维保时间是下午1点到3点,但物业的监控显示,他下午2点15分就离开了大厦,比记录上少了45分钟。
45分钟?赵刚的眼睛眯了起来,他离开的时间,刚好是苏蔓乘坐电梯的前两分钟。对。林砚之的声音里带着一丝急促,我还查了他的银行流水,上个月有一笔5万块的转账,来源不明,备注是咨询费。而且他的通讯记录里,有很多跟一个境外号码的通话,时间都在深夜,每次不超过30秒。