Commit graph

28 commits

Author SHA1 Message Date
Nikolaj Schlej
a19aeadb54 Revert "Update hexadecimal numbers output format from ABCDh to 0xABCD" due to breaking downstream tools
This reverts commit 9cc9518f8b.
2025-04-26 19:09:49 +07:00
Nikolaj Schlej
9cc9518f8b Update hexadecimal numbers output format from ABCDh to 0xABCD 2025-04-26 16:16:02 +07:00
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