白皮书 · 逆向工程 · 硬件、软件与神经网络
每一条结论都在硬件上验证。这就是全部方法。
当文档缺失、厂商消失、或者二进制块本身就是产品时,我们从反汇编、从跟踪、从空中信号恢复芯片真正在做的事,并用一个只回答是或否的测试台加以证明。IDA 我们从 1990 年代用到今天;自动化是新的,纪律不是。
每个结果都在目标硬件或其逐比特精确的模型上验证;测试台在电话会议上展示。
你依赖着你读不了的东西
一个把你锁在旧内核上的内核二进制块。一个无人记录接口的无线固件。一个厂商不肯解释的模型文件。一台升级路径只能靠信任的设备。厂商的回答是一个更新的二进制块,或者根本没有回答。
用会猜的工具做逆向,比不做更糟。我们见过语言模型为一个二进制写出流畅而错误的故事。因此每一条恢复出的事实都要对照运行中的硬件核对——寄存器比对、数据包在空中被见证、输出逐字节匹配——然后才进入报告。
反编译器告诉你代码可能做什么。测试台告诉你它做了什么。
我们带来什么
四件事,每一件都在硬件上实测。
二进制块变成源码
可以构建、打补丁并带到下一个内核的内核驱动与固件。我们逐个函数替换二进制,并用跟踪比对证明等价。
证明,而非叙述
每项交付都带着自己的判据:寄存器一致性检查、带阳性对照的空中见证、逐字节相同的输出。如果一条结论无法测试,我们会直说。
神经网络也在内
二进制模型格式、加密的 SDK、被修改的权重。我们把布局恢复到寄存器映射,把修改恢复到确切被改动的层——再交给我们的边缘 AI 团队去运行。
比过去更快
AI 辅助反编译和一个自研的、带类型恢复的反编译器,让一名工程师覆盖过去需要一个团队的工作。最终发言权仍在硬件。
我们恢复过的东西
芯片
两个视频编码器内核二进制块变成了 C 代码——全部 427 个函数——在芯片的桌面模型上通过跟踪比对验证。同一厂商视觉引擎与神经引擎的洁净室驱动与原版逐字节一致,固件在当前内核上构建它们。
无线与协议
一个主流 Wi-Fi 芯片组的固件协议从厂商源码写成规范、在空中验证,如今在用户态驱动着 18 种网卡。一家摄像头厂商未公开的升级协议——以及藏在其中的账户——成了书面规范。一个电动镜头协议也以同样方式被逆向,用于自动对焦。
模型
一颗摄像头 NPU 的二进制模型格式被剖析到寄存器映射。一个加密的商用车牌识别 SDK 在运行中的容器里交出了模型布局。一个被修改的语言模型被逐权重比对,修改被精确恢复到具体的层。
目标与测试台
ARM 与 MIPS 固件内核二进制块Wi-Fi 与 USB 设备摄像头 NPU神经网络模型
我们为证明工作而搭建的测试台:在桌面上运行厂商代码的芯片模型、内核探针、USB 监视器、寄存器一致性判据、带阳性对照的空中见证,以及针对你的产品所用协议的一致性测试套件。
合作是怎样进行的
目标评估
固定价格,五个工作日。你提供二进制、固件镜像或设备,以及你需要回答的问题。你得到哪些可以恢复、我们将搭建什么测试台来证明、风险,以及恢复工作的固定报价。
项目
先搭测试台,再对照它做恢复——驱动、协议、格式或模型——每一条结论都可追溯到一个你的团队能重跑的测试。
维护
源码、规范、测试台与判据归你所有。每次改动之后,证明再跑一遍。
发来二进制和问题。五天后你就知道答案能否被证明。
一封四行的邮件:目标是什么、你需要从中得到什么、你能分享什么、期限。从第一封回复起就在 NDA 之下。回复你的是工程师,不是销售话术。
写信至 business@openipc.org 在群里提问
商业支持、OEM 授权与其他服务见商务页面。