Skip to content

v0.4.29

Choose a tag to compare

@github-actions github-actions released this 26 Oct 11:04
· 18 commits to main since this release

v0.4.29: every FIT/MFIT tool is found, and the check result is short

Why the tool was still missed

Detection relied on running the tool with -h and reading its output. That fails for
two real cases:

  • MFIT (CSME 15/16) is a GUI build. With -h it prints nothing to the console and
    waits, so the probe timed out and the import refused the file. The tool never
    reached the library, so "Check Tools" could never see it.
  • The check hid what it did not know. It listed only tools that had already been
    identified, so an unidentified file that was scanned was silently left out.

Both are fixed.

What changed

  • Identity is read from the file itself. Both FIT and MFIT carry their banner and
    their FileVersion inside the executable (as UTF-16 on Windows). The app now reads
    those bytes, so nothing is executed, a GUI tool cannot hang the check, and a Windows
    .exe is identified the same way anywhere. -h is used only when the file does not
    state a version.
  • Nothing is dropped. Tools are imported whether or not they were already
    identified, and a program whose version cannot be read is kept and listed as
    "not identified" instead of being refused.
  • More file names are recognised, including Flash Image Tool.exe, FIT*.exe,
    MFIT*.exe and FITC*.exe.
  • "Check Tools For This Image" is short. It now prints the image, the ME version
    with the tool it needs, the matching tool, and any other tools found. No paths, no
    confidence notes, no explanation text.

Example result for a CSME 16 image:

Image: your_dump.bin
ME:    16.1.25.1991 - needs MFIT 16.1

Matching tool: MFIT 16.1.25.2053 (Windows)
Other tools:   FIT 11.8.86.3877, FIT 15.40.16.2534
  • Removed the "Mark as FIT/MFIT manually" button and the duplicated probe code.

Verification

  • 660 tests pass; ruff clean. CI: Linux tests on 3.10/3.11/3.12 and the Windows
    build all pass.
  • New tests cover: a Windows GUI tool identified from its bytes while being
    non-executable (so it provably never ran), the exact fit.exe -h banner, a BIOS
    image never identified as a tool, a tool that is listed but not hidden when its
    version is unknown, and the short check output.

Note on the dump you sent

The 32 MB image analysed earlier reports ME 16.1.25.1991 and no structural problems;
its own ME region uses the CSE LT layout, so partition cleaning does not apply to it
and only the HAP soft-disable is available.

Downloads (SHA-256 from the GitHub release API)

  • BIOSRecoverySuite-portable-0.4.29.zip: sha256:3c19686979378b6b93a6a3e1e7f89a23113f3ac660a2a0b4263dec1709567c97
  • BIOSRecoverySuite-Setup-0.4.29.exe: sha256:5d4e3c68cac779f8b000e8b042baed3c28ebae88a50b1c16ead06571c192ee73
  • BIOSRecoverySuite-Setup-0.4.29.exe.sig: sha256:affdf2eb78f8f6a84dcb0c53a9aa016dd8002173e03f9eeef6043de0c46b093a