/BIOSUtilities

Various BIOS Utilities for Modding/Research

Primary LanguagePythonOtherNOASSERTION

BIOSUtilities

Various BIOS Utilities for Modding/Research

BIOS Utilities News Feed

Dell PFS Update Extractor

!!! OUTDATED !!!

Please use Dell_PFS_Extract from refactor branch

AMI UCP BIOS Extractor

!!! OUTDATED !!!

Please use AMI_UCP_Extract from refactor branch

AMI BIOS Guard Extractor

!!! OUTDATED !!!

Please use AMI_PFAT_Extract from refactor branch

Phoenix SCT BIOS Extractor

!!! OUTDATED !!!

Please use Phoenix_TDK_Extract from refactor branch

Insyde iFlash Image Extractor

!!! OUTDATED !!!

Please use Insyde_IFD_Extract from refactor branch

Portwell EFI BIOS Extractor

!!! OUTDATED !!!

Please use Portwell_EFI_Extract from refactor branch

Apple EFI Package Grabber

Description

Parses user-provided (DB) list of Apple Software Update CatalogURL .sucatalog links and saves all newer (since last run) EFI firmware package links into a text file. It removes any xml formatting, ignores false positives, removes duplicate links and sorts them in alphabetical order for easy comparison afterwards.

Usage

First, you need to familiarize a bit with the DB (i.e. Apple_EFI_Grab.dat file). It consists of 3 sections: Last run DateTime (YYYY-MM-DD HH:MM:SS), Sucatalog links to check and EFI Package links which have been gathered so far across all runs. Before running the utility for the fist time, you need to insert the Sucatalog links into the DB, below the 1st line (DateTime). The Sucatalog links in the DB are stored in partial form, starting from "index" string. For example: "https://swscan.apple.com/content/catalogs/others/index-12.merged-1.sucatalog" must be stored as "index-12.merged-1.sucatalog" in the DB. The Sucatalog links are not pre-included in the DB but you can find them online (e.g. https://github.com/zhangyoufu/swscan.apple.com/blob/master/url.txt).

Compatibility

Should work at all Windows, Linux or macOS operating systems which have Python 3.7 support.

Prerequisites

To run the python script, you need to have the following 3rd party Python module installed:

pip3 install urllib3

Build/Freeze/Compile with PyInstaller

PyInstaller can build/freeze/compile the utility at all three supported platforms, it is simple to run and gets updated often.

  1. Make sure Python 3.7.0 or newer is installed:

python --version

  1. Use pip to install PyInstaller:

pip3 install pyinstaller

  1. Use pip to install urllib3:

pip3 install urllib3

  1. Build/Freeze/Compile:

pyinstaller --noupx --onefile Apple_EFI_Grab.py

At dist folder you should find the final utility executable

Anti-Virus False Positives

Some Anti-Virus software may claim that the built/frozen/compiled executable contains viruses. Any such detections are false positives, usually of PyInstaller. You can switch to a better Anti-Virus software, report the false positive to their support, add the executable to the exclusions, build/freeze/compile yourself or use the Python script directly.

Apple EFI File Renamer

!!! OUTDATED !!!

Please use Apple_EFI_Identify from refactor branch

Apple EFI IM4P Splitter

!!! OUTDATED !!!

Please use Apple_EFI_Split from refactor branch

Apple EFI Package Extractor

Description

Parses Apple EFI firmware packages (i.e. FirmwareUpdate.pkg, BridgeOSUpdateCustomer.pkg), extracts their EFI images, splits those in IM4P format and renames the final SPI/BIOS images accordingly. The utility automatically uses the free version of AnyToISO to extract the EFI .pkg files. The subsequent IM4P splitting and EFI renaming requires the presence of "Apple EFI IM4P Splitter" and "Apple EFI File Renamer" utilities.

Usage

You can either Drag & Drop or manually enter the full path of a folder containing Apple EFI firmware package (.pkg) files. Depending on where AnyToISO is installed on your system, you must change the "anytoiso_path" variable accordingly.

Download

An already built/frozen/compiled binary is not provided because the script requires the user to set the AnyToISO executable path variable. Remember that you need to include prerequisites such as AnyToISO, Apple EFI IM4P Splitter and Apple EFI File Renamer for the utility to work.

Compatibility

Should work at all Windows & macOS operating systems which have Python 3.7 and AnyToISO support.

Prerequisites

To run the python script, you need to have the following 3rd party tools installed or placed at the same directory:

Build/Freeze/Compile with PyInstaller

PyInstaller can build/freeze/compile the utility at all three supported platforms, it is simple to run and gets updated often. Note that, due to this utility's nature, you may need to perform some small script changes for a built/frozen/compiled binary to work.

  1. Make sure Python 3.7.0 or newer is installed:

python --version

  1. Use pip to install PyInstaller:

pip3 install pyinstaller

  1. Build/Freeze/Compile:

pyinstaller --noupx --onefile Apple_EFI_Package.py

At dist folder you should find the final utility executable

Anti-Virus False Positives

Some Anti-Virus software may claim that the built/frozen/compiled executable contains viruses. Any such detections are false positives, usually of PyInstaller. You can switch to a better Anti-Virus software, report the false positive to their support, add the executable to the exclusions, build/freeze/compile yourself or use the Python script directly.

Panasonic BIOS Update Extractor

!!! OUTDATED !!!

Please use Panasonic_BIOS_Extract from refactor branch

VAIO Packaging Manager Extractor

!!! OUTDATED !!!

Please use VAIO_Package_Extract from refactor branch

Fujitsu UPC BIOS Extractor

!!! OUTDATED !!!

Please use Fujitsu_UPC_Extract from refactor branch

Fujitsu SFX BIOS Extractor

!!! OUTDATED !!!

Please use Fujitsu_SFX_Extract from refactor branch

Award BIOS Module Extractor

!!! OUTDATED !!!

Please use Award_BIOS_Extract from refactor branch