Commit Graph

26 Commits

Author SHA1 Message Date
Nikolaj Schlej
75bf036137 Switch to C++11 for Kaitai-generated parsers 2023-02-26 13:23:25 -08:00
Nikolaj Schlej
7eb565d788 Switch AMI NVAR parser to Kaitai 2023-02-19 12:24:20 -08:00
Nikolaj Schlej
33c25e8255 Add AMI v3 protected ranges hash file support 2023-02-05 20:30:20 -08: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
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
89a302e5d9 Calculate key manifest public key hashes that could be written into FPFs 2022-10-09 11:24:27 +02:00
Nikolaj Schlej
06653d024b Provide basic non-owning memstream implementation for Kaitai parsers to use 2022-09-14 19:04:44 +02:00
Nikolaj Schlej
c4ca232b3a Fix a version issue in ACBPv2 definition file 2022-09-10 16:08:06 +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
59a6f298ee Move fitParser to ffsParser
- required to set fixed properly
2016-07-14 21:22:51 +02:00
Nikolaj Schlej
31fe6c7620 Bugfix for UD 0.1.0
- use of destroyed object due, local copy needed
2016-07-09 11:26:26 +02:00
Nikolaj Schlej
a2484fdb5f CBString modified and integrated
- CBString is used instead of QString, as PoC
- removed submodule
2016-06-26 10:05:45 +02:00
Nikolaj Schlej
bf8632c063 LessQt, part 1
- added wrappers over Qt classes for seamless replacement if Qt is not available
- added bstrlib as submodule
- only UEFIExtract works with this changes for now, others will followa bit later
2016-06-26 05:54:21 +02:00
Nikolaj Schlej
ee3a256206 UE 0.10.9
- added FIT table output to stdout, closes #52
2016-06-20 20:53:16 +02:00
Nikolaj Schlej
c0a5cd0c0f UT NE A25.1
- added support for all Phoenix SCT stuff from NVRAM volume: Intel
microcodes, CMDB block, SLIC pubkey/marker.
- added support for EVSA extended variables (bigger than 0xFFFF)
- better EVSA parsing (invalid data vars are shown now)
- FlashMap entries now have human-readable types
- various small fixes and refactorings
2016-04-14 20:36:59 +02:00
Nikolaj Schlej
57e24c7465 Initial EVSA format support
- better UI and parsing upcoming
- "storage" replaced with "store" everywhere
2016-04-07 08:23:37 +02:00
Nikolaj Schlej
2024c1898b NE A21: deQtization begins
- added FfsBuilder code and UI, but reconstruction routines for volumes,
files and sections are still not ready
- FfsOps moved to common
- QVector and QPair aren't used anymore, replaces with std::vector and
std::pair
- common classes are now independent from QObject
- next step is to replace QString with CBString from bstrlib
2016-03-01 08:20:44 +01:00
Nikolaj Schlej
a1253050fe UT NE A17
- nothing major, just reworks and preparations for the new rebuild code
- added try / catch bad_alloc to prevent crashes during decompression of
malformed Tiano/EFI11 compressed data
2015-12-29 23:39:54 +01:00
Nikolaj Schlej
6d8e5976f7 UT NE A12
- added detection of VTF inside volume's non-UEFI data
- corrected ImageSize information for EFI capsule
- *.scap is added to the list of known Image file extensions
- all FIT candidates in a tree item are checked for being referenced
from the last VTF now
2015-09-19 10:08:26 +02:00
Nikolaj Schlej
9eed1e3fd4 NE alpha11
- added sanity checks during volume header parsing
- corrected various small FIT issues
- corrected bogus "unaligned volume" messages during capsule files
parsing
2015-09-13 17:32:22 +02:00
Nikolaj Schlej
f6c429f00c NE alpha10
- added FIT messages widget and related messages
- corrected small text issues
2015-09-13 16:36:49 +02:00
Nikolaj Schlej
d36951da88 NE alpha8
-Fixed a bug with Lenovo GUID introduced in alpha7
2015-09-06 08:05:57 +02:00
Nikolaj Schlej
cb9ecc4b43 NE_alpha6
- solved a bug in offset calculation for Intel images inside a capsule
- fitParser code cleanup
- hopefully the last commit to this tree, time to start another branch
and rewrite the whole thing once again
2015-07-08 23:05:48 +02:00
Nikolaj Schlej
407e558b60 NE_aplha5
Added FIT detection, parsing and UI, finally
2015-07-07 15:57:41 +02:00