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
vit9696
7e1e1ab61e
Bugfixes for #147
2018-10-10 17:20:00 +03:00
vit9696
0a634ebcbd
Merge recent updates but without broken builder and with minor refactoring and bugfixes
2018-10-08 12:58:12 +03:00
vit9696
0a2f115056
Fix some warnings
2018-07-12 22:56:51 +03:00
vit9696
cf01543f06
Silence analyzer warnings and fix potential issues
2018-05-08 18:42:16 +03:00
vit9696
d87cbe3210
Slightly more portable PRIX64 workaround
2018-05-08 10:48:04 +03:00
vit9696
afc5a44446
Fix Linux compilation
2018-05-08 03:02:07 +03:00
vit9696
e0b3049bff
Initial Windows build support for NE
2018-05-08 02:48:34 +03:00
vit9696
ec38091599
Improve descriptor version handling
2018-05-07 00:38:06 +03:00
vit9696
3eae2e4fdc
1.0 descriptors should go via FLASH_DESCRIPTOR_MASTER_SECTION_V2
2018-05-06 15:34:34 +03:00
vit9696
8bbf56d2f4
Fix Intel descriptor version parsing
2018-05-06 15:22:25 +03:00
Alex Matrosov
17267ed4b1
Update ffsparser.cpp
2018-04-29 22:41:13 -07:00
Alex Matrosov
e3ace324ee
bugfix
2018-04-29 22:33:19 -07:00
Alex Matrosov
1cbd3393c8
bugfix
2018-02-25 15:33:54 -08:00
Alex Matrosov
82a89b2c03
multiple fixes
2018-01-23 00:00:03 -08:00
Alex Matrosov
8fb214c322
Update ffsparser.cpp
2017-12-10 21:39:47 -08: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
02369442a2
NE Alpha 44
...
+ support of MS Surface implementation of Intel Boot Guard
+ optional disabling Intel Boot Guard marking
2017-11-05 23:10:06 -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
227be5480e
NE Alpha 41
2017-07-08 22:31:57 +03:00
Cr4sh
0f0bc32a42
NE Alpha 40
2017-02-14 09:39:16 +03:00
Cr4sh
f410b0f969
NE Alpha 37
2016-12-23 01:34:24 +03:00
Cr4sh
0e60013311
NE Alpha 36
2016-12-04 01:36:01 +03:00
Cr4sh
4160a6a580
NE Alpha 35
2016-11-03 02:40:38 +07:00
Cr4sh
52c7a56f68
NE Alpha 34
2016-10-27 23:31:15 +07: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
434a350819
Fixes after GCC static analysis
...
- unused variable
- potential use of uninitialized variable
2016-07-18 07:08:08 +02:00
Nikolaj Schlej
03567dbe66
FIT checksum bugfix
...
- and small refactorings
2016-07-18 06:49:31 +02:00
Nikolaj Schlej
fe56c5c84c
UT NE A32
...
- improved parsing of volume's non-UEFI data
- improved detection of top-swap for TE images
- other minor fixes
2016-07-16 07:02:33 +02:00
Nikolaj Schlej
59a6f298ee
Move fitParser to ffsParser
...
- required to set fixed properly
2016-07-14 21:22:51 +02:00
Nikolaj Schlej
feb74c3299
Fixed NVAR DataOnly+Auth variables
...
- such variable have a new timestamp in extended header, but no hash
2016-07-14 19:28:02 +02:00
Nikolaj Schlej
72116d01c0
Incorrect Fixed=true attribute of sections fixed
2016-07-11 09:35:01 +02:00
Nikolaj Schlej
589dbd5719
UT NE A30, UE 0.12.1, UD 0.1.0
...
- engine modifications require to make a new release of UT and UE
- UEFIDump 0.1.0 with Qt-free engine, at last
2016-07-09 10:42:49 +02:00
Nikolaj Schlej
926c65dd14
Add spaces around PRIX64 to please CLang
...
- UEFIDump 0.1.0 is ready for release
2016-07-09 10:08:32 +02:00
Nikolaj Schlej
0114a72fa5
Build fixes for Windows builds
...
- now to test in OSX and Linux
2016-07-09 10:01:41 +02:00
Nikolaj Schlej
9045fc6cc0
Merge Qt/non-Qt codebase
...
- added UEFIDump tool, which is now Windows-only UEFIExtract with some
limitations, made as PoC for non-Qt engine usage
- ensured that Qt classes will be used, if available
- checked build of UT and UE
- porting of UEFIFind to non-Qt engine TBD
2016-07-07 07:57:45 +02:00
Nikolaj Schlej
12029c768c
UModelIndex integrated
...
- can be used instead of QModelIndex for non-Qt builds
2016-07-05 18:19:04 +02:00
Nikolaj Schlej
71ba5fe582
UByteArray integrated
...
- another Qt class can be replaced for non-Qt builds
2016-07-05 17:22:03 +02:00
Nikolaj Schlej
804a55ba64
UString integration done
...
- now UString works for both Qt (uses QString) and non-Qt (uses modified
CBString) builds
2016-07-05 16:18:55 +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
timevortex
83869461ab
correcting typo
2016-06-20 23:43:09 +10:00
Nikolaj Schlej
2d932da1f3
Add support for Apple-specific section headers
...
- and some new PE machine types
2016-05-04 19:41:03 +02:00
Nikolaj Schlej
cd1cc09b39
NE A27
...
- thanks to NVAR extended headers, item tails are back
- fixed a bug with "Extract uncompressed" producing incorrect results
for multiple sections
- fixed detection and parsing of NVRAM external defaults file
- fixed "Extract as is" on NVAR entries not including extended header
- small bugfixes and refactorings
2016-04-20 22:41:24 +02:00
Nikolaj Schlej
635605e0c9
Pleasing Clang
...
- just a pair of explicit int to uint32_t conversions
2016-04-18 17:05:56 +02:00
Nikolaj Schlej
9cd5022698
More Coverity FTW
...
- dead code was dead, now it lives again
2016-04-18 16:44:58 +02:00
Nikolaj Schlej
d87c905246
Coverity FTW
...
- UINT x = x = a, what have I thinking there?..
2016-04-18 16:21:15 +02:00
Nikolaj Schlej
892122b45e
Qt4 compatibility
...
- should test Qt 4.8.6 support more often
2016-04-18 15:49:25 +02:00
Nikolaj Schlej
9c5818bb16
UT NE A26
...
- NVRAM parsing code refactored
- Missing entries added to NVRAM-related infos
- Various small bugfixes here and there
2016-04-18 15:10: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
4b34fe546d
Fix Clang warning
2016-04-14 21:02:17 +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
ba0779b415
Removed checks for NULL before calling delete or free
2016-04-09 13:18:10 +02:00
Nikolaj Schlej
1dddafd4b3
Changes to please GCC
...
- forgot that C++17 extensions aren’t everywhere yet
2016-04-08 13:48:13 +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
d648ce133e
Small changes to please GCC
2016-03-29 18:10:30 +02:00
Nikolaj Schlej
5557acd7d8
UT NE A23
...
- added UI for VSS storage operations
- changed VSS storage/vars parsing order
- solved problems with GUIDs as filenames
- Fsys, _FDC and other NVRAM formats TBD
2016-03-29 16:15:23 +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
5138a49591
Remove unneeded string conversion
2016-03-21 11:36:22 +01:00
Nikolaj Schlej
1f54d73f8c
GCC/Clang support
2016-03-21 11:00:10 +01:00
Nikolaj Schlej
95e5ee2496
Fix wrong GUIDs and release build
2016-03-21 10:19:02 +01: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
c5dfbe7924
Small fix
...
- corrected unneeded use of fromRawData
- removed unneeded empty string in postcode info
2016-03-08 08:36:45 +01:00
Nikolaj Schlej
867f507fac
GCC/Clang compatibility
...
- and some menu fixes
2016-03-01 09:52:25 +01: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