Commit Graph

209 Commits

Author SHA1 Message Date
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