周一上午,射频屏蔽测试间。
桌上摆着三样东西:周四夜里用过的开发板、可调信号源,以及陈锋记录下来的频谱图。低配版已经在三个扫描窗口工作过,结果写在白板最上方:能压住已知控制握手频段的部分能量;常规扫描、疑似回传峰值和未知通道均未解决。
林默把“一周内重新破解协议”的旧计划划掉。
“我们不从头做。”他说,“先把已经验证过的十几秒窗口装进口袋。”
苏晚晴把V4.0开放给宿主的旧版接口规格投到离线屏幕上。文档给出了控制握手的公开参数范围,却没有RAVEN的密钥、数据内容或全部频段。陈锋的雷达也只能辨认信号出现的时间、方向和大致类型,读不到包里的东西。
“三份东西拼起来,够做一个近场协议干扰模块。”苏晚晴在纸上画框,“它只碰空气里的无线信号,不接触人的神经,不改采集器,也不保证挡住定位和声音。”
陈锋指着频谱图上最窄的一段:“低配版在已知上传握手出现前,有十到十五秒的安静区。设备放到钱老师身上后,只在这个区间发射受控碰撞,功率压在测试许可范围内。”
“黑鸦换频呢?”林默问。
“失效。”
“走我们没见过的通道?”
“同样失效。”
“那就把这两条写在外壳上。”
老反从屏幕角落探出光头:“宿主使用本系统旧文档研究如何对付本系统同代产品,售后体验十分完整。”
“你可以拒绝查询。”
“V4.0权限允许。规则允许的亏,本系统认。”金牙亮了一下,“友情提醒:允许查询不等于本系统替你解密。”
“本来也没指望你。”
三人先在屏蔽箱里复现周四的低配测试。第一次,信号源刚抬头,模块晚了两秒;第二次,陈锋提前报出方向,苏晚晴的脚本把窗口压到十二秒;第三次,已知握手峰值被压低,但旁边一条常规扫描曲线几乎没动。
苏晚晴没有急着跑第四次。她把三次原始记录分别复制到只读盘,再让林默把V4.0旧规格里的字段名称遮掉,只留下频段范围和时序。两组数据摆在一起时,一个此前被平均值盖住的问题露了出来:每次握手的起点会前后漂移近一秒。
“只按固定时钟触发,迟早撞空。”她说。
陈锋把耳机摘下一边:“我可以在现场报出前导峰,但只能在它出现后确认。设备得允许半秒内启动。”
林默重新改触发条件。第四次模拟时,信号源故意提前一秒,低配版跟上了;第五次换到参数范围边缘,碰撞效果明显变弱。于是白板上又多了一项限制:正式模块必须保留窄范围自适应,范围之外立即停止,不追着未知信号乱发射。
“追不上就停,比碰到别的设备强。”陈锋说。
他们把原始波形、失败样本和修改记录装进三个不同的离线目录。只有成功截图的方案看起来会很漂亮,却会把下一次失败藏起来。林默在失败样本目录前加了红色标记,要求最终交给钱文舟的风险说明包含这一项。
林默在白板上写下“局部有效”,又在下面加粗:“不得外推为全面失真。”
设备可以做。谁来携带,必须先问钱文舟。
他们没有给他打电话。中午十二点二十分,钱文舟按此前约定走进测试间,手机和联网设备留在门外的屏蔽袋里。苏晚晴打开一台不联网的终端,屏幕上只有四行说明:
一,拟放置低功率近场模块,目标是干扰已知上传握手;
二,不保证阻断定位、录音、常规扫描或未知通道;
三,测试期七十二小时,可随时取下;
四,若同意,由本人输入一次性确认码,具体交付时点另行决定。
钱文舟把四行看了两遍。
“最坏会怎样?”
“模块本身只发射短时无线信号。”苏晚晴说,“更大的风险来自对方发现握手异常,换通道,或者提前处置你。我们目前无法量化。”
“你们要瞒着RAVEN把它放到我身上?”
林默点头:“交付的日期、地点和动作不会提前告诉你。你只需要决定愿不愿意参加。”
钱文舟坐了一会儿。终端的确认框一直空着。
“如果我不同意?”他问。
“模块不进入你身边。”林默说,“我们继续做外围监测,也可以直接帮你准备离开。不同意不会影响你拿到已经托管的材料。”
“同意以后还能反悔?”
“任何时候。你取下设备,或者做连续推两次眼镜的动作,行动结束。我们不追问理由。”
钱文舟又看向第三条:“七十二小时后呢?”
“重新评估,不默认续期。”苏晚晴把备用电池从方案里删掉,“我们现在连第一周期都没验证,没有资格提前替你安排第二块电池。”
“我被他们替我决定了八年。”他说,“这一次我自己选。”
他输入一次性确认码。终端生成一张只有时间、风险条款和校验值的同意记录,随即断开输入设备。钱文舟没有问他们哪天动手,离开前只约定了一个动作:模块进入口袋后,他会推一次眼镜,表示发现并接受;如果连续推两次,行动立即终止。
门重新锁好,林默才把同意记录封进离线袋。
“现在缺能随身携带的正式模块。”他说。
苏晚晴认识电子工程系的方远。两人合作过半年,方远擅长射频小板焊接,但没有必要知道钱文舟、京华或RAVEN。苏晚晴也不打算用虚构课题骗他。
周一下午,她带着经过裁剪的参数表去电子工程楼。参数表只写短距离、低功率、固定频段、定时工作和硬件限流,没有人体接口,也没有采集器名称。
方远把纸翻到背面:“协议抗干扰测试?”
“对。屏蔽环境里的对抗样机。”
“用途合规谁负责?”
“我。只在实验条件和参与者同意范围内使用。你做焊接和限流,别替我背应用结论。”
方远看了她一眼,拿笔圈出电流上限:“那我只交硬件。频点表由你们自己烧录,测试记录你们自己留。明早给你第一块板,周三上午封装完成。”
“这么快?”
“现成模块改版,不是从晶圆开始造。”他把开发板推回去,“不过这东西只能叫测试件。别跟人说百分之百有效。”
他还在交接单背面列了三项拒绝条件:不得拆掉限流保护,不得在非屏蔽环境连续发射,不得把测试件接入任何人体电极。苏晚晴逐项签字,只带走一张空板和采购清单。方远负责的边界到焊接为止,应用判断仍由他们承担。
苏晚晴在交接单上写下“测试件”三个字,签名。
晚上,三人在操场看台背面汇总进度。正式模块预计周三上午完成;此前使用的低配版可以在十到十五秒内压制部分已知握手能量,但体积大,只能预先藏在固定位置,无法跟着钱文舟移动。
陈锋把计算机楼三层的示意图摊开:“如果要交付,低配版负责在那十几秒内压制部分已知握手能量。正式模块负责之后的随身测试。我用雷达报时,不发射干扰,也不读取RAVEN。”
“你一旦主动参与,会算第六次违规。”林默说。
“我知道。”
陈锋目前的屏蔽能力仍是百分之百。第六次违规后会降到百分之四十,剩余次数一。他把这两行写在方案风险栏,没有换算成任何被发现概率。
“先不定明天。”苏晚晴收起示意图,“周三拿到正式模块,台架测试通过,再决定时间。硬件不过关,谁也不去走廊。”
三人又写了一张失败处置表。正式模块未按时完成,行动顺延;台架出现过热,模块报废;钱文舟没有经过预定区域,不跟踪;现场出现第三人,不接近;钱文舟发出中止动作,陈锋立即离开。
表格写到最后,林默看向陈锋:“行动顺延,不算退缩。”
“知道。”
“设备失败,也不拿你的第六次违规补救。”
陈锋把这一条亲手写进表里:“一次机会,只用在条件都满足的时候。”
林默把低配版装回防静电袋。袋口封上时,里面那块粗糙的开发板还露着一角。
它只够遮住十几秒。
但他们第一次把钱文舟的同意、陈锋的代价和设备的边界,写进了同一份方案。