mirror of
https://github.com/platomav/BIOSUtilities.git
synced 2025-05-18 00:54:47 -04:00

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
63 lines
2.8 KiB
Python
63 lines
2.8 KiB
Python
#!/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...')
|