Skip to content

v0.4.37

Choose a tag to compare

@github-actions github-actions released this 01 Nov 11:18
· 7 commits to main since this release

v0.4.37 — ME Analyzer no longer crashes on corrupted EFS; analyzer failures reported truthfully

What was actually broken (verified on your file end-to-end)

You were right — and the root cause wasn't what either of us were guessing. Running the bundled ME Analyzer directly on Lenovo P14s U2201 good.bin (CSME 15.0.55.2751, TGP-LP) crashed inside efs_anl with IndexError: list index out of range at dat_pages_final = [dat_page_all[v] for v in sys_idx_values]:

  • The EFS System Page Indexes CRC-32 was invalid (0xFFFFFFFF, expected 0x6BA3BA26), i.e. the index area contains garbage (173, 73, 227, 255, 255, ...).
  • MEA then sorted the data pages over garbage indexes and crashed — hiding every remaining field (Family/Version/SKU/File System State...) behind a traceback. Upstream MEA (platomav v1.312.0 r378) has the same exact code path.

What changed

  1. Vendored MEA is now resilient to corrupted EFS indexes: when the Indexes CRC-32 is flagged invalid it logs "EFS System Page Indexes CRC-32 detected a corrupted index; continuing with sequential Data Page order!" and continues with sequential order so the full report survives instead of crashing.
  2. Your file now analyzes fully and reports, end-to-end through the app as well:
    • Family/Version: CSE ME 15.0.55.2751 (Consumer LP, TGP-LP B), Production, Extracted, Flash Image Tool 15.0.23.1706, MEA DB name 15.0.55.2751_CON_LP_B_PRD_EXTR
    • Type: Extracted
    • File System State: Initialized (Dirty EXTR) — a donor from a machine that ran, carrying PCH serial/UUID/AMT/event-log data: on another system this risks second-boot problems and sleep failures; the supported revert is the FIT round-trip (not raw byte edits, not the HAP bit).
  3. A crashed/unreadable analyzer is now reported truthfully: the ME Clean report previously fell back to "Unconfigured (RGN)" wording when the analyzer had failed to read the image — that was my earlier mistake and it is fixed: a failed analyzer run now states File System State: could not be read — <reason> and never invents RGN/EXTR/Initialized labeling.

Signed release

  • BIOSRecoverySuite-Setup-0.4.37.exe + .sig (Ed25519, verified against the app's embedded public key), Linux tarball and macOS .dmg from CI.
  • Also vendored-MEA license-compatible (BSD-2-Clause-Patent); fix documented in docs/RESEARCH.md with the exact code semantics for future maintainers.