From 010b5a47d4a9506da350745bbc1f658fde15ccdf Mon Sep 17 00:00:00 2001 From: Plato Mavropoulos Date: Thu, 17 Oct 2024 20:53:04 +0300 Subject: [PATCH] BIOSUtilities v24.10.17 Fixed "skip user action prompts" argument being ignored Improved AMI UCP tag dictionary for better NAL parsing --- CHANGELOG | 5 +++++ README.md | 10 +++++----- biosutilities/__init__.py | 2 +- biosutilities/ami_ucp_extract.py | 7 ++++--- biosutilities/insyde_ifd_extract.py | 2 +- biosutilities/portwell_efi_extract.py | 2 +- requirements-dev.txt | 2 +- 7 files changed, 18 insertions(+), 12 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 47472a0..43e3919 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,8 @@ +24.10.17 + +Fixed "skip user action prompts" argument being ignored +Improved AMI UCP tag dictionary for better NAL parsing + 24.10.09 Added Apple EFI EFI Image Identifier new argument -q diff --git a/README.md b/README.md index 9600b41..4dca9d5 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,7 @@ Enter output directory path: "C:\P5405CSA.303_output" All utilities form the "biosutilities" python package, which can be installed from PyPi: ``` bash -python -m pip install --upgrade biosutilities +python -m pip install --upgrade biosutilities[pefile,lznt1] ``` Installing the python package is the recommended way to call one or more utilities programatically, while fully controlling arguments and options. @@ -411,8 +411,8 @@ No additional optional arguments are provided for this utility. To run the utility, you must have the following 3rd party Python modules installed: -* [pefile](https://pypi.org/project/pefile/) -* [dissect.util](https://pypi.org/project/dissect.util/) +* [pefile](https://pypi.org/project/pefile/2023.2.7/) +* [dissect.util](https://pypi.org/project/dissect.util/3.18/) Moreover, you must have the following 3rd party tool at PATH or "external": @@ -432,7 +432,7 @@ No additional optional arguments are provided for this utility. To run the utility, you must have the following 3rd party Python module installed: -* [pefile](https://pypi.org/project/pefile/) +* [pefile](https://pypi.org/project/pefile/2023.2.7/) ### Portwell EFI Update Extractor @@ -448,7 +448,7 @@ No additional optional arguments are provided for this utility. To run the utility, you must have the following 3rd party Python module installed: -* [pefile](https://pypi.org/project/pefile/) +* [pefile](https://pypi.org/project/pefile/2023.2.7/) Moreover, you must have the following 3rd party tool at PATH or "external": diff --git a/biosutilities/__init__.py b/biosutilities/__init__.py index b48bc45..e212ce1 100644 --- a/biosutilities/__init__.py +++ b/biosutilities/__init__.py @@ -5,4 +5,4 @@ Copyright (C) 2018-2024 Plato Mavropoulos """ -__version__ = '24.10.09' +__version__ = '24.10.17' diff --git a/biosutilities/ami_ucp_extract.py b/biosutilities/ami_ucp_extract.py index db1332c..c6bd9e6 100644 --- a/biosutilities/ami_ucp_extract.py +++ b/biosutilities/ami_ucp_extract.py @@ -215,6 +215,8 @@ class AmiUcpExtract(BIOSUtility): '@CML': ['CMOSD4.txt', 'CMOS Item Number-Value (MSI)', 'Text'], '@CMS': ['CMOSD4.exe', 'Get or Set CMOS Item (MSI)', ''], '@CPM': ['AC_Message.txt', 'Confirm Power Message', ''], + '@D32': ['amifldrv32.sys', 'amifldrv32.sys', ''], + '@D64': ['amifldrv64.sys', 'amifldrv64.sys', ''], '@DCT': ['DevCon32.exe', 'Device Console WIN32', ''], '@DCX': ['DevCon64.exe', 'Device Console WIN64', ''], '@DFE': ['HpDevFwUpdate.efi', 'HpDevFwUpdate.efi', ''], @@ -249,8 +251,7 @@ class AmiUcpExtract(BIOSUtility): '@VER': ['OEM_Version.txt', 'OEM Version', 'Text'], '@VXD': ['amifldrv.vxd', 'amifldrv.vxd', ''], '@W32': ['amifldrv32.sys', 'amifldrv32.sys', ''], - '@W64': ['amifldrv64.sys', 'amifldrv64.sys', ''], - '@D64': ['amifldrv64.sys', 'amifldrv64.sys', ''] + '@W64': ['amifldrv64.sys', 'amifldrv64.sys', ''] } def check_format(self, input_object: str | bytes | bytearray) -> bool: @@ -420,7 +421,7 @@ class AmiUcpExtract(BIOSUtility): not uaf_tag.startswith(('@ROM', '@R0', '@S0', '@DR', '@DS')): printer(message=f'Note: Detected new AMI UCP Module {uaf_tag} ({nal_dict[uaf_tag][1]}) in @NAL!', - padding=padding + 4, pause=True) + padding=padding + 4, pause=not self.arguments.auto_exit) # Generate @UAF|@HPU Module File name, depending on whether decompression will be required uaf_sname: str = safe_name(in_name=uaf_name + ('.temp' if is_comp else uaf_fext)) diff --git a/biosutilities/insyde_ifd_extract.py b/biosutilities/insyde_ifd_extract.py index 77b6318..ec457e8 100644 --- a/biosutilities/insyde_ifd_extract.py +++ b/biosutilities/insyde_ifd_extract.py @@ -169,7 +169,7 @@ class InsydeIfdExtract(BIOSUtility): if img_val == [img_tag, img_ext]: printer(message=f'Note: Detected new Insyde iFlash tag {img_tag}!', - padding=padding + 12, pause=True) + padding=padding + 12, pause=not self.arguments.auto_exit) out_name: str = f'{img_name}.{img_ext}' diff --git a/biosutilities/portwell_efi_extract.py b/biosutilities/portwell_efi_extract.py index 21aebcd..4368997 100644 --- a/biosutilities/portwell_efi_extract.py +++ b/biosutilities/portwell_efi_extract.py @@ -146,7 +146,7 @@ class PortwellEfiExtract(BIOSUtility): if file_name.startswith('Unknown_'): printer(message=f'Note: Detected new Portwell EFI file ID {file_index}!', - padding=padding + 8, pause=True) + padding=padding + 8, pause=not self.arguments.auto_exit) # Store EFI file output path file_path: str = os.path.join(extract_path, safe_name(in_name=file_name)) diff --git a/requirements-dev.txt b/requirements-dev.txt index 10c0529..bd8229c 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,2 +1,2 @@ -mypy==1.11.2 +mypy==1.12.0 pylint==3.3.1