晋江文学城
下一章 上一章  目录  设置

6、四十万行代码 四十 ...


  •   四十八小时的第九个小时,沈昼明白了一件事:

      读代码和读人心,是同一件事。

      永念的核心系统有四十万行。他从第一行开始读——不是浏览,是读,像法医读一具尸体那样读。每一行代码都有作者,作者都有习惯:变量命名的洁癖、注释的语气、缩进的呼吸。读到第六个小时,他已经能分辨出这个系统里生活过多少双手。

      大部分代码是顾夜的。锋利、漂亮、密度极高,注释极少——一种绝对自信的写法,像一个人在冰面上全力滑行,从不回头看自己的刀痕。

      但在最底层,在系统骨架的最深处,盘踞着另一个人写的代码。古老、笨重、耐心,用的是十年前就停止维护的框架。

      那段代码被后来的版本一层一层包裹起来,像年轮包裹树心。

      沈昼把最早的一次提交记录调了出来。

      时间戳:二〇一六年八月四日。提交者:jiangsheng。提交说明只有四个字——

      “开始记录”。

      永念公司五年前才成立。而这段代码,比它的公司、它的产品、它的名字,都早了整整五年。

      沈昼靠在椅背上,长长地呼出一口气。他没有兴奋——五年前那个教训之后,他不再为任何单一证据兴奋——他只是把这块拼图,放在它该在的位置上。

      一块一块,快了。
      ________________________________________

      第三十一个小时,他解开了“湖泊”。

      这个账号不是永念系统的原生账号。它的凭证带着迁移痕迹——三年前,公司架构升级时,它从江声的一台私人服务器上被导入了主系统。迁移操作的执行者签名不是江声本人,是外包的运维公司,签的是标准的NDA。也就是说,连经手的技术人员都不知道自己搬进来的是什么。

      那台私人服务器的域名注册时间,同样是二〇一六年八月。

      江声在林晚死后四十七天,搭建了一台服务器,创建了一个叫“湖泊”的账号,写下了第一行代码:“开始记录”。

      然后,他用了整整十年,把这台服务器养成一个温柔的、体面的、估值百亿的告别帝国。全江离市的人用它给亡者写信,往里面存放挚爱之人的照片、语音、遗物扫描件——

      给一台从命案里孵化出来的机器。

      第四十小时,沈昼追到了机房。那次“固件升级”的监控离线,根本不是升级——离线指令来自一枚硬件密钥的物理插拔。永念的根权限绑定在一枚实体key上,全球仅此一枚,从不外借,从不离身。

      备案记录写着:持有人,江声。

      第四十五小时,沈昼在权限系统的缓存里,找到了最后一块拼图——一个加密的私有仓库,挂在“湖泊”账号名下,不占用公司存储,从未被任何版本管理工具收录。仓库名是六个汉字:

      「湖是一封没有寄出的信」

      和林晚那篇退稿随笔的标题,一字不差。
      ________________________________________

      第四十七小时,沈昼合上笔记本,在市局白板前站了很久,然后把裴松、副支队长和法制科的负责人,一个一个请到了白板前。

      他在白板上写了四行字:
      一、账号“湖泊”及全部底层代码,创建于二〇一六年八月,早于顾夜入职七年。他不可能伪造一个早于自己出现的证据链。
      二、讣告的离线注入依赖根权限硬件密钥,密钥全球一枚,持有人江声,从未外借。顾夜权限等级不足以接触注入通道。
      三、栽赃证据(刀、抄本)出现在一个需要四十分钟才能打开的夹层,其“被找到”的方式本身即是台词——剧本的观众是我们。
      四、一个隐藏仓库:“湖是一封没有寄出的信”。需要根权限打开。

      “我现在申请两件事,”沈昼说,“第一,解除对顾夜的传唤,恢复顾问身份。第二,向检方申请对根权限密钥持有人的调查令。”

      副支队长盯着白板看了很久,忽然问:“你自己信这套推论吗?沈教授,我只问一句——如果最后坐实了就是顾夜,你今天这四行字,就是他最好的辩护词。你担得起吗?”

      “担不起。”沈昼说,“所以我把四十八小时押在这里了。周聪案以后,我给自己立过一条规矩:我可以看错,但我不能不看。”
      ________________________________________

      顾夜从传唤室出来的时候,他们一起见了一个自己来到市局的人——苏澈。

      之后,沈昼在走廊尽头等他,手里拎着两杯咖啡,一杯已经凉了。四十七个小时没合眼的人,站姿依然笔直,只是眼下两片青黑,深得像湖。

      顾夜在他面前站定,看了他一会儿,忽然伸手,把他手里那杯凉咖啡拿了过去,一口喝干。

      “难喝。”他说,“走,天台。”

      十月底的天台,风大得像要把人吹回十年前。两个人并肩靠在女儿墙上,下面是江离市的灯海,一千万盏,一盏一盏,全是活人的灯。

      “四十八小时还剩一小时,”顾夜说,“你就不能歇会儿?”

      “你说让我去读代码。”沈昼望着灯海,“我就去读。”

      “四十万行。”

      “四十万行。”

      顾夜沉默了。风把他的头发吹得乱七八糟,他也没有伸手去理。过了很久,他开口,声音混在风里,几乎要被吹散:

      “在会议室里,我问你信不信我。你说,证据还没说话。”他偏过头,“沈昼,四十七个小时,四十万行代码,十年的日志——你读完了,证据说话了。可我后来一直在想一件事。”

      “什么?”

      “你出发之前,就已经往我这边走了。”顾夜看着他,一字一字地说,“在你还没有任何证据的时候,你就说,一个人不能只活在别人的转述里。沈昼,你自己听见过那句话吗?那不是证据的语法。那是……”

      他没说下去。

      沈昼也没有接。他望着灯海,望了很久,久到顾夜以为这个话题已经沉底了,才听见他开口,声音很轻:“我五年没有睡着过。第四天夜里,在会议室,我睡了四十分钟。”

      “嗯。”顾夜看着沈昼。

      “那四十分钟,”沈昼说,“我梦见了周聪。他没有骂我。他只是站在很远的地方,问了我一句话——‘接下来该信什么’。我五年答不上来。那天夜里我答上来了。”

      他转过头。天台的风很大,两个人衣角猎猎,谁也没有躲开对方的目光。

      “信还没有被证伪的东西。”沈昼说,“也信,愿意为它押上四十八小时的人。”

      顾夜怔住了。

      然后他笑了,笑着笑着,低下头,用手背很用力地按了一下眼睛。再抬起来的时候,江离市的万家灯火全都盛在他通红的眼眶里,晃啊晃的,像湖水。

      “沈昼,”他说,“你这个人,真的是——审讯的时候温柔,剖白的时候也温柔。你知不知道这两种温柔加在一起,是会出人命的。”

      “技术上,”沈昼说,“出人命需要工具、时机和动机。你一样都没有。”

      “那我申请,”顾夜说,“择日补充证据。”

      风声呼啸。谁也没有再说话,谁也没有再退开半步。楼下城市的灯一盏一盏地灭,像退潮。
      ________________________________________

      时间退回十八日

      零点,专案组的灯重新亮起。

      法医的加急报告摆在桌上,把前三个死者的胃内容物重新做了显微检验——郑淮、温以宁、唐立冬的胃里,都检出了一种相同的残留物:明胶外壳的溶解残迹,以及一枚微型电路的碳化碎屑。

      定时释放胶囊。

      药物封装在可编程的缓释壳里,设定时间一到,壳体溶解,□□入血。吞服时间可以提前几个小时、甚至十几个小时。

      “他们三个人……”年轻民警的声音发着抖,“是自己吞的?在你们眼皮底下,按讣告写好的时间……自己吞的?”

      会议室里没有人回答。沈昼站在白板前,把这三天所有的碎片重新排列了一遍,然后拿起笔,写下了一句话。写完,他退后一步,整个专案组的人都看清了那行字:

      这不是连环杀人。这是一份被死者亲手履行的合同。

      “有人给了他们一个选择,”沈昼说,“一个我们还没有看到全部条款的、关于赎罪的合同。”
      ________________________________________

      窗外,第五天的黎明发白。

      冯曼的电梯,还有十一个小时。

  • 昵称:
  • 评分: 2分|鲜花一捧 1分|一朵小花 0分|交流灌水 0分|别字捉虫 -1分|一块小砖 -2分|砖头一堆
  • 内容:
  •             注:1.评论时输入br/即可换行分段。
  •                 2.发布负分评论消耗的月石并不会给作者。
  •             查看评论规则>>