启航大厦,天工无尘实验室。
不锈钢操作台上,那块墨绿色的MR-J4核心控制主板静静平放。
四根极细的紫铜漆包线从自研编程器的接口引出,精准焊接在二十四脚ROM芯片的JTAG测试点位上。
陈锋双手撑在操作台边缘,视线锁定眼前的二十一寸显像管显示器。
屏幕中央,一个绿色的进度条正在缓慢向右推进。
进度条上方,跳动着当前的读取扇区物理地址。
“0x00A40000…… 0x00C80000”
倪光楠站在陈锋身侧,手里拿着一块秒表,他的视线在主板和屏幕之间来回切换。
“读取速度每秒一百二十八千字节。”倪光楠报出数据。
“硬件握手稳定,没有触发看门狗复位。”
韩栋站在几步之外,他看着那块经历过火场伪装、跨越两千公里送达燕京的主板。
中联重科的何俊压上了身家性命,换来了这个直捣黄龙的物理切入口。
进度条推过百分之九十。
“高位地址段读取中。”
陈锋手指敲击键盘,调出底层校验日志。
“CRC冗余校验一致,数据没有坏块。”
绿色的进度条终于填满长条框。
屏幕正中央弹出一个提示窗:【16MB ROM镜像导出完成】。
“存入本地加密硬盘。”韩栋下达指令。
陈锋敲击回车,硬盘阵列指示灯剧烈闪烁几下,数据完成封存。
他拿起恒温电烙铁,熟练地将主板上的四根紫铜飞线点焊熔断,动作极轻,没有伤到焊盘周围的覆铜走线。
倪光楠从旁边的试剂柜里拿出一个黑色的玻璃瓶,里面装着双组份的工业级高强度环氧树脂,他又拿出一个小烧杯和一根玻璃棒。
“倒十毫升A胶,三毫升B胶。”倪光楠对陈锋说道。
陈锋照做,透明的黏稠液体在烧杯底混合。
陈锋用玻璃棒快速顺时针搅拌,液体中产生大量微小气泡,随后逐渐变得澄清。
陈锋拿起滴管,吸取混合好的环氧树脂,悬停在那颗三菱ROM芯片的正上方。
一滴,两滴。
树脂液体精准覆盖了芯片的塑料封装体,并顺着引脚蔓延到四周的绿色覆铜板上。
“室温固化需要两小时。”陈锋放下滴管。
“固化后硬度达到邵氏D85,任何物理刮削或者加热溶解,都会直接损毁芯片内部的晶圆引线,这就成了一块彻底的死板。”
韩栋走上前,看着那颗被透明树脂封死的芯片。
“保持原状装箱,存入启航地下三层的最高级别防磁金库。”
“十二月十五日三菱发难的时候,我们要向有关部门提供外资设立恶意隐蔽程序的铁证。
只有这块板子保持原始读取状态,且具备防篡改的物理封装,法理上才能构成完整的证据链。”
陈锋将主板装回防静电屏蔽袋,放入密码箱,提着箱子离开实验室。
“数据切片。”韩栋看向倪光楠。
倪光楠转身走到控制终端前,调出刚刚导出的16MB二进制镜像文件。
他启动了天工团队专门为逆向工程开发的结构分析器。
十六进制数据矩阵占据了整个屏幕,倪光楠双手在键盘上快速录入检索脚本。
“根据通用微控制器底层的存储规律,要先把这十六兆的空间切分开。”
倪光楠边操作边说明。
“头部的0x00000000到0x0000FFFF,是引导区代码。
这里存放着系统冷启动时的中断向量表,这段数据没有混淆,结构非常清晰。”
倪光楠敲击确认,屏幕上立刻高亮了一块区域,这里全是有规律的地址跳转指令。
“往下走,0x00010000到0x00D0FFFF,是操作系统的内核区和控制逻辑的用户区。”倪光楠继续运行脚本。
“三菱的PID控制算法、电流环响应逻辑、脉冲插补逻辑,全都在这里面。
这部分数据量极大,反编译工作量庞大,但这不是现在的目标。”
韩栋的视线跟着鼠标光标移动。
“需要找的是那张温度扭矩查找表。”
“找静态参数区。”倪光楠切入高位地址段。
鼠标光标停留在0x00F80000的地址行,屏幕上的字符结构瞬间变了。
之前的区域,存在大量的空白填充符“FF”或者“00”,指令之间的边界有迹可循。
但在这一段高位地址区,字符呈现出一种绝对的无序状态。
各种十六进制数字密集挤压在一起,没有任何明显的重复字段。
倪光楠眉头皱起。
他切出计算器组件,对这段数据进行信息熵运算。
屏幕弹出结果:【该数据块大小为12288字节,信息熵逼近7.99】。
“这里被加密了。”倪光楠指着那段无序的代码块。
“信息熵极高,说明这段数据经过了高强度的数学混淆,这就是我们要找的黑盒参数区。”
韩栋看着那个数字。
“12KB。”
“问题就在这里。”
倪光楠摘下眼镜,揉了揉鼻梁。
“如果只是存一张温度,和扭矩百分比的对应关系表。
五十个温度梯度,每个梯度对应一个两字节的扭矩数值,加上判断指令,撑死了两三百个字节的空间。”
倪光楠重新戴上眼镜,紧盯屏幕。
“但这里足足有一万两千多个字节,三菱在这个加密的参数区里,藏的东西远不止一个热保护降级逻辑。”
韩栋的大脑飞速运转。
他结合95年华夏重工市场的现状,推演三菱的商业图谋。
“伺服驱动器是工业设备的关节。”
“三菱卖给中联重科这些设备,利润不仅仅在初期的硬件采购上。
他们真正的目的是把控后续十年的维保、备件替换和升级服务。”
韩栋指向那12KB的加密区。
“除了热保护,里面大概率写死了两样东西。
第一,高频次动作组件的运行次数累计。
一旦机械寿命达到他们预设的临界点,即便硬件还能用,软件层面也会强制锁死,逼迫客户购买新备件。
第二,地域认证锁。
防止跨国倒卖串货,锁定华夏区的高昂维保定价权。”
倪光楠面色铁青。
这就是底层没有自主权的悲哀,华夏的工厂花几百万买回来的进口设备,什么时候报废,在哪能用,甚至出多少力,全被对方用几行代码牢牢攥在手里。
“留给我们的时间只有五天半。”韩栋转身面对倪光楠。
“十二月十五日之前,要把这12KB的秘密全部扒光,盘古控制器需要针对这些恶毒设定,制定完美的规避策略。”
“启动全量算力。”倪光楠走到内线电话前,拨通超算中心值班室。
“切断所有项目的模拟演算,八百个服务器节点立刻满载并入反汇编阵列,把这段12KB的数据拉出来单独建库。”
倪光楠放下电话,走到白板前,写下接下来四十八小时的攻坚计划。
“第一阶段,解除混淆。
用算力穷举测试解密算法。
三菱受限于微处理器的实时性,加密层级不会深,我预计十二小时内跑出明文结构。”
“第二阶段,定位提取。
从明文中筛选出那张至关重要的温度扭矩查找表,同时排查寿命锁和地域锁的触发条件指令。
这一步需要人工干预,逐字比对。”
“第三阶段,逻辑重构。
在盘古控制器的FPGA芯片内部,划出一万个门电路组成的空白模块。
用硬件直连的方式,把这张表写入盘古的记忆体。
盘古在下发指令前,将预先查询这张内部表格,主动计算偏差,并在物理层面上通过其他轴的联动来抵消力矩损失。”
天工算力中心,八百台服务器的风扇转速飙升至极值,庞大的数据吞吐量开始冲击那块被三菱严防死守的12KB核心加密区。
距离揭开底牌,进入倒计时。
……
同一时间,深市,南山区科技园。
科软信息技术有限公司的办公区灯火通明。
两百平米的大厅里,弥漫着浓重的烟味。
四十几名程序员瘫在工位上,键盘声稀稀拉拉。
技术总监李辉双眼布满血丝,盯着面前的几千行C++源代码。
这是他们公司研发的工业网关通信程序。
今天下午短短三个小时,因为接入他们的网关导致机床精度崩溃的客诉,直接把公司的电话热线打爆了。
公司账户被冻结,四十二笔尾款全部泡汤。
总经理周志刚胃出血躺在医院急诊科打点滴。
“老大。”一名测试工程师走过来,无精打采的说道。
“沙盒里的压力测试跑完了一万遍,咱们发给西门子OPC端口的指令,绝对符合标准规范,咱们没有给主轴下发任何修改参数的报文。”
“不是我们的错。”李辉双手抓着头发,很是无奈。