第3章 代码为刃·暗网追踪(2/2)

接下来的一周,王奕像变了个人。放学后不再像往常那样呼朋引伴地跑去操场跳皮筋,而是抱着编程书坐在教室后排,手指在草稿纸上画着变量关系图。同桌凑过来借橡皮,她头也不抬地指了指笔袋,声音轻得像怕惊扰了什么;妈妈在厨房喊她吃饭,喊了三遍,她才从屏幕前抬起头,盯着代码编辑器里的报错提示,半天回一句“等会儿”,语气里的专注带着种不容打扰的冷意。

王卫国看在眼里,某天晚上把一碗热牛奶放在她手边,陶瓷碗的温度透过掌心漫过来。他点开自己的旧邮箱,收件箱里躺着三十多封未删除的邮件,都是当年处理过的失踪儿童案卷宗。附件里有模糊的监控截图,像素块大得像马赛克,只能勉强看出个轮廓;还有家长手写的寻人启事,字迹被泪水晕开,“救救我的孩子”几个字皱巴巴的,像张被揉过的纸。

“你看这个。”他指着其中一封邮件里的照片,一个六岁男孩站在游乐园的旋转木马前,嘴角有颗米粒大的痣,“当时监控只拍到个侧脸,痣的形状被拍得模糊不清。我们用算法提取痣的轮廓特征,比对了17个辖区的人口库,才在第13天找到线索。”

王奕的目光在寻人启事上停留了很久,指尖划过照片里男孩的笑脸,突然抬头问:“如果找不到呢?”

王卫国的喉结动了动,拿起旁边的纸巾擦了擦眼角。那里有片不知何时沾上的面粉。“那就一直找。”他的声音有点哑,“技术的意义,就是让人有底气说‘不放弃’。就像你编红绳,哪怕编错了,拆了重编就是,总能编出个结实的结。”

那个周末,王奕把红绳从手腕上取下来,用扫描仪扫进电脑。银铃铛的反光在屏幕上形成个小小的光斑,她用鼠标一点点勾勒出红绳的纹路,把每股辫子的角度、铃铛的弧度都设为参数,作为程序的“特征样本”。当屏幕上跳出“匹配成功”的绿色提示框时,她没有像往常那样拍手欢呼,只是安静地保存了文件,命名为“救命红绳”。

窗外的梧桐叶被风吹得沙沙响,像谁在低声说话。王奕关掉电脑,看着书桌上那根备用的红绳,她特意多编了一根,怕送给婷婷的那根不够结实。她突然发现,有些东西正在悄悄改变:课间时,她不再热衷于和同学追逐打闹,而是坐在座位上默写函数公式;路上遇到陌生人问路,她会下意识地后退半步,盯着对方的鞋子看很久。爸爸说过,步态特征比脸更难伪装;她开始明白,有些承诺不能只挂在嘴边,得用一行行代码钉进现实里,像编红绳时,每一针都要拉紧,才能经得起拉扯。

周日晚上,王奕把编程书放进书包,压在数学练习册下面。她摸了摸铅笔盒里的红绳,铃铛隔着塑料壳轻轻响。明天就要见到婷婷了,她想,或许可以教她编更结实的结,再告诉她,这世上有很多人,正用各种各样的方式,守护着像红绳一样柔软又坚韧的东西。

电视里的新闻还在继续,记者的声音温柔得像层棉花:“截至目前,已有12名被拐儿童被成功解救,警方呼吁市民做好未成年防护措施”王奕关掉电视,客厅里突然安静下来,只有墙上的挂钟在滴答作响,像在为某个即将到来的相遇,悄悄倒计时。