工具

Pawn Intel 平台 BIOS 固件提取工具

Google 发布的 Linux 命令行工具,可从基于 Intel 平台的工作站和笔记本电脑的 SPI 闪存中读出 BIOS/UEFI 固件镜像。它以 root 权限运行,通过 PCI 识别芯片组的 LPC 桥,借助 /dev/mem 映射芯片组的根复合体寄存器,并报告读到的闪存描述符分区以及 BIOS 写保护和读保护设置。随后它通过 SPI 控制器的硬件时序读取闪存,写入单个镜像文件;README 建议再用 UEFITool 等工具进一步处理。

使用条件与局限

  • v0.1 和 v0.2 两个版本分别于 2017-08-30 和 2017-09-09 发布,均附带 Debian amd64 软件包及其源码;所审阅的 main 提交日期为 2026-02-17,更新了依赖和 GitHub Actions,版本号仍为 0.2。README 声明 Pawn 不是 Google 的官方产品。构建需要 x86_64 上的 Linux(README 称 FreeBSD 或许也可行)、CMake 3.31+、GCC 或 Clang 7+ 以及 Ninja 或 Make;CMake 会按固定提交拉取 Abseil,测试时另拉取 GoogleTest。CI 在 Ubuntu 24.04 上构建并运行单元测试,生成的二进制文件仅作为工作流产物保留。
  • 需在要读取固件的机器上以 root 权限运行,通过 I/O 端口访问 PCI 配置空间并使用 /dev/mem。对于高于 4.8.4 的 Linux 内核,README 要求设置 CONFIG_IO_DEVMEM=n 或以 iomem=relaxed 启动;程序自身的错误提示写的是 IO_STRICT_DEVMEM。只能识别 Intel ICH8、ICH9、ICH10 以及 6 至 9 系列芯片组,其中最新的是 9 系列,源码引用的其数据手册日期为 2014 年 5 月;BIOS 必须以描述符模式从 SPI 闪存启动。
  • 它总是从闪存地址 0 读取 16 MiB,超出此大小的闪存内容不会被转储,读取失败的数据块也会被忽略;默认输出文件名为 bios_via_spi_hs.bin。仓库只包含源码、构建文件和 Debian 打包文件,不含任何固件镜像;转储得到的是机器厂商的固件,仍受厂商权利约束。
  • 采用 Apache-2.0 许可。本次未构建或运行任何内容,所审来源也未确立与 REA 的关联。

关于此条目

类型
工具
类别
固件工具
关联
基础工具
目标
固件

来源复核于

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

报告条目过时 建议修正翻译

一手来源

  1. README.md GitHub · google/pawn · 修订 45b7b38
  2. pawn/pawn.cc GitHub · google/pawn · 修订 45b7b38
  3. pawn/chipset.cc GitHub · google/pawn · 修订 45b7b38
  4. pawn/chipset_intel_9_series.h GitHub · google/pawn · 修订 45b7b38
  5. CMakeLists.txt GitHub · google/pawn · 修订 45b7b38
  6. cmake/PawnDeps.cmake GitHub · google/pawn · 修订 45b7b38
  7. .github/workflows/ubuntu-cmake.yml GitHub · google/pawn · 修订 45b7b38
  8. debian/changelog GitHub · google/pawn · 修订 45b7b38
  9. LICENSE GitHub · google/pawn · 修订 45b7b38
  10. https://github.com/google/pawn/releases/tag/v0.2

同分区更多条目:固件与硬件

固件与硬件分区全部 44 项资源