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
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
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
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
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
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
Vampire Cat
34c8ad8dcc
Updated code to support newer Qt versions ( #237 )
2021-04-04 12:09:23 +03:00
Nikolaj Schlej
5645599c58
Fix incorrect padding construction spotted by Xcode Analyzer
2020-11-22 20:56:51 -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
vit9696
cd110eafa6
Provide workaround for #196
2020-04-22 19:25:36 +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
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
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