十点四十七分,路由器的绿灯还在闪,一下,又一下。江临川仍坐在书房椅子上,手搭在桌沿,指节压着银戒,没动。屋里黑得彻底,只有对面楼的路灯透过窗帘缝隙,在地板上划出一道斜光。他盯着那道光边缘,像在等它移动一毫米。
手机突然震了一下。
不是推送,是震动模式下的短促提示音,来自他放在桌角的备用机。屏幕亮起,一条系统警报弹出来:“异常数据接入——来源未知,协议非标,已拦截。”
他眼皮跳了跳。
手指立刻滑过屏幕,调出后台日志。那条数据包是在三秒前通过校园内网中继节点传来的,伪装成联赛系统更新通知,但签名密钥无效。防火墙自动剥离了外壳,只留下一个加密容器,体积4.3MB,格式为自定义封装体,带三层混淆壳。
他没点开。
右手直接摸向键盘,敲入一串本地指令,将整个事件记录导出到离线存储盘。做完这一步,他才按下桌下的物理按钮,启动双频段信号屏蔽器。房间里的Wi-Fi和蓝牙瞬间断联,连手机热点也失效。墙上挂钟的电子屏熄了,只剩机械秒针走动的轻响。
他站起身,脚步很轻地走到门边,拉开一条缝。客厅灯灭了,沈知意卧室的门缝下也没有光。他抬手敲了三下,节奏是他们约定的暗号——两短一长。
三秒后,里面传来翻身的声音。接着是赤脚踩地的动静,门开了。她穿着深灰色家居服,头发扎成低马尾,左手腕上的表盘在暗处反着微光。她没说话,只看了他一眼,就往书房走。
江临川退回电脑前,把屏幕转向她。警报界面还开着,数据包的状态显示“待分析”。
“不是系统发的。”他说。
沈知意点头,已经走到角落的工具柜前,拉开抽屉取出一个黑色便携箱。她打开箱盖,里面是几块独立供电的硬件模块。她接通电源,将其中一块插入主机扩展槽,另一块连上外置显示屏。新屏幕亮起,跳出一个极简界面:纯黑背景,白色命令行,无网络连接标识。
“用这个。”她说,“物理隔离环境。”
江临川把数据包复制进专用U盘,插进离线系统的读取口。文件载入后,第一层解密开始自动运行。进度条缓慢推进,同时旁边的小窗口实时显示资源占用率和内存波动。一切正常。
“不对劲。”他忽然说。
沈知意凑近看。
“太顺了。”他指着第二层加密的响应时间,“这种嵌套结构,通常会有延迟或卡顿,但它解得像标准协议一样快。像是……知道我们会用哪种算法。”
她没接话,转身从包里拿出平板,连上本地基站扫描仪。屏幕上出现周边无线信号热力图。她拖动时间轴,对比过去十分钟的数据流变化。某个频段在两分钟前出现过短暂峰值,位置指向小区东侧围墙外,持续时间18秒,随后消失。
“有人在监听。”她说。
江临川立刻暂停解密进程。他切换到手动模式,删掉所有自动化脚本,开始逐行输入指令。每执行一步,都先在纸上写下操作逻辑,确认无误后再敲回车。屏幕上的代码流变得缓慢而精确,像刀锋划过冰面。
第三层加密出现了。
界面上跳出一个动态验证框,要求输入一组六位数验证码。下方标注一行小字:“响应时限:90秒。”
“反追踪陷阱。”沈意低声说,“它要我们主动交互,一旦输入错误超过三次,或者超时,可能触发反向定位。”
江临川盯着那个框,没动。
他知道这种设计的目的——逼你暴露计算习惯。比如你是习惯从左到右输入,还是先试中间两位?有没有固定的手术节奏?这些细节都能被还原成行为指纹。
他伸手从笔筒里抽出一支普通签字笔,不是用来转的,而是拆开笔帽,把笔芯取出来,夹在食指和中指之间。然后他闭眼,默数三下,再睁开,用笔尖轻轻点在键盘数字键上,顺序是:7、4、1、9、2、6。
这不是答案,是一种干扰节奏。
接着他重新调出前两层解密的日志,逆向推导出原始封装规则。发现第三层其实不需要真正破解,而是要模拟一次“失败尝试”,让系统误判攻击者能力不足,从而降低防御等级。
他写了一段极短的脚本,故意用错误算法跑了一遍,提交了一个明显不合逻辑的验证码。系统反馈“验证失败”,但没有锁定,反而弹出一个新的对话框:“重试通道开启,剩余次数:2。”
成功降权。
他松了口气,手指在键盘上方停了几秒,才继续下一步。这次他改用十六进制手动拼接密钥,绕过图形界面,直接调用底层解码函数。屏幕闪烁了一下,进度条重新加载。
沈意一直在监控环境信号。她发现刚才那个异常频段又出现了,这次更弱,像是设备电量不足。她迅速调整扫描仪增益,锁定大致方位——小区东区地下车库B2层,靠近通风井的位置。
“有移动设备。”她说,“功率很低,可能是伪装成物联网终端的监听装置。”
江临川点头,没回头。他的注意力全在屏幕上。第三层正在剥离,露出内部结构。文件类型显示为“.ncp_frag”——这是NCP协议碎片的标准后缀,但版本号为空。
他手指顿了一下。
这不是普通的加密数据包。它知道自己会用什么工具,也知道该怎么诱导他一步步深入。甚至……用了父亲当年定下的文件命名规则。
但他没停下。
他继续输入指令,准备进入第四层。这一层没有图形界面,只有命令行提示符,等待用户输入一段特定字符串。
屏幕上写着:“请输入初始协议唤醒词。”
他盯着那行字。
房间里安静得能听见自己呼吸的节奏。窗外的城市早已入睡,连远处高架桥的车流声都变得稀疏。只有电脑风扇低转的声音,和秒针走动的轻响。
沈意站在他身后半步远的地方,左手按在战术腰包上,里面装着应急切断开关。她没催他,也没问那是什么词。她只是看着他的背影,看他右手小指无意识蹭了下银戒,看他喉结动了一下。
江临川深吸一口气,手指悬在键盘上方。
他没有输入任何已知的唤醒指令,也没有用父亲日记里的密码组合。而是敲下了一串看似无关的字符:“_test_cache_v0.1_init”。
这是他在第一次测试NCP残片时,随手写的调试标签。
回车键按下。
屏幕黑了一下。
接着,进度条开始缓缓推进。