“客户的机器确实是在插上网线后出问题的,物理现象摆在那里,我们拿不出证据证明是西门子搞鬼,客户就认定是我们搞坏了机床!”
这是一种极度的无力感。
在西门子的绝对生态霸权面前,他们这些国产外围软件商连辩解的资格都没有。
西门子的售后工程师甚至不需要拿出检测报告,只需要一句,不要乱插非认证的国产设备,就能宣判科软死刑。
李辉桌面的邮箱提示音响起。
他看了一眼屏幕,是一封没有发件人地址的加密邮件。
主题栏只有一行字:
【西门子S-1500降级补丁触发逻辑反汇编说明】。
李辉愣了一下。
他握住鼠标,点开邮件。
正文只有几句话。
“真正的凶手,藏在控制主板的ROM里。
这并非技术故障,而是一场定点爆破的商业谋杀。
附件一为反汇编分析报告。
附件二为可复现的验证脚本。事实需要你们自己去验证。”
李辉点开附件一的文档。
第一页,是一张极其清晰的存储器区块映射图,红色的高亮框锁定在0x00F9A000的地址。
下面的注释写着:
“11月30日静默推送,补丁大小47.2KB,前2KB为MAC验证掩护,核心降级逻辑位于偏移量0x0801处。”
李辉猛地坐直身子。
他也是搞底层硬件出身的,这份报告的专业程度极高。
每一个寄存器跳转,每一条判别指令的地址,标注得清清楚楚。
他快速向下滑动页面。
当他看到那段具体的判定逻辑时,李辉的瞳孔瞬间放大。
“当以太网物理层MAC芯片,监听到非PROFINET协议握手包,立刻触发中断嵌套。
强制干预系统时钟分频器,将PLC主程序扫描周期从5毫秒更改为50毫秒。
同时激活显示欺骗模块,将HMI面板的回显缓冲区地址映射到固定的初始值。”
“原来如此……”李辉的声音开始颤抖。
他终于明白为什么找不到自己代码的错误了。
因为错的根本不是他的网关!
他的网关发送了符合规范的标准握手包,但这个握手包,成了唤醒西门子休眠恶意代码的钥匙!
西门子故意把整个主板的运算速度拖慢了十倍!
机床的插补运算跟不上机械伺服的反馈速度,导致刀具切削量出现微米级偏差。
同时,西门子为了掩盖罪行,竟然修改了显示屏的数据通道,让厂长和操作工看到的各项参数依然是完美的绿灯!
李辉一拳重重砸在办公桌上。
桌上的咖啡杯震倒,褐色液体流了一桌。
“全部打起精神!”
李辉猛地站起身,推开椅子,对着大厅大吼。
办公区安静下来,程序员们迷茫地看着技术总监。
“把三号测试台的西门子PLC连上示波器!”李辉拿起打印出来的报告,大步走向测试区。
“挂载硬件探测探头,监控主板总线的电平翻转周期!”
几名硬件工程师立刻行动。
设备通电启动,示波器屏幕上出现规律的方波,周期显示为精确的5毫秒。
“跑附件里的验证脚本,模拟第三方网关接入。”李辉站在测试台前。
一名工程师敲击键盘,脚本发送了一个标准的握手帧。
握手帧进入以太网口的瞬间,示波器上的方波波形骤然改变。
原本紧凑的波谷被极度拉长,电平翻转的频率断崖式下跌。
屏幕右上角的周期数值,直接跳到了50毫秒。
而旁边的西门子触摸屏上,设备状态依然显示着“正常,扫描周期5ms”。
“操!”
硬件工程师破口大骂。
测试台周围围拢了十几个技术骨干,所有人盯着示波器上的铁证。
几小时前压在他们头顶的绝望和自我怀疑,在这一刻瞬间转化为滔天的愤怒!
这不是技术比拼失败的屈辱,这是被高纬度垄断者恶意践踏的暴怒!
“他们在底层埋了雷,炸翻了咱们的客户,然后踩着尸体告诉行业,国产的不能用!”
李辉紧握双拳,眼中瞬间充满血丝。
“老大,咱们报警。”有人喊道。
“报警抓谁?慕尼黑的研发中心?”李辉冷笑。
“他们可以把这个解释为一个不完善的安全防护模块,法律程序走完,科软早死透了。”
李辉走回办公桌,拿起手机。
他拨通了杭城远洋软件公司技术总监的电话,今天下午,远洋软件同样被大面积退单。
“老李,没睡吧,看邮箱。”李辉直奔主题。
“那份反汇编报告你看了吗?”
“刚看完。”
电话那头,远洋软件总监的声音同样压抑着怒火。
“我也拿开发板实测了,情况完全一致,我们被他们用硬件层面的特权做掉了。”
“客户不信我们的话,但他们信示波器。”李辉的声音冷静得可怕。
“你立刻带上示波器,去你的核心客户那里,当着厂长的面,拔网线插网线,让他们看看那台德国神机的内部信号是怎么变脸的。”
“深市这边的场子,我来兜。”李辉眼中透出决绝的狠意。
“我们要把这个验证脚本和反汇编报告,发给全国三十二家兄弟公司。
我们要让那八百家遭受损失的工厂知道,他们不是被我们害了,他们是成了西门子杀鸡儆猴的消耗品!”
恐慌已经在底端消散。
一种同仇敌忾的反抗情绪,正在华夏的工业软件圈层迅速串联。
与此同时,燕京启航大厦,天工无尘实验室。
算力中心的八百个节点满负荷运转了近三个小时,服务器机柜散发出的热量让恒温空调的压缩机开始频繁启停。
倪光楠主控台前的主屏幕突然定格。
那些密密麻麻、毫无规律的十六进制字符,像被打乱的魔方瞬间归位。
混淆算法的逻辑层被庞大的算力强行解开,一万两千字节的明文数据展现在屏幕上。
“破译完成。”
倪光楠按住回车键,锁定视图。
韩栋大步走上前。
明文数据的第一部分,确实是那张结构分明的温度扭矩对应表。
一行行的十六进制参数,清晰地映射了从五十摄氏度到一百一十摄氏度的所有折损阈值。
中联重科臂架折断的隐患,已经暴露在无影灯下。
但倪光楠并没有在查找表的位置停留,他的鼠标光标快速向下滑动。
越过那张占据了四百字节的表格,进入了明文区块更深邃的地带。
光标停留在一段带有条件判别指令的逻辑块上。
陈锋倒吸了一口凉气。
这段指令指向的,是驱动器硬件主板上的一个独立实时时钟芯片。
“这里有一个计步器逻辑。”倪光楠逐行解析这段汇编代码。
“驱动器主轴每次发生位置环更新,这个寄存器的数值就加一。”
倪光楠顺着跳转指令找到下一个地址。
“当寄存器累加数值达到八千四百万次,逻辑判定成立。”
“成立后执行什么?”韩栋盯着屏幕。
倪光楠点开最后一个调用块,上面赫然写着:
禁用IGBT功率输出模块使能,状态字写入固定报错码。
【ERR-72:核心部件寿命临界,请联络原厂维修】。
实验室内死寂一片。
韩栋的目光变得极度冰冷。
八千四百万次位置环更新。
按照中联重科泵车的作业频率,这恰好是驱动器运行两年零四个月的满载动作量。
这甚至低于三年折旧期。
两年零四个月一到,无论这台驱动器的硬件是否老化,无论内部元件是否完好。
它都会在软件指令的控制下,准时、精确地停摆,并强制锁定输出。
维修无法解除,只能整体更换新的备件。
“计划报废。”韩栋吐出这四个字。
这不仅是卡脖子,这是明目张胆在华夏工业血管上安插的定时抽血机。
“如果没拆这块板子,何俊两年后就会收到一份数百万的备件更换账单。”韩栋拿过桌面上的内线电话。
“把这份计划报废的反汇编代码截屏打印,天亮后我亲自带着它去长沙。
十二月十五日,我要这堆垃圾在华夏重工的设备上彻底下线。”