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
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
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
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
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
vit9696
bc3193420c
Fix #144
2018-10-10 23:41:53 +03:00