Releases: LongSoft/UEFITool
UEFITool / UEFIExtract / UEFIFind A68
Bugfix release with minor fixes to several regressions in A67, minor parsing improvements and typo fixes, and updates to GUID database.
UEFITool / UEFIExtract / UEFIFind A67
Changes:
- new GUID database generated by Linux Vendor Firmware Service, about 3x larger than before, major thanks to @hughsie.
Fixes:
- workaround for
MAX_PATH
limitation forUEFIExtract
in Windows (requires Windows 10 1607 or newer OS version, and a registry change), thanks to @NikolajSchlej. - fix for CI/CD pipeline to generate proper Windows x86 builds for
UEFIExtract
andUEFIFind
(they were secretly x64 for several past releases), thanks to @NikolajSchlej.
UEFITool / UEFIExtract / UEFIFind NE A66
Changes:
- New
guids
command for UEFIExtract and an update to default extraction modes to include generation of known GUID database (pairs of GUID/String that can be collected from the input file), thanks to @NikolajSchlej. - Update to Qt 6.5.0 (LTS) brough seamless cross-platform UI dark mode support, and proper handling of UI mode update, thanks to @NikolajSchlej.
- QHexEdit2 widget replaced by QHexView5 for Hex View window. The new widget looks nicer in HiDPI and natively supports dark UI mode. Thanks to @Dax89 for creating it and @NikolajSchlej for integration work.
Fixes:
- lots of small fixes for issues found by fuzzing, thanks to @yeggor and @NikolajSchlej
- small update to built-in GUID database, thanks to @Tody-Guo
UEFITool / UEFIExtract / UEFIFind A65
A bugfix release, with huge thanks to all the people that reported those new bugs.
New features:
- Replaced AMI NVAR parser with KaitaiStruct-based one. This is another step towards "minimize manual parsing" goal stated by rewriting FIT/ACM/BootGuard parsers in KS, other NVRAM-related parsers will follow in the next updates.
- Added fuzzing targets for libFuzzer-compatible and AFL-compatible fuzzers, which already uncovered a treasure throve of issues. Fixes are now in development, will be gradually included in the next updates.
- Added
--help (-h)
and--version (-v)
to UEFIExtract and UEFIFind, this makes them easier to use in scripts.
Fixes:
- Universal macOS package for UEFITool is an app bundle again, thanks to @makigumo and @mikebeaton for reporting.
- Unicode text search is working again, thanks to @nightgolfer and @mikebeaton for reporting.
- UEFIExtract and UEFIFind can again be built with slightly older versions of CMake, thanks to @platomav for reporting.
- Issues in descriptor and capsule parsing are non-fatal now, thanks to @platomav for reporting.
- "Extract body" action did not work for some section types.
UEFITool / UEFIExtract / UEFIFind A64
New features:
- native UI dark mode support provided by switching to Qt6 for all release builds. Confirmed working on
Windows 11
,macOS 13
,Ubuntu 22.04 LTS
andFreeBSD 13.1
with Qt 6.4.2. Thanks to @yeggor, @vit9696 and @NikolajSchlej. - Windows builds split into modern win64 (using static x64 build of Qt 6.4.2) and legacy win32 (using static x86 build of Qt 5.6.3, supports legacy Windows version down to Windows XP). If you use a modern windows, please try win64 build out, as it might have uncaught 64-bit MSVC-specific bugs. Thanks to @NikolajSchlej.
- Support for AMI v3 protected ranges hash file. Thanks to @cybojanek for the initial pull request and @NikolajSchlej for the final implementation.
Fixes:
- Qt6 started using sse2 for real, and that uncovered a crash reported by @4e4o and @stuarthayhurst, that then got fixed by @NikolajSchlej.
- CMake config files lacked install targets for all tools, so
cmake --install
did not work. Does now thanks to @NikolajSchlej.
UEFITool NE/UEFIExtract/UEFIFind A63
New features:
- it is now possible to paste GUIDs in raw EDK2 format into Search window as is without manual re-formatting, thanks to @mikebeaton
- support for HiDPI displays, thanks to @NikolajSchlej
- Zlib-compressed sections used on AMI-based boards for AMD CPUs are now supported, thanks to @NikolajSchlej
Fixes:
- several small fixes for crashes, thanks to @yeggor, @hughsie and @NikolajSchlej
- fix for OpenBSD builds, thanks to @klemensn
Notes:
- had to switch to using a monospace font for the whole UI due to HiDPI requirements. If you don't like the new UI look, please open an issue.
UEFITool NE/UEFIExtract/UEFIFind A62
This release is full of minor improvements and fixes for minor issues that laid unresolved for several years due to them being so minor.
It also adds FreeBSD to the list of supported OSes thanks to @pkubaj's effort to make the tools buildable there.
New features:
- support for x86-64 128Kb Recovery Startup AP Data, a special 16 byte entry at a fixed address inside a Padding file in some PEI volumes on x86-64 PCs, thanks to @NikolajSchlej
- support for AMI ROM Hole files, that need to remain at fixed base addresses inside the image, thanks to @NikolajSchlej
Bug fixes and small improvements:
- fix for a crash during ME FPT parsing, thanks to @retpoline for reporting and @NikolajSchlej for the fix
- fix for builds on Windows with MinGW, thanks to @llxiaoyuan for reporting and @NikolajSchlej for the fix
- fix for builds on multiple BSD variants for multiple architectures, thanks to @pkubaj, @vit9696 and @NikolajSchlej
- fix for C++17 compatibility, thanks to @yeggor
- fix for CMake files to make UEFITool compatible with Qt 6.0/6.1/6.2, thanks to @NikolajSchlej
- fix for OSes that call Qt5 qmake not just
qmake
, butqmake-qt5
(Fedora, FreeBSD), thanks to @ValdikSS - fixes to make static analysers happier, thanks to @NikolajSchlej
- hack to make Kaitai-based parsers do one less memory copy, thanks to @vit9696 and @NikolajSchlej
- new FlatHub app for UEFITool and the files required for it, thanks to @vulpes2
UEFITool NE/UEFIExtract/UEFIFind A61
This huge release (over 9000 lines of new code) finally adds support for Intel BootGuard v2 structures (that @prop263 made a PR for nearly 2 years ago), reimplemented from scratch using Kaitai Struct.
Other changes included in this release:
- improved UEFITool icon for macOS build, thanks to @vit9696
- Intel BootGuard v1 and Intel ACM parsers got replaced by Kaitai-based ones, thanks to @NikolajSchlej
- added support for Meson builds for UEFIExtract and UEFIFind, thanks to @hughsie
- added support for CMake builds for UEFITool (requires Qt6), thanks to @NikolajSchlej
- added more Lenovo-specific GUIDs to the built-in GUID database, thanks to @crass
- added several new static analysers (PVS-Studio, CodeQL, SonarCloud) to CI/CD pipeline, fixes most of the issues spotted by them, thanks to @NikolajSchlej
Special thanks to Fiano and CSS folks, I could not cross-check the new KSY definitions without them.
UEFITool/UEFIExtract/UEFIFind NE A60
The first release of 2022 is mostly about testing the new universal binaries for macOS (i.e. when the single binary is built natively for both x86-64 and arm64), but it also has some improvements and bugfixes:
- added support for parsing some some HP images that use EFI_GUIDED_SECTION_LZMA_HP GUID for their LZMA-compressed sections, thanks to @yeggor
- added support for "Extract Uncompressed..." and "Uncompressed Hex View..." actions in UEFITool, both are useful in expecting the raw uncompressed data of compressed items, and will help catch and fix some otherwise invisible issues like #178, thanks to @NikolajSchlej
- added support for proper parsing of ME File Partition Table header version 2.1, improved parsing of the previous versions 1.0 and 2.0, thanks to @NikolajSchlej and @platomav
- fixed CI\CD, updated its configuration to use newer runners, fixed some Coverity warnings found because it's working again, thanks to @vit9696 and @NikolajSchlej
- built Qt 5.6.3 as universal library for macOS, and updated unixbuild.sh and CI\CD to generate unversal binaries instead of just x86-64 ones for macOS, thanks to @vit9696 and @NikolajSchlej
A59
- Fixed CPLD extension area parser hang
- Improved ME parsing with the help of MEParser
- Added Qt6 compatibility for user builds, thanks to @vampirecat35
- Changed prebuilt Linux binaries to require Ubuntu 20.04
- Fixed multiple parser issues with Z590 images, thanks to @joevt
- Added GigaDevice GD25LQ16V identifier, thanks to @realnickel
- Added more recognised GUID file names, thanks to @assafcarlsbad