Various BIOS Utilities for Modding/Research
- Dell PFS Update Extractor [use Dell_PFS_Extract from refactor branch]
- AMI UCP BIOS Extractor [use AMI_UCP_Extract from refactor branch]
- AMI BIOS Guard Extractor [use AMI_PFAT_Extract from refactor branch]
- Phoenix SCT BIOS Extractor [use Phoenix_TDK_Extract from refactor branch]
- Insyde iFlash Image Extractor
- Portwell EFI BIOS Extractor [use Portwell_EFI_Extract from refactor branch]
- Panasonic BIOS Update Extractor [use Panasonic_BIOS_Extract from refactor branch]
- VAIO Packaging Manager Extractor [use VAIO_Package_Extract from refactor branch]
- Fujitsu UPC BIOS Extractor
- Fujitsu SFX BIOS Extractor
- Award BIOS Module Extractor
- Apple EFI Package Grabber
- Apple EFI File Renamer
- Apple EFI IM4P Splitter
- Apple EFI Package Extractor
Please use Dell_PFS_Extract from refactor branch
Please use AMI_UCP_Extract from refactor branch
Please use AMI_PFAT_Extract from refactor branch
Please use Phoenix_TDK_Extract from refactor branch
Parses Insyde iFlash images and extracts their raw components (e.g. SPI/BIOS/UEFI, EC, ME, Flasher, Configuration etc).
You can either Drag & Drop or manually enter the full path of a folder containing Insyde iFlash images. Optional arguments:
- -h or --help : show help message and exit
- -v or --verbose : show iFlash structure information
- -e or --auto-exit : skip press enter to exit prompts
- -o or --output-dir : extract in given output directory
- -i or --input-dir : extract from given input directory
An already built/frozen/compiled binary is provided by me for Windows only. Thus, you don't need to manually build/freeze/compile it under Windows. Instead, download the latest version from the Releases tab. To extract the already built/frozen/compiled archive, you need to use programs which support RAR5 compression. Note that you need to manually apply any prerequisites.
Should work at all Windows, Linux or macOS operating systems which have Python 3.7 support. Windows users who plan to use the already built/frozen/compiled binary must make sure that they have the latest Windows Updates installed which include all required "Universal C Runtime (CRT)" libraries.
To run the utility, you do not need any 3rd party tool.
PyInstaller can build/freeze/compile the utility at all three supported platforms, it is simple to run and gets updated often.
- Make sure Python 3.7.0 or newer is installed:
python --version
- Use pip to install PyInstaller:
pip3 install pyinstaller
- Build/Freeze/Compile:
pyinstaller --noupx --onefile Insyde_iFlash_Extract.py
At dist folder you should find the final utility executable
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.
Please use Portwell_EFI_Extract from refactor branch
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.
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).
Should work at all Windows, Linux or macOS operating systems which have Python 3.7 support.
To run the python script, you need to have the following 3rd party Python module installed:
pip3 install urllib3
PyInstaller can build/freeze/compile the utility at all three supported platforms, it is simple to run and gets updated often.
- Make sure Python 3.7.0 or newer is installed:
python --version
- Use pip to install PyInstaller:
pip3 install pyinstaller
- Use pip to install urllib3:
pip3 install urllib3
- Build/Freeze/Compile:
pyinstaller --noupx --onefile Apple_EFI_Grab.py
At dist folder you should find the final utility executable
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.
Parses Apple EFI files and renames them based on Intel's official
You can either Drag & Drop or manually enter the full path of a folder containing Apple EFI firmware.
An already built/frozen/compiled binary is provided by me for Windows only. Thus, you don't need to manually build/freeze/compile it under Windows. Instead, download the latest version from the Releases tab. To extract the already built/frozen/compiled archive, you need to use programs which support RAR5 compression. Note that you need to manually apply any prerequisites.
Should work at all Windows, Linux or macOS operating systems which have Python 3.7 support. Windows users who plan to use the already built/frozen/compiled binary must make sure that they have the latest Windows Updates installed which include all required "Universal C Runtime (CRT)" libraries.
To run the python script or its built/frozen/compiled binary, you need to have the following 3rd party tools at the same directory:
- UEFIFind (i.e. UEFIFind.exe)
- UEFIExtract (i.e. UEFIExtract.exe)
PyInstaller can build/freeze/compile the utility at all three supported platforms, it is simple to run and gets updated often.
- Make sure Python 3.7.0 or newer is installed:
python --version
- Use pip to install PyInstaller:
pip3 install pyinstaller
- Build/Freeze/Compile:
pyinstaller --noupx --onefile Apple_EFI_Rename.py
At dist folder you should find the final utility executable
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.
Parses Apple multiple EFI firmware .im4p files and splits all detected EFI firmware into separate SPI/BIOS images.
You can either Drag & Drop or manually enter the full path of a folder containing Apple EFI IM4P firmware.
An already built/frozen/compiled binary is provided by me for Windows only. Thus, you don't need to manually build/freeze/compile it under Windows. Instead, download the latest version from the Releases tab. To extract the already built/frozen/compiled archive, you need to use programs which support RAR5 compression. Note that you need to manually apply any prerequisites.
Should work at all Windows, Linux or macOS operating systems which have Python 3.7 support. Windows users who plan to use the already built/frozen/compiled binary must make sure that they have the latest Windows Updates installed which include all required "Universal C Runtime (CRT)" libraries.
To run the utility, you do not need any 3rd party tool.
PyInstaller can build/freeze/compile the utility at all three supported platforms, it is simple to run and gets updated often.
- Make sure Python 3.7.0 or newer is installed:
python --version
- Use pip to install PyInstaller:
pip3 install pyinstaller
- Build/Freeze/Compile:
pyinstaller --noupx --onefile Apple_EFI_Split.py
At dist folder you should find the final utility executable
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.
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.
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.
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.
Should work at all Windows & macOS operating systems which have Python 3.7 and AnyToISO support.
To run the python script, you need to have the following 3rd party tools installed or placed at the same directory:
- AnyToISO (i.e. anytoiso.exe)
- UEFIFind (i.e. UEFIFind.exe)
- UEFIExtract (i.e. UEFIExtract.exe)
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.
- Make sure Python 3.7.0 or newer is installed:
python --version
- Use pip to install PyInstaller:
pip3 install pyinstaller
- Build/Freeze/Compile:
pyinstaller --noupx --onefile Apple_EFI_Package.py
At dist folder you should find the final utility executable
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.
Please use Panasonic_BIOS_Extract from refactor branch
Please use VAIO_Package_Extract from refactor branch
Parses Fujitsu UPC images and extracts their Tiano compressed SPI/BIOS firmware component. The output comprises only a final firmware component which is directly usable by end users.
You can either Drag & Drop or manually enter the full path of a folder containing Portwell UEFI Unpacker EFI images. Optional arguments:
- -h or --help : show help message and exit
- -p or --path : parse files within given folder
An already built/frozen/compiled binary is provided by me for Windows only. Thus, you don't need to manually build/freeze/compile it under Windows. Instead, download the latest version from the Releases tab. To extract the already built/frozen/compiled archive, you need to use programs which support RAR5 compression. Note that you need to manually apply any prerequisites.
Should work at all Windows, Linux or macOS operating systems which have Python 3.7 support. Windows users who plan to use the already built/frozen/compiled binary must make sure that they have the latest Windows Updates installed which include all required "Universal C Runtime (CRT)" libraries.
To run the python script or its built/frozen/compiled binary, you need to additionally have the following 3rd party tool at the same directory:
- TianoCompress (i.e. TianoCompress.exe)
PyInstaller can build/freeze/compile the utility at all three supported platforms, it is simple to run and gets updated often.
- Make sure Python 3.7.0 or newer is installed:
python --version
- Use pip to install PyInstaller:
pip3 install pyinstaller
- Build/Freeze/Compile:
pyinstaller --noupx --onefile Fujitsu_UPC_Extract.py
At dist folder you should find the final utility executable
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.
Parses Fujitsu SFX BIOS executables and extracts their contents. The utility automatically uses Igor Pavlov's 7-Zip tool in order to decompress the initially obfuscated Microsoft CAB compressed contents.
You can either Drag & Drop or manually enter the full path of a folder containing Fujitsu SFX BIOS executables.
An already built/frozen/compiled binary is provided by me for Windows only. Thus, you don't need to manually build/freeze/compile it under Windows. Instead, download the latest version from the Releases tab. To extract the already built/frozen/compiled archive, you need to use programs which support RAR5 compression. Note that you need to manually apply any prerequisites.
Should work at all Windows, Linux or macOS operating systems which have Python 3.7 support. Windows users who plan to use the already built/frozen/compiled binary must make sure that they have the latest Windows Updates installed which include all required "Universal C Runtime (CRT)" libraries.
To run the python script or its built/frozen/compiled binary, you need to have the following 3rd party tool at the same directory:
- 7-Zip Console (i.e. 7z.exe)
PyInstaller can build/freeze/compile the utility at all three supported platforms, it is simple to run and gets updated often.
- Make sure Python 3.7.0 or newer is installed:
python --version
- Use pip to install PyInstaller:
pip3 install pyinstaller
- Build/Freeze/Compile:
pyinstaller --noupx --onefile Fujitsu_SFX_Extract.py
At dist folder you should find the final utility executable
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.
Parses Award BIOS images and extracts their modules. The utility automatically uses Igor Pavlov's 7-Zip tool in order to decompress the initially LZH compressed sub-modules.
You can either Drag & Drop or manually enter the full path of a folder containing Award BIOS firmware.
An already built/frozen/compiled binary is provided by me for Windows only. Thus, you don't need to manually build/freeze/compile it under Windows. Instead, download the latest version from the Releases tab. To extract the already built/frozen/compiled archive, you need to use programs which support RAR5 compression. Note that you need to manually apply any prerequisites.
Should work at all Windows, Linux or macOS operating systems which have Python 3.7 support. Windows users who plan to use the already built/frozen/compiled binary must make sure that they have the latest Windows Updates installed which include all required "Universal C Runtime (CRT)" libraries.
To run the python script or its built/frozen/compiled binary, you need to have the following 3rd party tool at the same directory:
- 7-Zip Console (i.e. 7z.exe)
PyInstaller can build/freeze/compile the utility at all three supported platforms, it is simple to run and gets updated often.
- Make sure Python 3.7.0 or newer is installed:
python --version
- Use pip to install PyInstaller:
pip3 install pyinstaller
- Build/Freeze/Compile:
pyinstaller --noupx --onefile Award_BIOS_Extract.py
At dist folder you should find the final utility executable
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.