Commit graph

682 commits

Author SHA1 Message Date
Nikolaj Schlej
936b09dbf4 1) Added special subspecifier "h" for specifier "X" (hex values print), added corresponding menu option and application setting to UEFITool.
2) Fixed QHexView misalignment in Windows and macOS.
3) Added some more analysis to raw files and sections: raw files can (or can not) contain sections, raw sections can contain NVAR storage or PE/TE.
4) Improved CPU base address detection and propagation.
5) Improved FIT recognition.
7) ME region not displayed if it is in unknown format, fixed this because we still want to operate with it.
8) Small changes to Flash Descriptor parsing to get more cases for valid "Intel image". To get rid of cases when "Intel image" is already in tree but with parse error because of which "UEFI image" appears.
9) Added parsing of individual UEFI-files (these can be trimmed from UEFI-volume), displaying it as "UEFI volume part".
10) Added possibility to view/save contents of elements "Free volume space", "Free space" and such, because these can be non-empty.
11) Added info about blocks number and block size (with preliminary and stupid validity check) to volume info.
12) Added storage in settings of the following paths: open image file, save image file, open GUIDs file.
13) Added last opened files list.
14) Added permanent opened file name string to the end of the status bar.
15) Added opened file changes tracking: if the file was modified in other program while it is opened in UEFITool, there are 3 ways to act: a) ignore changes (but mark file path displayed in the status bar with italic font); b) ask user to reopen or ignore (if ignore, mark as in a); c) auto reopen changed file in UEFITool. If changes were in some way ignored, file path displayed in the right of the status bar will be marked with italic font and then become clickable: on click request to reopen appears again.
16) Switched to offset/size instead of byte array storing in each tree item.
17) For clarity - added icons to key tree items (compressed and with contents, contents now must be in root item only).
18) For usability - added expanding tree on open image (to depth level 1) and by menu command (expand all).
2025-04-23 21:44:00 +03:00
Nikolaj Schlej
7cea8ee512 Remove outdated definition of FLASH_PARAMETERS 2025-04-14 18:08:12 +07:00
Nikolaj Schlej
c38ed925b0 Add missing header comments to goto*dialog.h 2025-04-14 17:58:23 +07:00
yangfl
22bb757726 Remove PATH_MAX from realpath
POSIX.1-2008 ensures realpath() give a dynamically allocated buffer if
NULL is passed, which avoids using PATH_MAX, which may be too large to
fit in stack, or even undefined on some systems.
2025-03-19 15:25:03 +07:00
Nikolaj Schlej
d61d759db2 Make sure to wrap all uses of kaitai::kstream into try-catch blocks 2025-03-16 23:37:10 +07:00
Nikolaj Schlej
7ef371957a Add initial support for Insyde H2O FlashDeviceMap rev4 2025-03-16 23:12:56 +07:00
Nikolaj Schlej
97a85f9ddc Add Microsoft LZMA section GUID 2025-03-14 07:13:06 +07:00
Nikolaj Schlej
a077743de8 Bump version numbers 2025-03-13 19:50:36 +07:00
Nikolaj Schlej
07742a5069 Update GUID database 2025-03-13 19:30:12 +07:00
Nikolaj Schlej
a12be6bfc7 Address review comments 2025-03-13 19:27:55 +07:00
Nikolaj Schlej
9719b0cf03 Update copyright and authors in About UEFITool window 2025-03-13 19:27:55 +07:00
Nikolaj Schlej
fbf6afdfc8 Expand Type column of the report to fit new FlashDeviceMap store and entry types 2025-03-13 19:27:55 +07:00
Nikolaj Schlej
3cb5dc0165 Add SLIC pubkey and marker parsers 2025-03-13 19:27:55 +07:00
Nikolaj Schlej
fd0faea9ea Add Phoenix CMDB parser 2025-03-13 19:27:55 +07:00
Nikolaj Schlej
01e2e0877b Add FFS volume parser for non-AMI NVRAM areas 2025-03-13 19:27:55 +07:00
Nikolaj Schlej
4e2a8f6bd7 Add Intel uCode parser 2025-03-13 19:27:55 +07:00
Nikolaj Schlej
58366f48fe Add Insyde Flash Device Map parser 2025-03-13 19:27:55 +07:00
Nikolaj Schlej
b98edf6944 Add Phoenix EVSA parser 2025-03-13 19:27:55 +07:00
Nikolaj Schlej
f989fdfea1 Add Phoenix FlashMap parser 2025-03-13 19:27:55 +07:00
Nikolaj Schlej
4e600eb986 Add Apple SysF/Diag parser 2025-03-13 19:27:55 +07:00
Nikolaj Schlej
2d6eaa917f Add EDK2 FTW parser 2025-03-13 19:27:55 +07:00
Nikolaj Schlej
ca7d4caa7a Add Insyde FDC parser 2025-03-13 19:27:55 +07:00
Nikolaj Schlej
34904bdc5d Add KaitaiStruct parsing of Phoenix VSS2 2025-03-13 19:27:55 +07:00
Nikolaj Schlej
489b85fd98 Rewrite VSS and VSS2 NVRAM variable parsers in KaitaiStruct 2025-03-13 19:27:55 +07:00
Nikolaj Schlej
2661b8fe4b Remove manual NVRAM parsing, add EDK2 VSS parser written in KaitaiStruct 2025-03-13 19:27:55 +07:00
Vitaly Cheptsov
d91115ff78
Also sign UEFIFind and UEFIExtract for macOS 2025-02-24 10:10:14 +03:00
Vitaly Cheptsov
0fae05c2cb
Add adhoc signature to UEFITool on macOS
Modern macOS version require applications to be signed to run
2025-02-23 20:05:16 +03:00
Vitaly Cheptsov
5e6a1c7119
Fix CFBundleIdentifier in UEFITool Info.plist
CMake does not expand Xcode-like variable sequences.
The value now matches .cpp file.
2025-02-23 19:50:39 +03:00
Nikolaj Schlej
8d7e01c027 Make sure to initialize counterUncData 2025-02-21 12:15:01 +07:00
Nikolaj Schlej
b1ad055eef Bump version numbers 2025-02-21 11:46:53 +07:00
Nikolaj Schlej
7dd9014a38 Update GUID database 2025-02-21 11:21:21 +07:00
Nikolaj Schlej
4e3fa5899c Update QHexView, build it as a library for Qt6 builds 2025-02-21 11:09:10 +07:00
Nikolaj Schlej
369f10188c Enable building ffsparser_fuzzer during CI/CD, improve readUnaligned to silence Clang UBSAN 2025-02-14 12:00:37 +01:00
Nikolaj Schlej
ff42cecb07 UEFIExtract: add support for extracting uncompressedData for tree items that have it 2025-02-14 07:19:09 +01:00
Nikolaj Schlej
c94f78a530 Add missing common/LZMA/SDK/C/7zWindows.h 2025-02-14 06:53:27 +01:00
Nikolaj Schlej
b5756f9ccb Revert old patch from common/LZMA/SDK/C/CpuArch.c 2025-02-14 06:51:07 +01:00
Nikolaj Schlej
65fb4a86b6 Update LZMA SDK to 24.09 2025-02-14 06:45:33 +01:00
Nikolaj Schlej
e66bc7d8dc Apply a small patch to common/zlib/gzguts.h to fix a build issue in macOS 2025-02-14 05:22:05 +01:00
Nikolaj Schlej
dcf21fa50a Update built-in zlib to 1.3.1 2025-02-14 05:07:30 +01:00
Nikolaj Schlej
0af36bdcd9 Fix an issue with kaitai_regenerate.sh creating backup files on modern macOS 2025-02-14 04:58:59 +01:00
Nikolaj Schlej
fd76e896cc
Update README.md 2025-02-14 03:33:37 +01:00
Nikolaj Schlej
427d8ecdcb
Update README.md 2025-02-13 01:28:06 +01:00
Nikolaj Schlej
a824260064 Add MX77L12850F 2025-02-13 01:09:48 +01:00
Nikolaj Schlej
a777f1fa5f
Update main.yml 2025-02-12 10:12:41 +01:00
Nikolaj Schlej
5f2337741a
Update main.yml 2025-02-12 10:10:31 +01:00
Nikolaj Schlej
932120cb36
Use x64 macos-13 runner for FreeBSD in main.yml 2025-02-12 09:56:49 +01:00
Nikolaj Schlej
a8c008cf74
Update macos-12 to macos-latest in main.yml 2025-02-12 09:41:49 +01:00
Nikolaj Schlej
6b853f8caf
Fix SonarCube Scan action version 2025-02-12 09:33:28 +01:00
Nikolaj Schlej
66565a557a
Try using new SonarCube scan action 2025-02-12 09:31:22 +01:00
Nikolaj Schlej
371448d0ec Enable long file paths for UEFIFind 2025-02-12 09:16:42 +01:00