Repository navigation
v0.4.35
v0.4.35 — Linux & macOS support, ME-clean reporting made verifiable, UEFI LZMA decode hardened
Platform support
- CI now builds and tests on Linux (tarball) and macOS (Apple Silicon .dmg) in addition to Windows:
BIOSRecoverySuite-linux-x64-<v>.tar.gz— unpack and run./BIOSRecoverySuiteBIOSRecoverySuite-macos-arm64-<v>.dmg- Windows keeps the signed
Setup.exe(Ed25519.sig) andportable.zip.
- Test suite now runs on Linux (3.10/3.11/3.12) and macOS (3.12); the CI release flow is race-safe (release is created once, all platforms upload in parallel; tag/version enforced before any build).
ME Cleaner: what a CSME 11+ "CSE LT" clean really is (and what the report states)
For engines that ship the $CPD manifest layout (CSME 11+, incl. the CSME 15 Tiger Lake code in Lenovo P14s/T14 Gen 2–4), partition-level ME removal does not exist: the FPT lists no FTPR at all, and me_cleaner itself exits with "FTPR header not found" on such images. The app's MeCleaner therefore performs the exact same operation as me_cleaner's own gen-3 HAP path — and now says so precisely:
Cleaned Sizekeeps the region size (nothing is truncated; LT engines cannot be partition-cleaned);- the report names the one and only changed byte and bit: bit 16 of PCHSTRP0 (the flash-strap dword at
FPSBA), byte-identical in location and effect to me_cleaner'sHAPwrite; - if you run a clean and the report shows anything less, that is an app bug; if it shows exactly that one-bit change, that is the full, proper ME clean for this engine generation.
(Reference analysis and me_cleaner source comparison are indocs/RESEARCH.md.)
UEFI LZMA sections: hardened decode path
- LZMA-ALONE payloads are now decoded (and re-emitted) the way the firmware's own
LzmaDecodedoes: props/lc/lp/pb + dictionary size read from the header, EOS marker accepted, declared output size from ALONE header bytes 5..12 — matching EDK2'sLzmaDecompress.c. - Host-side strict
lzma.decompress()is no longer used on LZMA sections in the app (its tolerance for "declared size + EOS tail" differs per liblzma build); the shipped payload format remains exactly the one the platform firmware accepts when flashing. - Oversized/under-decodable streams stay bounded per the previous audit (a stream that cannot finish inside the limit is treated as opaque, not crashed through).
Notes
- 685 tests, ruff clean; CI green on all three platforms.
- The Windows installer is signed (Ed25519,
.sig).