Commit Graph

35 Commits

Author SHA1 Message Date
Nikolaj Schlej
7eb565d788 Switch AMI NVAR parser to Kaitai 2023-02-19 12:24:20 -08:00
Nikolaj Schlej
03d71d6f9f Update Intel FIT definitions accodring to FIT specification v1.4 2023-01-29 15:58:43 -08:00
Nikolaj Schlej
574754fce6 Add a missing break to types.cpp 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
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
4006954bc1 Downcast all qtsizetype to UINT32 manually, apply consistent identation 2022-08-28 12:47:01 +02:00
joevt
f9c35f77a6 Improve firmware parser and tool robustness
closes #241
2021-10-07 18:51:39 +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
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
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
0a634ebcbd Merge recent updates but without broken builder and with minor refactoring and bugfixes 2018-10-08 12:58:12 +03:00
Alex Matrosov
63088afd87 A45
+ FFSv3 support with large files and large sections
+ proper names for Flash Descriptor v2 regions (#89)
+ better alignment calculations (#96)
+ improved NVRAM parser
+ post IBB hash support for Boot Guard
+  bugfixes
+ companion tool updated
2017-12-10 17:56:00 -08:00
Alex Matrosov
68df5a64a3 NE Alpha 43
add visual validation of Intel Boot Guard coverage
2017-10-11 22:59:23 -07:00
Cr4sh
fc579533e8 NE Alpha 42 2017-07-31 09:06:11 +03:00
Cr4sh
f410b0f969 NE Alpha 37 2016-12-23 01:34:24 +03:00
Alex Matrosov
cb430456bf NE Alpha 33
- human readable JEDEC ID
- NVRAM parser separated from FFS parser
- added support for LZMAF86 sections
- solved a bug with parsing of VSS variables with invalid sizes
2016-10-09 23:05:04 -07:00
Nikolaj Schlej
03567dbe66 FIT checksum bugfix
- and small refactorings
2016-07-18 06:49:31 +02:00
Nikolaj Schlej
59a6f298ee Move fitParser to ffsParser
- required to set fixed properly
2016-07-14 21:22:51 +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
dd0efa2410 Static analysis FTW
- a bit of leftovers for previous commit found by static analyzer
2016-04-17 01:48:07 +02:00
Nikolaj Schlej
cda0018a29 A bit of refactoring here and there
- more refactoring to go, because new NVRAM code was written in a hurry
and needs to be cleaned up
2016-04-17 01:25:51 +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
1100cead24 UT NE A25
- support for Phoenix SCT FlashMap
- support for Apple Gaid stores
- UI for EVSA and FlashMap store and entries
- small fixes
2016-04-13 01:35:18 +02:00
Nikolaj Schlej
1a6d2142b0 Support for FTW blocks
- small UI fixes for EVSA
- other minor stuff
2016-04-08 13:22:18 +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
40200bca12 Support for _FDC and Fsys NVRAM formats
- only one format remains - EVSA
- added scope to text search UI, because of NVRAM variables having texts
in headers
2016-04-05 00:47:34 +02:00
Nikolaj Schlej
95290abb94 Initial support for VSS format
- normal, auth and apple variations supported
- some UI additions and code cleanup TBD
2016-03-28 15:03:32 +02:00
Nikolaj Schlej
36c26595a0 UT NE A22
- added UI for NVAR variables
- added parsing of StdDefaults and MfgDefaults nesting variables
2016-03-21 09:54:20 +01:00
Nikolaj Schlej
3cf145a3cc NVAR parsing support
- still no proper menus for data extraction
- other NVRAM formats TBD
2016-03-20 23:59:03 +01:00
Nikolaj Schlej
4cf6b4f37b UT NE A19
Thanks to lordkag for #41:
- improved parsing of Intel flash descriptor
- improved detection of Tiano/EFI 1.1 compression type
- added 2 UEFI capsule GUIDs used by Lenovo
- solved potential crash on very low memory available
- UEFIExtract and UEFIFind update to include the latest parser changes
2016-02-02 02:08:08 +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
8283ee9f29 NE_alpha7
- ported cumulative changes from 0.20.8
- added "Extract body uncompressed" action for compressed and
GUID-defined sections
2015-08-31 21:34:42 +02:00
Nikolaj Schlej
48384557a5 UE 0.10.2
- solved a bug in parsing of signed GUID defined sections
2015-07-12 08:15:03 +02:00
Nikolaj Schlej
2e788a8a1a Big structure update
- files split into common and app-specific ones
- messages from parser and finder separated
- ffsEngine split into multiple classes to reduce complexity
- still no image rebuild
2015-04-02 10:04:37 +02:00