Commit Graph

117 Commits

Author SHA1 Message Date
Nikolaj Schlej
62d96a16df Fix extract body action 2023-02-21 16:55:53 -08:00
Nikolaj Schlej
7eb565d788 Switch AMI NVAR parser to Kaitai 2023-02-19 12:24:20 -08:00
Nikolaj Schlej
6f9dc0ab88 Fix Unicode search 2023-02-16 22:11:39 -08:00
Nikolaj Schlej
38854e945a Fuzzing: build with Qt6 support by default, enable all parsers 2023-02-13 18:13:23 -08:00
Nikolaj Schlej
209fbb6282 Add minimal libFuzzer-compatible harness for FfsParser 2023-02-13 16:56:53 -08:00
Nikolaj Schlej
24d61c4375 Enable UI dark mode detection for Linux and FreeBSD, switch to Qt6 for them too 2023-02-12 18:20:11 -08:00
Nikolaj Schlej
a5a0f55149 Add icons and desktop files to UEFITool install target for Linux and FreeBSD 2023-02-12 13:23:28 -08:00
Nikolaj Schlej
4053a8fe72 Add install targets to CMake files 2023-02-12 13:08:35 -08:00
Nikolaj Schlej
6232836fb6 Detect macOS dark aqua mode 2023-02-11 21:29:35 -08:00
Nikolaj Schlej
944133caa7 Automatically select dark colors for BootGuard markings in dark mode 2023-02-11 21:05:18 -08:00
Nikolaj Schlej
ef7ceefa41 Temporary change UI style for Qt6-based Windows build of UEFITool to support dark mode 2023-02-11 20:19:32 -08:00
Nikolaj Schlej
d48955d45a Add UEFITool win64 build with static Qt 6.4.2 2023-02-11 15:53:37 -08:00
Nikolaj Schlej
0c92f935e4 Add missing break 2023-02-08 00:38:47 -08:00
Nikolaj Schlej
180f061bcc Remove excessive file types for extracted data 2023-02-08 00:20:35 -08:00
Nikolaj Schlej
f02f828571 Add program version to About dialog box 2023-02-03 21:59:00 -08:00
Nikolaj Schlej
c9939e23ec Fix possible unaligned access to UCS2 strings 2023-01-31 20:15:12 -08:00
Nikolaj Schlej
b649b98cb5 Add support for Clang sanitizers for UEFITool
Only applied to CMake Debug builds, useful for debugging undefined behavior.
2023-01-31 17:48:20 -08:00
Nikolaj Schlej
fa5d744aac Fix an issue with search result text 2023-01-28 21:48:16 -08:00
Nikolaj Schlej
7337f15ec9 Implement parsing for AMD-specific Zlib-compressed GUIDed section
Fix incorrect overflow check in parsing volume block map
2022-12-23 22:49:37 -08:00
Nikolaj Schlej
862cdb1931 Set the font globally to fix an issue with HiDPI displays, update copyrights and organization name and domain 2022-12-07 12:25:57 -08:00
Nikolaj Schlej
5f134f783a Fix initialization issue spotted by PVS-Studio and Coverity 2022-11-12 06:14:57 -08:00
Mike Beaton
1d560bd0be Apply hex cleaning to search dialog paste operations
- Permits pasting to 'GUID' search directly from cpp representation
 - Provides hex cleaning (e.g. auto-remove 0x) in 'Hex pattern' search as well
2022-11-12 05:52:40 -08:00
Nikolaj Schlej
7d4e535c34 Make UEFITool buildable with Qt 6.2 and older 2022-09-28 05:58:53 +00: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
d6bf25df67 Add CodeQL, build everything for PVS-Studio 2022-09-02 23:11:39 +02:00
Nikolaj Schlej
787e02181a Run PVS-Studio static analyzer as part of CI/CD 2022-09-02 22:27:32 +02:00
Nikolaj Schlej
3977fcaed9 Add Qt6-only CMake file for UEFITool to use for CI/CD 2022-09-02 21:40:32 +02:00
Nikolaj Schlej
4006954bc1 Downcast all qtsizetype to UINT32 manually, apply consistent identation 2022-08-28 12:47:01 +02:00
vit9696
83548d4c8a Add new macOS style icon wrapper 2022-08-28 07:01:47 +03:00
Nikolaj Schlej
12f40cf289 - introduce Extract Uncompressed and Uncompressed Hex View actions for compressed items
- remove unused code to support Qt 5.5 and earlier Qt versions
- remove unused section parsing code
- add a check and description for section alignment quirk (compiled out for now)
2022-08-24 22:17:51 +02:00
joevt
f9c35f77a6 Improve firmware parser and tool robustness
closes #241
2021-10-07 18:51:39 +03:00
Vampire Cat
34c8ad8dcc
Updated code to support newer Qt versions (#237) 2021-04-04 12:09:23 +03:00
Nikolaj Schlej
115d338a70 Display non-ASCII-named FPT partition table entry names as hex (fixing #215) 2020-11-22 18:01:44 -08:00
p-state
8e189f88df
Print found item as "parent/child" path (#203) 2020-03-14 07:17:49 +03:00
p-state
0f31b1401e
Print parent's name in search results (#201) 2020-03-12 20:38:48 +03:00
p-state
07dbfa3f96
Allow to use enter/return key within list widgets to navigate (#200) 2020-03-12 20:38:22 +03:00
p-state
ac1f24ec77
Fix window is not in full screen mode after closing the app (#202) 2020-03-12 20:38:08 +03:00
vit9696
0f2ede398d Implement LZMAF86 support
references #197
2020-03-06 23:54:20 +03: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
d95e533441 Fix Dock drag and drop 2019-08-18 05:02:30 +03:00
Nikolaj Schlej
2e7aa8133a Initial ME parser, improved ucode parser, reset vector info 2019-07-24 10:30:59 -07:00
vit9696
f34894b9fd Add support for NVRAM_NVAR_PEI_EXTERNAL_DEFAULTS_FILE_GUID, fixes #163 2019-02-10 18:38:37 +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
4dcd6b26a3 Implement gzip unpacking, fixes #149 2018-11-11 16:33:13 +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