Chipsec在Windows上的安装与执行

准备

设置测试机

  • 关闭安全启动
  • 允许加载未签名的驱动程序
    • 以管理员身份打开命令提示符,运行以下命令
      1
      2
      3
      BcdEdit /set TESTSIGNING ON
      BcdEdit /set noIntegrityChecks ON
      BcdEdit /set loadoptions DDISABLE_INTEGRITY_CHECKS
  • 重启计算机使设置生效

安装编译driver所需Build Tools

  • 安装Visual Studio 2022 Build Tools
    1
    winget install --id=Microsoft.VisualStudio.2022.BuildTools -e
  • 安装VS其余组件
    • 打开Visual Studio Installer(C:\Program Files (x86)\Microsoft Visual Studio\Installer\vs_installer.exe),找到Visual Studio 生成工具 2022,选择修改已安装的Build Tools
    • 选择以下工作负载:
      • 使用C++的桌面开发
        • Windows 11 SDK (10.0.26100.4654)
        • MSVC v143 - VS 2022 C++ x64/x86 生成工具 (最新)
        • 用于 Windows 的 C++ CMake 工具 (最新)
        • 测试工具核心功能 - 生成工具
        • C++ AddressSanitizer
        • vcpkg 包管理器
    • 选择以下单个组件:
      • 带有Spectre 缓解措施、适用于最新 v143 生成工具的 C++ ATL (x86 & x64)
      • 带有Spectre 缓解措施、适用于最新 v143 生成工具的 C++ MFC (x86 & x64)
      • MSVC v143 - VS 2022 C++ x64/x86 Spectre 缓解工具 (最新)
      • Windows 驱动程序工具包 (WDK)生成工具
  • 安装WDK

配置python环境

  • 安装Python 3.13.9

  • 安装pip

    • 会随Python一起安装
  • 安装Python依赖包

    1
    pip install -r windows_requirements.txt
  • 如果没有网络,可以手动在有网络的环境下载whl包

    1
    pip download -r windows_requirements.txt -d <下载目录>
  • 然后将下载目录下的whl包复制到无网络环境,使用pip安装

    1
    pip install --no-index --find-links=<下载目录> -r windows_requirements.txt

安装Chipsec

编译驱动

  • 编译EfiCompressor

    • 切换到目录C:\chipsec\chipsec_tools\compression
    • 运行以下命令编译EfiCompressor
      1
      python setup.py build
    • 编译成功后,复制build\lib.win-amd64-cpython-313下的文件到C:\chpipsec
  • 编译Driver(可以在有网络的环境编译好后复制到无网络环境)

    • 打开x64 本机工具命令提示符 for VS 2022
    • 在开始菜单中搜索Developer Command Prompt for VS 2022,右键以管理员身份运行
    • cd 到chipsec目录
      1
      cd C:\chipsec  # 根据实际路径修改
    • 运行以下命令编译driver
      1
      2
      3
      4
      5
      cd C:\chipsec\drivers\windows
      cd chipsec
      msbuild /p:Platform=x64
      cd ../pcifilter
      msbuild /p:Platform=x64
    • 编译成功后,安装驱动程序,切换到以下目录
      C:\chipsec\drivers\windows\pcifilter\x64\Debug\pcifilter
    • 右键点击pcifilter.inf,选择安装
      • 如果提示驱动程序未签名,强制安装即可
    • 打开设备管理器
      • 系统设备下找到PCI Express Root Complex
      • 右键点击选择属性
      • 切换到驱动程序选项卡
      • 选择更新驱动
      • 然后选择浏览计算机以查找驱动程序软件
      • 选择从计算机的设备驱动程序列表中选择
      • 选择已安装的驱动程序中的PCI Filter Driver,然后点击下一步
      • 完成驱动程序更新
      • 每一个PCI Express Root Complex都需要重复上述步骤安装驱动程序
    • 驱动程序安装完成后,重启计算机
    • 重启之后,可以在设备管理器系统设备下看到PCI Filter Driver
    • 确认驱动程序版本是Debug版本

测试Chipsec运行

  • 以管理员身份打开命令提示符
  • cd 到chipsec目录
    1
    cd C:\chipsec  # 根据实际路径修改
  • 运行Chipsec
    1
    2
    py chipsec_util.py pci dump 0 0 0
    py chipsec_util.py pci enumerate
  • 如果输出信息且没有报错,说明安装成功

执行完整测试

  • 切换到chipsec目录
    • 以管理员身份打开命令提示符
    • cd 到chipsec目录
      1
      cd C:\chipsec  # 根据实际路径修改
  • 运行完整测试
    1
    python chipsec_main.py
  • 测试结果会输出到chipsec目录下的logs文件中
  • 分析测试结果
    • 打开logs目录下的最新日志文件
    • 查看测试结果,关注FAIL和WARNING的项
    • 根据需要进行进一步分析和处理