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
This commit is contained in:
Nikolaj Schlej 2022-08-29 08:23:38 +02:00
parent 8600bc3ab3
commit 934ce1f3f8
81 changed files with 15212 additions and 5279 deletions

View file

@ -23,6 +23,7 @@ uefitoolcommon = static_library('uefitoolcommon',
'nvram.cpp',
'nvramparser.cpp',
'meparser.cpp',
'fitparser.cpp',
'ffsparser.cpp',
'ffsreport.cpp',
'ffsutils.cpp',
@ -31,7 +32,16 @@ uefitoolcommon = static_library('uefitoolcommon',
'treemodel.cpp',
'utility.cpp',
'ustring.cpp',
'sha256.c',
'generated/intel_acbp_v1.cpp',
'generated/intel_acbp_v2.cpp',
'generated/intel_keym_v1.cpp',
'generated/intel_keym_v2.cpp',
'generated/intel_acm.cpp',
'kaitai/kaitaistream.cpp',
'digest/sha1.c',
'digest/sha256.c',
'digest/sha512.c',
'digest/sm3.c',
],
cpp_args: [
'-DU_ENABLE_NVRAM_PARSING_SUPPORT',