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