Nikolaj Schlej
6c695c12a7
Fix meson builds
2023-02-19 12:38:35 -08:00
Nikolaj Schlej
7eb565d788
Switch AMI NVAR parser to Kaitai
2023-02-19 12:24:20 -08:00
Nikolaj Schlej
2d1ebcc11b
Fallback to RawArea parsing in case IntelDescriptor or Capsule parsing was unsuccesful
2023-02-18 08:28:15 -08:00
Nikolaj Schlej
6f9dc0ab88
Fix Unicode search
2023-02-16 22:11:39 -08:00
Nikolaj Schlej
745f4b69f2
Fix an issue spotted by SonarCloud
2023-02-11 21:12:01 -08:00
Nikolaj Schlej
944133caa7
Automatically select dark colors for BootGuard markings in dark mode
2023-02-11 21:05:18 -08:00
Nikolaj Schlej
ef7ceefa41
Temporary change UI style for Qt6-based Windows build of UEFITool to support dark mode
2023-02-11 20:19:32 -08:00
Nikolaj Schlej
33c25e8255
Add AMI v3 protected ranges hash file support
2023-02-05 20:30:20 -08:00
Nikolaj Schlej
7a161f577a
Fix truncation issue with 64-bit contants on Windows, update Kaitai patch script
2023-02-03 23:53:10 -08:00
Nikolaj Schlej
c9939e23ec
Fix possible unaligned access to UCS2 strings
2023-01-31 20:15:12 -08:00
Nikolaj Schlej
b649b98cb5
Add support for Clang sanitizers for UEFITool
...
Only applied to CMake Debug builds, useful for debugging undefined behavior.
2023-01-31 17:48:20 -08:00
Nikolaj Schlej
2467b48802
Attempt to fix an issue spotted by SonarCloud
2023-01-29 16:52:08 -08:00
Nikolaj Schlej
03d71d6f9f
Update Intel FIT definitions accodring to FIT specification v1.4
2023-01-29 15:58:43 -08:00
Nikolaj Schlej
66e9f95dc3
Replace unneeded BOOLEAN with bool
2023-01-29 15:13:37 -08:00
Nikolaj Schlej
507f884635
Fix compressed flag not being applied to the items inside GZip and Zlib GUIDed sections
2023-01-28 21:56:01 -08:00
Nikolaj Schlej
1adff58591
Update guids.csv
...
Add GUIDs for Intel BG BootPolicy and KeyManifest
2023-01-12 21:51:42 -08:00
Mike Beaton
eab62138aa
guids.csv - fix additional [g|G][A-Z] errors
2023-01-06 19:14:51 +03:00
Nikolaj Schlej
19ab6076c4
Update ffsparser.cpp
...
Fix an issue with parsing CRC32 sections introduced in the previous commit
2023-01-03 01:17:41 -08:00
Mike Beaton
1b143c89e6
Fix minor issues in guids.csv ( #328 )
...
- Fix DebuSupport error from 0fb88ab760
- Add GUIDs
2023-01-02 18:08:01 +03:00
Nikolaj Schlej
7337f15ec9
Implement parsing for AMD-specific Zlib-compressed GUIDed section
...
Fix incorrect overflow check in parsing volume block map
2022-12-23 22:49:37 -08:00
Klemens Nanni
6e7b46d791
Fix OpenBSD build, use swap16(3) from <endian.h>
...
bswap*() do not exist on OpenBSD.
2022-11-27 10:22:38 -08:00
yeggor
47c8938c7e
Add additional check for entryHeader->Size in NvramParser::parseEvsaStoreBody to avoid uint32 underflow
2022-11-15 18:08:25 -08:00
Nikolaj Schlej
71a7336730
Fix warnings spotted by GCC
2022-11-05 11:03:50 +01:00
Nikolaj Schlej
497fb2a86f
Replace append with +=
2022-10-23 13:49:53 +02:00
Nikolaj Schlej
c9e16cb180
Add modulus+exponent KM hashes
2022-10-23 13:37:19 +02:00
Nikolaj Schlej
50396d7291
Improve truncated image checks to preven UEFIExtract crashes
2022-10-15 09:20:55 +03:00
Richard Hughes
0429225c56
trivial: Fix the position of the colon when dumping the KM pubkey
...
This kinda matters when parsing the output using Python...
2022-10-11 17:15:59 +02:00
Richard Hughes
cd22c3db2b
Split up the signature exponent and modulus on stdout
...
This makes it easier to parse from Python.
2022-10-11 09:40:34 +02:00
Nikolaj Schlej
c3cedba150
Fix another crash in checkProtectedRanges
2022-10-11 09:39:19 +02:00
Nikolaj Schlej
89a302e5d9
Calculate key manifest public key hashes that could be written into FPFs
2022-10-09 11:24:27 +02:00
Nikolaj Schlej
7e5e02b4b4
Improve detection of BPDT partition tables in raw areas, update the list of known BPDT entry types
2022-10-09 07:18:28 +02:00
Nikolaj Schlej
acc913769b
Add workaround for Lenovo large files inside FFSv2 volumes
2022-10-07 14:40:20 +02:00
Nikolaj Schlej
662e0bf9b1
Comment out unused (but still generating warnings) floating point parsing functions
2022-10-03 20:29:27 +02:00
pkubaj
799f186852
Fix build on *BSD/arm (32-bit)
...
Similar fix as for aarch64. I only tested FreeBSD, but since aarch64 version works everywhere, this one should also.
2022-09-29 23:15:57 +03:00
Nikolaj Schlej
6247fa5bbc
Fix building with MinGW 11.2.0 on Windows, add it into CI/CD
2022-09-27 19:22:32 +02:00
Nikolaj Schlej
9bb0549ad2
Add other BSD variants once again
2022-09-25 08:22:24 +02:00
pkubaj
739de0fec8
Fix build on FreeBSD/arm64
2022-09-21 18:03:45 +03:00
Nikolaj Schlej
a9d1016a52
Add other BSD variants to the same area that fixed FreeBSD builds
2022-09-15 06:46:02 +02:00
pkubaj
4358f31242
Fix build on FreeBSD
2022-09-14 21:26:55 -07:00
Nikolaj Schlej
574754fce6
Add a missing break to types.cpp
2022-09-14 19:04:44 +02:00
Nikolaj Schlej
6e5cc3bccc
Add support for AMI ROM hole files
2022-09-14 19:04:44 +02:00
Nikolaj Schlej
011647aa30
Fix a possible crash of MeParser in case there are no valid FPT partition table entries
2022-09-14 19:04:44 +02:00
Nikolaj Schlej
a4a455d0ff
Add support for x86 recovery startup AP data entries in special padding files
2022-09-14 19:04:44 +02:00
Nikolaj Schlej
06653d024b
Provide basic non-owning memstream implementation for Kaitai parsers to use
2022-09-14 19:04:44 +02:00
yeggor
ce2291a23c
Fix CMAKE_CXX_STANDARD 17 build on Windows
2022-09-14 04:05:13 +02:00
Nikolaj Schlej
c4ca232b3a
Fix a version issue in ACBPv2 definition file
2022-09-10 16:08:06 +02:00
Nikolaj Schlej
a9c6f347a2
Fix another issue spotted by PVS-Studio
2022-09-10 14:47:55 +02:00
Nikolaj Schlej
22d1db8c7f
Fix issues spotted by PVS-Studio and SonarCloud
2022-09-10 14:20:49 +02:00
Nikolaj Schlej
75a1374c0c
Fix a type issue found by CoreQL
2022-09-10 13:59:23 +02:00
Nikolaj Schlej
934ce1f3f8
Kaitai-based Intel ACM and BootGuard parsers
...
As the first step towards automated parsing, this change set replaces outdated BootGuard-related parsers with shiny new KaitaiStruct-based ones.
It also does the following:
- improves Intel FIT definitions by using the relevant specification
- adds sha1, sha384, sha512 and sm3 digest implementations
- updates LZMA SDK to v22.01
- moves GUIDs out of include files to prevent multiple instantiations
- enforces C++11
- adds Kaitai-based parsers for Intel FIT, BootGuard v1 and BootGuard v2 structures
- makes many small refactorings here, there and everywhere
2022-09-10 13:14:29 +02:00