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
Richard Hughes
8600bc3ab3
meson: Use cpp_args when compiling C++ sources
2022-09-09 16:14:40 +03:00
Glenn Washburn
55d4b4fc66
Add GUIDs from Lenovo UEFI BIOS
2022-09-08 13:43:50 +03:00
Richard Hughes
1675498d4d
Add UEFIFind as a meson target
2022-09-02 13:02:51 +02:00
Richard Hughes
eef00f73a4
Add Meson buildsystem
...
This allows UEFIExtract to build on a greater variety of targets and more
importantly allows us to build with the system-defined hardening protections
present in enterprise distributions.
2022-09-01 20:44:13 +02:00
Nikolaj Schlej
7695927eec
Fixed inconsistent use of %ll and %l format modifiers
2022-08-29 07:10:13 +02:00
Nikolaj Schlej
4006954bc1
Downcast all qtsizetype to UINT32 manually, apply consistent identation
2022-08-28 12:47:01 +02:00
Nikolaj Schlej
10e2e60183
Off with that PRI*Q bullshit
2022-08-28 12:01:43 +02:00
Nikolaj Schlej
eb3185224b
More minor structure init fixes
2022-08-28 08:00:05 +02:00
Nikolaj Schlej
3aafbdd269
Fix another coverity warning about unitialized structure fields usage
2022-08-25 09:43:18 +02:00
Nikolaj Schlej
74910c4658
Add support for Intel ME FPT header version 2.1
2022-08-25 08:54:34 +02:00
Nikolaj Schlej
eabd6a8604
Merge pull request #271 from LongSoft/PR/uncompressed_and_refactorings
...
Refactoring round 1
2022-08-25 07:13:54 +02:00
Nikolaj Schlej
e85fb741ee
Fix new warnings from Coverity Scan
2022-08-25 06:49:10 +02:00
Nikolaj Schlej
12f40cf289
- introduce Extract Uncompressed and Uncompressed Hex View actions for compressed items
...
- remove unused code to support Qt 5.5 and earlier Qt versions
- remove unused section parsing code
- add a check and description for section alignment quirk (compiled out for now)
2022-08-24 22:17:51 +02:00
yeggor
d46489fabb
Add EFI_GUIDED_SECTION_LZMA_HP GUID
2022-08-24 06:01:00 +03:00
vit9696
d9af12b567
Use constant offsets instead of 1-byte arrays
2021-10-14 04:25:26 +03:00
Nikolaj Schlej
fae9d6681d
Update utility.cpp
...
- address review comment
2021-10-14 04:25:26 +03:00
Nikolaj Schlej
1f488862c6
Fix #246
...
- fixed CPLD extension area parser hang
- added some definitions for CSME types obtained from MEParser
2021-10-14 04:25:26 +03:00
vit9696
963671a73e
Merge zlib warning fixes by rurban
...
https://github.com/madler/zlib/compare/develop...rurban:FALLTHROUGH?d=1.patch
2021-10-07 19:10:36 +03:00
vit9696
2a083d8739
Fix cast warnings
2021-10-07 19:02:11 +03:00
vit9696
44bb6e8261
Drop meaningless const inst scalar casts
2021-10-07 18:56:25 +03:00
joevt
f9c35f77a6
Improve firmware parser and tool robustness
...
closes #241
2021-10-07 18:51:39 +03:00
vit9696
44c5b4bc49
Fix autorename in TCG and others
2021-09-11 05:33:01 +03:00
vit9696
0fb88ab760
Fix file names in guids.csv
2021-09-11 05:30:00 +03:00
assafcarlsbad
a754fb5153
Add some more GUID definitions to guids.csv. ( #242 )
2021-09-09 18:55:50 +03:00
Vampire Cat
34c8ad8dcc
Updated code to support newer Qt versions ( #237 )
2021-04-04 12:09:23 +03:00
Nikolai Kostrigin
d1e47539fc
common/descriptor.cpp: add JEDEC ID C86015 definition as GD25LQ16V ( #236 )
...
"parseIntelImage: SPI flash with unknown JEDEC ID C86015 found in VSCC table"
message was displayed on a device equipped with GigaDevice GD25LQ16V SPI flash
Co-authored-by: Nikolai Kostrigin <nickel@altlinux.org>
2021-02-17 19:51:34 +03:00
Nikolaj Schlej
3945c9b89f
Correctly calculate FPT header checksum if ROM bypass vector is present and non-zero, fixes #215 for real
2020-11-22 21:19:26 -08:00
Nikolaj Schlej
5645599c58
Fix incorrect padding construction spotted by Xcode Analyzer
2020-11-22 20:56:51 -08:00
Nikolaj Schlej
115d338a70
Display non-ASCII-named FPT partition table entry names as hex (fixing #215 )
2020-11-22 18:01:44 -08:00
vit9696
753b8ee893
Fix misparsing volumes in some Lenovo firmwares
2020-11-03 11:32:54 +03:00
vit9696
b96772190a
Workaround crash with AMI addressDiff calculation
...
references #219
2020-09-25 18:16:10 +03:00
Nikolai SAOUKH
57e4d6dfa0
Update AMIC Technology spi flash info
...
Info taken from http://www.amictechnology.com/english/flash_spi_flash.html
2020-07-16 10:03:42 +03:00
vit9696
cd110eafa6
Provide workaround for #196
2020-04-22 19:25:36 +03:00
assafcarlsbad
a3425115b8
Add some more GUIDs to the database. ( #199 )
2020-03-11 21:45:56 +03:00
vit9696
0f2ede398d
Implement LZMAF86 support
...
references #197
2020-03-06 23:54:20 +03:00
vit9696
6fdc69415b
Fix microcode detection
...
closes #194
2020-02-08 22:05:33 +03:00
vit9696
1dccf3f15a
Fix CPD signature verification
2020-01-25 10:54:06 +03:00
vit9696
4d948475d8
Fix using temporary after scope in FfsParser::parseVendorHashFile
2020-01-25 01:15:18 +03:00
vit9696
bf3adbe4c6
Fix infinite loop due to 0-sized volume files
...
closes #191
2020-01-24 22:36:39 +03:00
serg-pushkarev
516949a6e6
Fix FIT entry engine checksum ( #189 )
2020-01-20 03:18:15 +03:00
vit9696
2ef8d770e4
Fix memory leak introduced in the previous commit
2019-11-27 20:02:20 +03:00
vit9696
1b2ea8c276
Import legacy bugfixes found over time
...
- Fix mishandling empty microcode entries
- Fix mishandling TE image base
- Fix Intel legacy LZMA support
2019-11-27 19:46:16 +03:00
vit9696
f2e343d8bf
Update field names in microcode struct as in EDK II
2019-09-06 23:16:26 +03:00
vit9696
967375243c
Fix LoaderVersion and UpdateVersion handling in MCU
2019-09-05 23:38:53 +03:00
Nikolaj Schlej
8bddbe7d1f
Fix TotalSize check
2019-09-05 12:58:51 -07:00
Nikolaj Schlej
3507698136
Remove broken revision check
2019-09-05 12:42:26 -07:00
Nikolaj Schlej
64e1aa18b8
Further improve micorcode header detection
2019-09-05 12:25:47 -07:00
Nikolaj Schlej
95c838181f
Improve microcode header detection, parse DevExp1 region as ME region
2019-09-04 17:07:18 -07:00
Nikolaj Schlej
90ff19692d
Add support for IFWI 1.7 and 2.0 layouts, improve ME parser, fix small issues spotted by static analysis
2019-08-19 11:36:02 -07:00
vit9696
fa954394cc
Remove mac image parsing as it breaks GUI navigation
...
Use MacEfiUnpack utility to expand the images prior to using UEFITool:
https://github.com/acidanthera/OcSupportPkg/tree/master/Utilities/MacEfiUnpack
2019-08-18 03:41:06 +03:00
vit9696
1e1d5c6e17
Add hack for broken NVRAM store sizes in Apple images
2019-08-17 14:58:08 +03:00
vit9696
47637ef152
Add dual mac image parsing support
2019-08-17 14:03:23 +03:00
vit9696
a01d2c6003
Implement Mac Image parsing support
2019-08-17 13:31:53 +03:00
Nikolaj Schlej
2e7aa8133a
Initial ME parser, improved ucode parser, reset vector info
2019-07-24 10:30:59 -07:00
vit9696
f386eda430
Add support for parsing NVRAM_NVAR_BB_DEFAULTS_FILE_GUID, closes #71
2019-04-11 19:30:30 +03:00
vit9696
be65f8ae06
Fix one more resource leak
2019-03-26 14:59:13 +03:00
vit9696
5edd5c10ee
Fix potential bugs found with static analysis
2019-03-26 14:22:51 +03:00
vit9696
2cbd78fb9e
Fix directory creation error in UEFIExtract default mode
2019-03-08 03:07:58 +03:00
vit9696
f34894b9fd
Add support for NVRAM_NVAR_PEI_EXTERNAL_DEFAULTS_FILE_GUID, fixes #163
2019-02-10 18:38:37 +03:00
vit9696
5c98152c58
Fix analyzer warnings
2019-02-01 19:45:39 +03:00
Savva
f863caac9d
Update GUID database ( #161 )
2019-01-29 21:15:05 +03:00
vit9696
1ac6e6a4f0
Multiple improvements and bugfixes
...
1. Fixes #158 , UEFITool and UEFIFind failed to lookup pattern crossing header/body boundary
2. Fixes #159 , filter out more symbols in fileanems, which are prohibited by different filesystems
3. Add more known file GUIDs
4. Add basic support for FMP images
5. Fix unaligned read in uint24ToUint32
6. Fix compilation with latest cmake requiring directory path
2019-01-20 13:23:28 +03:00
vit9696
40b77a713f
Fix typos
2019-01-07 23:01:04 +03:00
vit9696
d16c438069
Implement dumping GUIDs from firmware and add more to builtin database
2019-01-07 19:26:31 +03:00
vit9696
afce02430a
Implement local offsets
2019-01-07 16:05:57 +03:00
vit9696
be2cdc7dfe
Implement custom LZMA dictionary size for NE
2019-01-03 22:53:31 +03:00
vit9696
f074dfc5ca
More SPI chips (thx 4.8.4)
2018-12-11 14:51:26 +03:00
vit9696
e1c0b08fc0
Fix analyser issues
2018-11-14 19:17:06 +03:00
vit9696
2201a9b10c
Workaround dir removal on current dir on windows
2018-11-12 14:49:35 +03:00
vit9696
8932aebc02
Backport decompressor untrusted data fixes from EDK2
2018-11-12 09:25:04 +03:00
vit9696
5b26775463
Rename readMisaligned to readUnaligned
2018-11-12 09:24:55 +03:00
vit9696
4dcd6b26a3
Implement gzip unpacking, fixes #149
2018-11-11 16:33:13 +03:00