主要观点:作者通过逆向东芝 HDD 的固件更新程序,使其能在 Linux 上更新,并分享了具体步骤和相关代码。
关键信息:
- 购买 Toshiba HDWG480 HDD 用于 NAS,发现无 Linux 固件更新程序及更新文件。
- 运行 Windows 安装程序后,在“Program Files (x86)”下安装了多个相关文件,通过 grepping 查找更新文件来源,发现 URL 存储在注册表中。
- 解析更新文件为 ini 格式,可下载相关文件并检查其架构。
- 深入研究更新过程,包括读取注册表值、验证磁盘类型和型号、发送固件文件等,涉及多个函数和 ATA 命令。
- 实际在 Linux 上进行固件更新测试,成功将固件从 0601 升级到 0602。
重要细节: - 各个二进制文件的功能,如
ISFW.exe
是驱动,TosISFw.exe
是 GUI 等。 opendrive
和getdevprop
函数用于验证磁盘类型,get_IDENTIFY_DEVICE_DATA
函数用于验证磁盘型号及获取相关数据。ATA_CMD_DOWNLOAD_MICRO
函数用于发送 ATA 固件更新命令,按照规范设置相关参数。- 在 Linux 上更新固件的命令及输出,如
hdparm --fwdownload-mode3 sk060202.ftd --yes-i-know-what-i-am-doing --please-destroy-my-drive /dev/sdb
。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。