Savva
f863caac9d
Update GUID database ( #161 )
2019-01-29 21:15:05 +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
40b77a713f
Fix typos
2019-01-07 23:01:04 +03:00
vit9696
d16c438069
Implement dumping GUIDs from firmware and add more to builtin database
2019-01-07 19:26:31 +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
f074dfc5ca
More SPI chips (thx 4.8.4)
2018-12-11 14:51:26 +03:00
vit9696
e1c0b08fc0
Fix analyser issues
2018-11-14 19:17:06 +03:00
vit9696
2201a9b10c
Workaround dir removal on current dir on windows
2018-11-12 14:49:35 +03:00
vit9696
8932aebc02
Backport decompressor untrusted data fixes from EDK2
2018-11-12 09:25:04 +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
126b36a672
Fix windows compilation
2018-10-10 17:25:31 +03:00
vit9696
49e8e02b77
Remove debug code added by mistake
2018-10-10 17:23:45 +03:00
vit9696
7e1e1ab61e
Bugfixes for #147
2018-10-10 17:20:00 +03:00
vit9696
337da5e632
Provide scanf with unsigned for strict compliance
2018-10-08 23:42:41 +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
8f6c8ef5cc
Untie guid database from Qt
2018-08-02 05:37:09 +03:00
vit9696
f666fe63db
Fix compilation on Linux
2018-08-02 03:54:45 +03:00
vit9696
ee6ce579e3
Fix compilation
2018-08-02 03:51:52 +03:00
vit9696
4d50d581fa
Remove Qt deps from UEFIFind and fix issues
2018-08-02 03:41:11 +03:00
vit9696
c9db871c12
Rough attempt to deglue UEFIExtract from Qt
2018-07-13 00:17:08 +03:00
vit9696
0a2f115056
Fix some warnings
2018-07-12 22:56:51 +03:00
vit9696
4f6efe5195
Add more chip IDs, thank you Google
2018-06-02 19:27:24 +03:00
vit9696
4ab4393632
Watch out for invalid variables
2018-05-08 19:33:00 +03:00
vit9696
f352fa0cab
Sync tianocompress with upstream and more warning fixes
2018-05-08 19:02:25 +03:00
vit9696
9ee937a429
Include offset in FfsReport
2018-05-08 18:44:49 +03:00
vit9696
cf01543f06
Silence analyzer warnings and fix potential issues
2018-05-08 18:42:16 +03:00
vit9696
bbdfe28449
Fix and reindent LZMA
2018-05-08 18:16:28 +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
b35193b3df
Fix a compiler warning
2018-05-07 20:55:25 +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
vit9696
268ccb00a8
Backport TianoDecompress fix for Xcode ( https://bugzilla.tianocore.org/show_bug.cgi?id=635 )
2018-05-04 20:48:02 +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
9b85fac61b
UEFIFind and nvramparser.cpp bugfixes
2017-07-22 21:43:20 +03:00
Cr4sh
227be5480e
NE Alpha 41
2017-07-08 22:31:57 +03:00
Velocet
7773e31c47
Update guids.csv
...
- Consolidated with https://gist.github.com/skochinsky/3b8f948bfef6f8b32c0577ac018bdaf9 from @skochinsky
- Some duplicates removed
2017-04-27 00:45:17 +02:00
Cr4sh
0f0bc32a42
NE Alpha 40
2017-02-14 09:39:16 +03:00
Cr4sh
7b18f346dd
NE Alpha 39
2017-02-12 10:28:33 +03:00
Cr4sh
0e09dfe1b2
NE Alpha 38
2017-01-14 03:24:56 +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
f90427229d
Refactoring
2016-07-16 09:08:41 +02:00
Nikolaj Schlej
4745d61905
Freeing from C++11-only features
2016-07-15 23:59:29 -07:00
Nikolaj Schlej
f3a6aba4c4
Add algorithm include
...
- as std::count and std::reverse are used
2016-07-16 07:42:03 +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
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
4381bc6103
Bugfix for UE 0.12.2
...
- some testing code leaked to UE, reverted
2016-07-09 11:18:11 +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
80b85cbf19
Unix compatibility for UD 0.1.0
...
- a few naming changes and then the release, yay
2016-07-09 08:50:34 +02:00
Nikolaj Schlej
7bae8e040c
UEFIDump 0.1.0 for Windows
...
- Linux and OSX will be done in next commit
2016-07-09 08:31:08 +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
Nikolaj Schlej
71ce2a07b2
UE 0.12.0
...
- added report generation
- added "none" parameter
- fixed some typos
2016-06-25 12:22:28 +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
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
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
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
d6909fe9b6
Moved '_' symbol in structure definitions to comply with C/C++ standards
...
Thanks to @elfring
2016-04-09 13:47:28 +02:00
Nikolaj Schlej
ba0779b415
Removed checks for NULL before calling delete or free
2016-04-09 13:18:10 +02:00
Nikolaj Schlej
80a2d57f62
Removed '_' symbols in include guards
...
which are violating DCL51-CPP rule, closing #46
2016-04-09 12:47:19 +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
0184dc991c
Small fix for ffsBuilder
...
-found by static analysis
2016-03-21 11:34:45 +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
4a7bacb270
Add forgotten include
2016-03-01 08:24:50 +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
Nikolaj Schlej
b7ec76e091
UT NE A20
...
- added missing warning message for signed GUIDed sections
- solved section duplication problem introduced in A19
2016-02-09 12:00:28 +01:00
Nikolaj Schlej
645b50538a
Fix clang compilation error
...
- Non-const lvalue reference can’t bind to temporary object. Makes
sense, but compiles by MSVC.
2016-02-02 02:21:55 +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
61a1e98403
UT NE A18
...
- fixed a bug in findNextVolume
- added recursive function to add offset information
- fixed and compressed attributes are now visible too
2016-01-28 00:22:01 +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
1b1bad423e
Revert changes to parseUiSectionBody
...
- surprisingly, this breaks too many things
2015-12-12 22:37:53 +01:00
Nikolaj Schlej
12fe8bf29c
Fix a warning spotted by clang
...
- signed int compared to unsigned
2015-12-12 21:05:53 +01:00
Nikolaj Schlej
4c79001b12
Added valid checksum values
...
- valid checksums is now shown, if item checksum is invalid
2015-12-12 20:09:37 +01:00
Nikolaj Schlej
8c05b4da6a
UT A16
...
- added various size checks to prevent crashes found by fuzzing with AFL
- rewritten parsing of GUID-defined sections
2015-12-12 10:59:38 +01:00
Nikolaj Schlej
5fd8edf0be
Fix #38
...
- added a flag to use FV GUIDs as folder names even if they have
non-empty text fields. Thanks to OsxReverser for #38 .
2015-11-10 18:35:16 +01:00
Nikolaj Schlej
2443560c1d
Qt4 compatibility
2015-11-02 21:48:00 +01:00
Nikolaj Schlej
49190d04dd
UT NE A15
...
- fix for #37
- hide/show FIT tab
2015-10-05 10:21:33 +02:00
Nikolaj Schlej
41e3ccf692
Corrected tail append on extraction
2015-10-01 08:53:26 +02:00
Nikolaj Schlej
2d33206d29
Corrected #34
2015-10-01 08:25:41 +02: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
b8317ac4f2
Port of latest descriptor handling changes from master
...
- added Skylake+ descriptor format support
2015-09-12 22:53:07 +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
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
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
Nikolaj Schlej
f3d731c599
Frame for FIT support
2015-07-05 06:20:03 +02:00
Nikolaj Schlej
87bd80b72c
NE_alpha4
...
- second pass of parsing to add physical memory addresses to all
uncompressed items in the tree
- TE image revisions can be detected now
- more builder routines, but still not ready for enabling
- PE and TE header info is back
2015-06-19 20:26:45 +02:00
Nikolaj Schlej
6a63d1f431
UE 0.10.1
...
- Extract only by listed file GUIDs is now possible for UE
- Postcodes must be hexadecimal
2015-05-17 11:45:32 +02:00
Nikolaj Schlej
8f7cc0d20e
NE_alpha3
...
- some work done on ffsBuilder, still much to do
- added more PE types
- better names for utility.h functions
2015-05-14 19:15:19 +02:00
Nikolaj Schlej
b429c74bcf
GCC compatibility update
...
- changed paths and init sequences
2015-04-04 15:22:52 +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