利用人工智能逆向工程硬件

清风徐来行业资讯📡 BestBlogs·全站精选⭐ 902026-10-16394 阅读💛 140 收藏
利用人工智能逆向工程硬件

📌 One-Sentence Summary

一位 GNOME 开发者使用 Claude Code 搭配通用硬件测试框架,为一款不受支持的胶片扫描仪和一颗 MIPI 摄像头逆向编写了 Linux 驱动,表明 AI 能够处理繁琐的总线追踪分析,而人类负责在真实硬件上验证。

📝 Summary

Christian Schaller 讲述了他如何使用 AI 编程智能体为无文档的硬件编写 Linux 驱动。母亲去世后留下了一批胶片底片,他购买了一台 Plustek OpticFilm 8200i 扫描仪,却发现其较新的 Genesys GL128 芯片组缺乏 Linux 支持。受 Glorious Eggroll 一条关于用 AI 修复鼠标驱动的推文启发,他搭建了一台带 USB 直通的 Windows KVM 虚拟机,在 Linux 宿主机上用 usbmon 捕获 USB 流量,并让 Claude 对比 Windows 与 Linux 的追踪记录以定位驱动缺陷。数小时内他便实现了可用的扫描,几天后完成了一个近乎完整的 SANE 后端,并支持红外功能。随后他将同一套测试框架用于修复 ThinkPad X1 Carbon 上的 MIPI 摄像头,产出了内核和 libcamera 补丁。他发布了通用工具 hw-harness 以及三个项目:SANE 后端、Negative Vibes 扫描应用和 MIPI 修复。他强调,AI 擅长解码捕获数据和交叉核对常量,但真实硬件才是唯一的裁判。

💡 Main Points

AI 智能体通过处理繁琐的总线追踪分析,能够大幅加速对无文档硬件的逆向工程。

作者使用 Claude 阅读数千行 USB 捕获数据,发现仅有单字节变化的重复序列,并提出寄存器含义的推测——这些任务此前需要数周时间盯着十六进制转储。

一套通用测试框架,通过记录来自 Windows 虚拟机的参考流量并与 Linux 捕获数据进行对比,将模糊的驱动缺陷转化为具体的差异清单。

hw-harness 在直通层之下的 Linux 宿主机上通过 usbmon 记录厂商驱动流量,然后与作者驱动的输出进行对比,从而隔离差异。对于没有总线的设备,它则利用 Windows 端检查 INF 文件、注册表和 ACPI 表。

该方法通过观察硬件行为并仅从 Windows 驱动中提取配置数据,避免复制专有代码。

新驱动中的每一个常量都可追溯到一条记录下来的观察结果,使工作在法律上干净且可复现。

该方法为两款截然不同的设备产出了可用的驱动:一台 USB 胶片扫描仪和一颗内置 MIPI 摄像头。

针对 Plustek 8200i,作者构建了一个 SANE 后端,支持彩色、灰度、红外以及彩色+红外模式,300–7200 dpi 分辨率,以及除尘功能。针对 ThinkPad MIPI 摄像头,内核和 libcamera 修复纠正了裁剪选择、增益上限、镜头阴影和白平衡,将帧亮度从 31.1 提升至 90.9。

人类监督仍然不可或缺:AI 处理繁琐工作,但由人类决定构建什么并在真实硬件上验证。

作者强调,每一项结论都在实际的扫描仪或笔记本电脑上进行了检查,而来自已知良好设备的参考捕获数据对于 AI 进行对比至关重要。

💬 Key Quotes

这类工作非常适合 AI 模型。它可以阅读数千行 USB 捕获数据,注意到某个序列重复出现且仅有一个字节变化,并推测该字节的含义。

AI 擅长处理繁琐的工作。这包括解码捕获数据、编写探测程序和交叉核对常量。但我仍然必须是那个拿着实体硬件的人。

真实硬件才是唯一的裁判。上述每一项结论都在实际的扫描仪或笔记本电脑上进行了检查。

这种方法应该是没问题的,因为它不依赖复制任何代码,而是观察硬件的行为,仅从 Windows 驱动中提取配置数据,因此新驱动中的每一个常量都可追溯到记录下来的内容。

📊 Article Meta

AI Screening: 90

Featured: Yes

Source: Hacker News: Front Page

Author: ErenayDev

Category: 软件编程

Language: 英文

Read Time: 9 min

Word Count: 2016

Tags:

编程与工程 , AI 编程 , 开源项目 , Linux , Windows 与微软生态

#编程与工程# AI 编程# 开源项目# Linux# Windows 与微软生态

文章评论(3)

晨沐雨39 分钟前

写得挺用心的,支持一下。

回复
星观澜2 小时前

点赞,必须点赞

回复
雪影1 小时前

写得挺用心的,支持一下。

回复