电脑搬来了。

    一台老旧的联想台式机,显示器上还贴着「市局技术科」的资产标签,开机速度慢得像是在跑马拉松。

    我坐在审讯室的铁椅子上,面前的铁桌子上摆着这台电脑,旁边还放着那半串已经彻底凉透的羊腰子。

    小周站在我身后,手里端着一杯水,探着头往屏幕上看。

    「许哥,你要开始了吗?」

    「等它先喘过气来。」

    电脑终于进了桌面,我活动了一下手指,开始干活。

    先把他们技术科传过来的原始数据包导入分析工具,然后打开了十六进制编辑器。

    数据像瀑布一样在屏幕上刷过,一串串的十六进制代码密密麻麻的,看得小周直接退了两步。

    「这东西你能看懂?」

    「你看不懂?」

    「我是刑侦的,不是技术科的。」

    「那你就在旁边当气氛组吧。」

    我沉下心来,开始一层一层地剥数据。

    第一层加密,标准的AES-256,这个简单,三分钟搞定。

    第二层,果然是自定义置换表,但规律很明显——置换表的生成种子藏在第一层解密后的头部签名里。这是个老手的活儿,但也不是什么新花样。五分钟。

    第三层,跳板服务器的伪装。

    这一层做得确实漂亮。

    对方在数据包里嵌入了三个伪装目标,每个伪装目标都指向境外的服务器,分别在越南、柬埔寨和菲律宾。

    一般的技术人员追到这一步就会以为到头了,然后去走国际协查的流程。

    但我注意到了一个很细微的东西。

    三个伪装目标的时间戳有一个共同的偏移量:0.003秒。

    这不是网络延迟造成的,因为三个目标分布在三个不同的国家,网络路径完全不同,不可能产生完全一致的延迟。

    唯一的解释是——这三个包在到达伪装目标之前,曾经同时经过了同一个节点。

    而那个节点,就是真实服务器。

    我顺着这个偏移量往回追溯,把路由跳转记录展开,一层一层地剥。

    屏幕上的数据在我手下变成了一张清晰的路线图。

    十六分钟的时候,真实IP出现了。

    一个标准的国内IP地址,归属地:本市,高新区,某科技园区。

    我把这个IP写在一张纸上,推到小周面前。

    「去查查这个IP对应的是哪家公司。」

    小周愣了一下,拿起纸就跑了出去。

    我靠在椅背上,长出了一口气。

    十六分钟,比我预计的还快了四分钟。

    这时候审讯室的门被推开了,林建国和沈清禾一前一后走了进来。

    林建国的脸上带着一种压抑的兴奋:「许恒,小周说你把IP追出来了?」

    「追出来了。高新区科技园,具体哪家公司还得你们去查备案。但这个IP我可以百分之百确认是真实源头,不是跳板。」

    我把分析过程简单讲了一遍。

    林建国听完,一拍大腿:「好!好好好!」

    他转身就往外走,走了两步又折回来,用力拍了拍我的肩膀。

    「许恒,你帮了大忙了。这个案子卡了两个月,就卡在这一步。你今晚吃的那顿烧烤,我请了!」

    「林局客气了。」

    他风风火火地走了。

    审讯室里又只剩下我和沈清禾。

    她站在门口没动,手里抱着一个文件夹,看着我。

    我对她笑了一下。

    「怎么样?你老公还行吧?」

    她没接话,走到桌边,把那半串凉透的羊腰子拿起来扔进了旁边的垃圾桶。

    然后她在我对面坐下来,打开文件夹,拿出一张纸和一支笔推到我面前。

    「签字。」

    「签什么?」

    「技术协助协议。你刚才做的所有操作都需要留档,这是程序。」

    我拿起笔,刚要签,发现协议最后一行有一行小字。

    我凑近了看。

    上面写着:「本人承诺在协助期间服从办案人员一切合理安排。」

    「这个'合理安排'包括什么?」

    「包括你今晚不许走,继续协助。」

    「啊?」

    「这案子不是追到一个IP就完了的,后面还有大量的数据需要分析。你既然这么能耐,那就帮到底。」

    她的语气很平静,但我从她眼神里读出了另一层意思。

    你今晚偷跑出来吃烧烤,想回家?没门。留下来给我加班。

    这哪是什么技术协助,这分明是惩罚。

    但我看着她熬得通红的眼睛和眼眶下面那层薄薄的黑眼圈,又说不出拒绝的话。