mirror of
https://github.com/platomav/BIOSUtilities.git
synced 2025-05-09 13:52:00 -04:00
BIOSUtilities v24.10.01
Complete repository overhaul into python project Re-designed BIOSUtility base template class flow Re-structured utilities as BIOSUtility inherited Re-structured project for 3rd-party compatibility Unified project requirements and package version Code overhaul with type hints and linting support Switched external executable dependencies via PATH BIOSUtility enforces simple check and parse methods Utilities now work with both path and buffer inputs Adjusted class, method, function names and parameters Improved Dell PFS Update Extractor sub-PFAT processing Improved Award BIOS Module Extractor corruption handling Improved Apple EFI Image Identifier to expose the EFI ID Improved Insyde iFlash/iFdPacker Extractor with ISH & PDT Re-written Apple EFI Package Extractor to support all PKG
This commit is contained in:
parent
ef50b75ae1
commit
cda2fbd0b1
65 changed files with 6239 additions and 5233 deletions
63
main.py
Normal file
63
main.py
Normal file
|
@ -0,0 +1,63 @@
|
|||
#!/usr/bin/env python3 -B
|
||||
# coding=utf-8
|
||||
|
||||
"""
|
||||
Copyright (C) 2018-2024 Plato Mavropoulos
|
||||
"""
|
||||
|
||||
from argparse import ArgumentParser, Namespace
|
||||
from pathlib import Path
|
||||
|
||||
from biosutilities.ami_pfat_extract import AmiPfatExtract
|
||||
from biosutilities.ami_ucp_extract import AmiUcpExtract
|
||||
from biosutilities.apple_efi_id import AppleEfiIdentify
|
||||
from biosutilities.apple_efi_im4p import AppleEfiIm4pSplit
|
||||
from biosutilities.apple_efi_pbzx import AppleEfiPbzxExtract
|
||||
from biosutilities.apple_efi_pkg import AppleEfiPkgExtract
|
||||
from biosutilities.award_bios_extract import AwardBiosExtract
|
||||
from biosutilities.dell_pfs_extract import DellPfsExtract
|
||||
from biosutilities.fujitsu_sfx_extract import FujitsuSfxExtract
|
||||
from biosutilities.fujitsu_upc_extract import FujitsuUpcExtract
|
||||
from biosutilities.insyde_ifd_extract import InsydeIfdExtract
|
||||
from biosutilities.panasonic_bios_extract import PanasonicBiosExtract
|
||||
from biosutilities.phoenix_tdk_extract import PhoenixTdkExtract
|
||||
from biosutilities.portwell_efi_extract import PortwellEfiExtract
|
||||
from biosutilities.toshiba_com_extract import ToshibaComExtract
|
||||
from biosutilities.vaio_package_extract import VaioPackageExtract
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main_argparser: ArgumentParser = ArgumentParser(allow_abbrev=False)
|
||||
|
||||
main_argparser.add_argument('input_files', nargs='+')
|
||||
main_argparser.add_argument('--output-folder', help='extraction folder')
|
||||
main_argparser.add_argument('--pause-exit', help='pause on exit', action='store_false')
|
||||
|
||||
main_arguments: Namespace = main_argparser.parse_args()
|
||||
|
||||
if main_arguments.output_folder:
|
||||
output_folder: Path = Path(main_arguments.output_folder)
|
||||
else:
|
||||
output_folder = Path(main_arguments.input_files[0]).parent
|
||||
|
||||
util_arguments: list[str] = [*main_arguments.input_files, '-e', '-o', str(output_folder.absolute())]
|
||||
|
||||
AmiUcpExtract(arguments=util_arguments).run_utility()
|
||||
AmiPfatExtract(arguments=util_arguments).run_utility()
|
||||
InsydeIfdExtract(arguments=util_arguments).run_utility()
|
||||
DellPfsExtract(arguments=util_arguments).run_utility()
|
||||
PhoenixTdkExtract(arguments=util_arguments).run_utility()
|
||||
PanasonicBiosExtract(arguments=util_arguments).run_utility()
|
||||
VaioPackageExtract(arguments=util_arguments).run_utility()
|
||||
PortwellEfiExtract(arguments=util_arguments).run_utility()
|
||||
ToshibaComExtract(arguments=util_arguments).run_utility()
|
||||
FujitsuSfxExtract(arguments=util_arguments).run_utility()
|
||||
FujitsuUpcExtract(arguments=util_arguments).run_utility()
|
||||
AwardBiosExtract(arguments=util_arguments).run_utility()
|
||||
AppleEfiPkgExtract(arguments=util_arguments).run_utility()
|
||||
AppleEfiPbzxExtract(arguments=util_arguments).run_utility()
|
||||
AppleEfiIm4pSplit(arguments=util_arguments).run_utility()
|
||||
AppleEfiIdentify(arguments=util_arguments).run_utility()
|
||||
|
||||
if main_arguments.pause_exit:
|
||||
input('Press any key to exit...')
|
Loading…
Add table
Add a link
Reference in a new issue