工具
fiano UEFI 固件解析与修改工具集
LinuxBoot 项目用 Go 编写的 UEFI 固件镜像解析与修改工具及库。其 utk 命令可用表格或 JSON 展示镜像中的固件卷和文件,查找、转储、插入、删除或替换文件,并把镜像解包到可重新组装的目录中,还提供用于删除多余 DXE 驱动的 DXE 清理功能。其他命令涵盖闪存布局(fmap)、coreboot CBFS、Intel FIT 表、FSP 头部、微码和 LZMA 数据;其 Go 包还能解析 Intel ME 区域、Boot Guard 与 CBnT 清单以及 AMD 固件结构。
使用条件与局限
- 没有 GitHub 发布版本;最新的标签 v7.0.2 和 v6.0.1 都指向 2021-12-01 的提交,而 main 分支仍在持续加入修复、文档和依赖更新,所审阅的提交日期为 2026-05-14。README 用 go install 以 @latest 安装 utk 和 fmap,并仍称需要 Go 1.13,而 go.mod 声明 Go 1.21,CircleCI 使用 Go 1.22。
- 均为纯 Go 命令行工具;go install 会把可执行文件放到用户主目录下的 go/bin 文件夹。输入为分析者已有的固件镜像,例如完整的闪存 ROM;fspinfo 只支持 FSP 2.0 文件。CI 检查代码格式、运行 ineffassign 以及单元测试和竞态测试;Go 测试还包括对自带 OVMF 镜像执行的解包、重新组装、再解包往返测试和 JSON 回归检查。
- 采用 BSD-3-Clause 许可,版权归 LinuxBoot。测试样本包括由 EDK2 开源标签 vUDK2018 构建的 OVMF.rom、coreboot ROM、压缩样本和清单样本,以及两个按 Intel 自身再分发条款保留并附许可文件的 Intel 二进制:适用 FSP License 的 Apollo Lake FSP 文件 Fsp.fd,以及面向 Cascade Lake 服务器的 Purley ME Ignition 固件 MeRegion.bin,后者的仅限二进制许可禁止对该镜像进行逆向工程。
- 修改类命令会改写固件镜像;README 未涉及刷写或恢复,本条目只记录解析和镜像编辑功能。本次审阅未安装或运行任何工具,也未修改任何镜像。
关于此条目
- 类型
- 工具
- 类别
- 固件工具
- 关联
- 基础工具
- 目标
- 固件
来源复核于
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · linuxboot/fiano · 修订 162b021
- go.mod GitHub · linuxboot/fiano · 修订 162b021
- LICENSE GitHub · linuxboot/fiano · 修订 162b021
- .circleci/config.yml GitHub · linuxboot/fiano · 修订 162b021
- integration/utk_test.go GitHub · linuxboot/fiano · 修订 162b021
- integration/roms/OVMF.md GitHub · linuxboot/fiano · 修订 162b021
- cmds/fspinfo/README.md GitHub · linuxboot/fiano · 修订 162b021
- cmds/fspinfo/test_blobs/README.md GitHub · linuxboot/fiano · 修订 162b021
- data/PurleySiliconBinPkg/MeFirmware/IgnitionFirmware/License.txt GitHub · linuxboot/fiano · 修订 162b021
- pkg/intel/metadata/README.md GitHub · linuxboot/fiano · 修订 162b021
- cmds GitHub · linuxboot/fiano · 修订 162b021
- https://github.com/linuxboot/fiano/commit/cf677b458e86128635e911b2a8124c70bc7a2d0f