mirror of
https://github.com/platomav/BIOSUtilities.git
synced 2025-05-09 13:52:00 -04:00
BIOSUtilities v25.04.02
Improved UAF module detection at AMI UCP Extract Fixed crashes at Dell PFS and Award BIOS Extract Upgraded dependency "dissect.util" to 3.20
This commit is contained in:
parent
40553b3244
commit
a0e0ae7557
9 changed files with 21 additions and 12 deletions
|
@ -1,3 +1,9 @@
|
|||
25.04.02
|
||||
|
||||
Improved UAF module detection at AMI UCP Extract
|
||||
Fixed crashes at Dell PFS and Award BIOS Extract
|
||||
Upgraded dependency "dissect.util" to 3.20
|
||||
|
||||
25.02.23
|
||||
|
||||
Fixed AMI PFAT Extract file naming of "ALL" and "OOB"
|
||||
|
|
|
@ -26,7 +26,7 @@ There are two main types of requirements, depending on the utility: "Python Pack
|
|||
#### Python Packages
|
||||
|
||||
* [pefile](https://pypi.org/project/pefile/2023.2.7/)
|
||||
* [dissect.util](https://pypi.org/project/dissect.util/3.19/)
|
||||
* [dissect.util](https://pypi.org/project/dissect.util/3.20/)
|
||||
|
||||
Python packages can be installed via Pypi (e.g. pip)
|
||||
|
||||
|
@ -37,7 +37,7 @@ python -m pip install --upgrade -r requirements.txt
|
|||
or
|
||||
|
||||
``` bash
|
||||
python -m pip install pefile==2023.2.7 dissect.util==3.19
|
||||
python -m pip install pefile==2023.2.7 dissect.util==3.20
|
||||
```
|
||||
|
||||
#### External Executables / Scripts
|
||||
|
|
|
@ -5,4 +5,4 @@
|
|||
Copyright (C) 2018-2025 Plato Mavropoulos
|
||||
"""
|
||||
|
||||
__version__ = '25.02.23'
|
||||
__version__ = '25.04.02'
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"""
|
||||
AMI UCP Extract
|
||||
AMI UCP Update Extractor
|
||||
Copyright (C) 2021-2024 Plato Mavropoulos
|
||||
Copyright (C) 2021-2025 Plato Mavropoulos
|
||||
"""
|
||||
|
||||
import contextlib
|
||||
|
@ -341,6 +341,9 @@ class AmiUcpExtract(BIOSUtility):
|
|||
|
||||
uaf_mod_len: int = uaf_hdr.ModuleSize
|
||||
|
||||
if uaf_mod_len < 0x400:
|
||||
continue
|
||||
|
||||
uaf_mod_dat: bytes = uaf_mod_buf[:uaf_mod_len]
|
||||
|
||||
if uaf_mod_len != len(uaf_mod_dat):
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"""
|
||||
Award BIOS Extract
|
||||
Award BIOS Module Extractor
|
||||
Copyright (C) 2018-2024 Plato Mavropoulos
|
||||
Copyright (C) 2018-2025 Plato Mavropoulos
|
||||
"""
|
||||
|
||||
import os
|
||||
|
@ -52,7 +52,7 @@ class AwardBiosExtract(BIOSUtility):
|
|||
|
||||
continue
|
||||
|
||||
if len(mod_bin) >= 0x16:
|
||||
if len(mod_bin) > 0x16:
|
||||
tag_txt: str = safe_name(in_name=mod_bin[0x16:0x16 + mod_bin[0x15]].decode('utf-8', 'ignore').strip())
|
||||
else:
|
||||
tag_txt = f'{mod_bgn:X}_{mod_end:X}'
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"""
|
||||
Dell PFS Extract
|
||||
Dell PFS Update Extractor
|
||||
Copyright (C) 2018-2024 Plato Mavropoulos
|
||||
Copyright (C) 2018-2025 Plato Mavropoulos
|
||||
"""
|
||||
|
||||
import contextlib
|
||||
|
@ -431,7 +431,7 @@ class DellPfsExtract(BIOSUtility):
|
|||
header_data: bytes = zlib_data[header_start:compressed_start]
|
||||
|
||||
# Check if the PFS ZLIB section header Checksum XOR 8 is valid
|
||||
if checksum_8_xor(data=header_data[:0xF]) != header_data[0xF]:
|
||||
if len(header_data) > 0xF and checksum_8_xor(data=header_data[:0xF]) != header_data[0xF]:
|
||||
printer(message='Error: Invalid Dell PFS ZLIB section Header Checksum!', padding=padding)
|
||||
|
||||
is_zlib_error = True
|
||||
|
@ -461,7 +461,7 @@ class DellPfsExtract(BIOSUtility):
|
|||
is_zlib_error = True
|
||||
|
||||
# Check if the PFS ZLIB section footer Checksum XOR 8 is valid
|
||||
if checksum_8_xor(data=footer_data[:0xF]) != footer_data[0xF]:
|
||||
if len(footer_data) > 0xF and checksum_8_xor(data=footer_data[:0xF]) != footer_data[0xF]:
|
||||
printer(message='Error: Invalid Dell PFS ZLIB section Footer Checksum!', padding=padding)
|
||||
|
||||
is_zlib_error = True
|
||||
|
|
|
@ -34,7 +34,7 @@ classifiers = [
|
|||
]
|
||||
|
||||
[project.optional-dependencies]
|
||||
lznt1 = ["dissect.util == 3.19"]
|
||||
lznt1 = ["dissect.util == 3.20"]
|
||||
pefile = ["pefile == 2023.2.7"]
|
||||
|
||||
[project.urls]
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
mypy==1.15.0
|
||||
pylint==3.3.4
|
||||
pylint==3.3.6
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
dissect.util==3.19
|
||||
dissect.util==3.20
|
||||
pefile==2023.2.7
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue