Commit Graph

198 Commits

Author SHA1 Message Date
vit9696
5edd5c10ee Fix potential bugs found with static analysis 2019-03-26 14:22:51 +03:00
vit9696
2cbd78fb9e Fix directory creation error in UEFIExtract default mode 2019-03-08 03:07:58 +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
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