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
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue