Various BIOS Utilities for Modding/Research
Find a file
platomav 48562b0f68 Added Fujitsu SFX BIOS Extractor v3.0_a2
Fixed deletion of folders with read-only files

Fixed missing README > Requirement for VAIO Packaging Manager Extractor
2022-07-14 01:32:25 +03:00
common Added Fujitsu SFX BIOS Extractor v3.0_a2 2022-07-14 01:32:25 +03:00
external Insyde iFlash/iFdPacker Extractor v2.0_a8 2022-07-06 17:54:17 +03:00
AMI_PFAT_Extract.py Insyde iFlash/iFdPacker Extractor v2.0_a8 2022-07-06 17:54:17 +03:00
AMI_UCP_Extract.py Insyde iFlash/iFdPacker Extractor v2.0_a8 2022-07-06 17:54:17 +03:00
Award_BIOS_Extract.py Insyde iFlash/iFdPacker Extractor v2.0_a8 2022-07-06 17:54:17 +03:00
Dell_PFS_Extract.py Insyde iFlash/iFdPacker Extractor v2.0_a8 2022-07-06 17:54:17 +03:00
Fujitsu_SFX_Extract.py Added Fujitsu SFX BIOS Extractor v3.0_a2 2022-07-14 01:32:25 +03:00
Fujitsu_UPC_Extract.py Insyde iFlash/iFdPacker Extractor v2.0_a8 2022-07-06 17:54:17 +03:00
Insyde_IFD_Extract.py Insyde iFlash/iFdPacker Extractor v2.0_a9 2022-07-07 01:31:29 +03:00
LICENSE Insyde iFlash Image Extractor v1.0 2022-03-14 00:57:18 +02:00
Panasonic_BIOS_Extract.py Insyde iFlash/iFdPacker Extractor v2.0_a8 2022-07-06 17:54:17 +03:00
Phoenix_TDK_Extract.py Insyde iFlash/iFdPacker Extractor v2.0_a8 2022-07-06 17:54:17 +03:00
Portwell_EFI_Extract.py Insyde iFlash/iFdPacker Extractor v2.0_a8 2022-07-06 17:54:17 +03:00
README.md Added Fujitsu SFX BIOS Extractor v3.0_a2 2022-07-14 01:32:25 +03:00
Toshiba_COM_Extract.py Insyde iFlash/iFdPacker Extractor v2.0_a8 2022-07-06 17:54:17 +03:00
VAIO_Package_Extract.py Insyde iFlash/iFdPacker Extractor v2.0_a8 2022-07-06 17:54:17 +03:00

BIOSUtilities [Refactor - WIP]

Various BIOS Utilities for Modding/Research

BIOS Utilities News Feed

AMI BIOS Guard Extractor

Description

Parses AMI BIOS Guard (a.k.a. PFAT, Platform Firmware Armoring Technology) images, extracts their SPI/BIOS/UEFI firmware components and decompiles the Intel BIOS Guard Scripts. It supports all AMI PFAT revisions and formats, including those with Index Information tables or nested AMI PFAT structures. The output comprises only final firmware components which are directly usable by end users.

Note that the AMI PFAT structure may not have an explicit component order. AMI's BIOS Guard Firmware Update Tool (AFUBGT) updates components based on the user/OEM provided Parameters and Options or Index Information table, when applicable. That means that merging all the components together does not usually yield a proper SPI/BIOS/UEFI image. The utility does generate such a merged file with the name "00 -- <filename>_ALL.bin" but it is up to the end user to determine its usefulness. Moreover, any custom OEM data after the AMI PFAT structure are additionally stored in the last file with the name "<n+1> -- _OOB.bin" and it is once again up to the end user to determine its usefulness. In cases where the trailing custom OEM data include a nested AMI PFAT structure, the utility will process and extract it automatically as well.

Usage

You can either Drag & Drop or manually enter AMI BIOS Guard (PFAT) image file(s). Optional arguments:

  • -h or --help : show help message and exit
  • -v or --version : show utility name and version
  • -i or --input-dir : extract from given input directory
  • -o or --output-dir : extract in given output directory
  • -e or --auto-exit : skip press enter to exit prompts

Compatibility

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

Prerequisites

Optionally, to decompile the AMI PFAT > Intel BIOS Guard Scripts, you must have the following 3rd party utility at the "external" project 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.

  1. Make sure Python 3.10.0 or newer is installed:

python --version

  1. Use pip to install PyInstaller:

pip3 install pyinstaller

  1. Place prerequisites at the "external" project directory:

BIOS Guard Script Tool (optional)

  1. Build/Freeze/Compile:

pyinstaller --add-data="external/*;external/" --noupx --onefile <path-to-project>/AMI_PFAT_Extract.py

You should find the final utility executable at "dist" folder

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.

Pictures

AMI UCP Update Extractor

Description

Parses AMI UCP (Utility Configuration Program) Update executables, extracts their firmware components (e.g. SPI/BIOS/UEFI, EC, ME etc) and shows all relevant info. It supports all AMI UCP revisions and formats, including those with nested AMI PFAT, AMI UCP or Insyde iFlash/iFdPacker structures. The output comprises only final firmware components and utilities which are directly usable by end users.

Usage

You can either Drag & Drop or manually enter AMI UCP Update executable file(s). Optional arguments:

  • -h or --help : show help message and exit
  • -v or --version : show utility name and version
  • -i or --input-dir : extract from given input directory
  • -o or --output-dir : extract in given output directory
  • -e or --auto-exit : skip press enter to exit prompts
  • -c or --checksum : verify AMI UCP Checksums (slow)

Compatibility

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

Prerequisites

To run the utility, you must have the following 3rd party tools at the "external" project directory:

Optionally, to decompile the AMI UCP > AMI PFAT > Intel BIOS Guard Scripts (when applicable), you must have the following 3rd party utility at the "external" project 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.

  1. Make sure Python 3.10.0 or newer is installed:

python --version

  1. Use pip to install PyInstaller:

pip3 install pyinstaller

  1. Place prerequisites at the "external" project directory:

TianoCompress
7-Zip Console
BIOS Guard Script Tool (optional)

  1. Build/Freeze/Compile:

pyinstaller --add-data="external/*;external/" --noupx --onefile <path-to-project>/AMI_UCP_Extract.py

You should find the final utility executable at "dist" folder

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.

Pictures

Award BIOS Module Extractor

Description

Parses Award BIOS images and extracts their modules (e.g. RAID, MEMINIT, _EN_CODE, awardext etc). It supports all Award BIOS image revisions and formats, including those which contain LZH compressed files. The output comprises only final firmware components which are directly usable by end users.

Usage

You can either Drag & Drop or manually enter Award BIOS image file(s). Optional arguments:

  • -h or --help : show help message and exit
  • -v or --version : show utility name and version
  • -i or --input-dir : extract from given input directory
  • -o or --output-dir : extract in given output directory
  • -e or --auto-exit : skip press enter to exit prompts

Compatibility

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

Prerequisites

To run the utility, you must have the following 3rd party tool at the "external" project 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.

  1. Make sure Python 3.10.0 or newer is installed:

python --version

  1. Use pip to install PyInstaller:

pip3 install pyinstaller

  1. Place prerequisite at the "external" project directory:

7-Zip Console

  1. Build/Freeze/Compile:

pyinstaller --add-data="external/*;external/" --noupx --onefile <path-to-project>/Award_BIOS_Extract.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.

Pictures

Dell PFS/PKG Update Extractor

Description

Parses Dell PFS/PKG Update images and extracts their Firmware (e.g. SPI, BIOS/UEFI, EC, ME etc) and Utilities (e.g. Flasher etc) component sections. It supports all Dell PFS/PKG revisions and formats, including those which are originally LZMA compressed in ThinOS packages, ZLIB compressed or Intel BIOS Guard (PFAT) protected. The output comprises only final firmware components which are directly usable by end users.

Usage

You can either Drag & Drop or manually enter Dell PFS/PKG Update images(s). Optional arguments:

  • -h or --help : show help message and exit
  • -v or --version : show utility name and version
  • -i or --input-dir : extract from given input directory
  • -o or --output-dir : extract in given output directory
  • -e or --auto-exit : skip press enter to exit prompts
  • -a or --advanced : extract signatures and metadata
  • -s or --structure : show PFS structure information

Compatibility

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

Prerequisites

Optionally, to decompile the Intel BIOS Guard (PFAT) Scripts, you must have the following 3rd party utility at the "external" project 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.

  1. Make sure Python 3.10.0 or newer is installed:

python --version

  1. Use pip to install PyInstaller:

pip3 install pyinstaller

  1. Place prerequisites at the "external" project directory:

BIOS Guard Script Tool (optional)

  1. Build/Freeze/Compile:

pyinstaller --add-data="external/*;external/" --noupx --onefile <path-to-project>/Dell_PFS_Extract.py

You should find the final utility executable at "dist" folder

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.

Pictures

Fujitsu SFX BIOS Extractor

Description

Parses Fujitsu SFX BIOS images and extracts their obfuscated Microsoft CAB archived firmware (e.g. SPI, BIOS/UEFI, EC, ME etc) and utilities (e.g. WinPhlash, PHLASH.INI etc) components. The output comprises only final firmware components which are directly usable by end users.

Usage

You can either Drag & Drop or manually enter Fujitsu SFX BIOS image file(s). Optional arguments:

  • -h or --help : show help message and exit
  • -v or --version : show utility name and version
  • -i or --input-dir : extract from given input directory
  • -o or --output-dir : extract in given output directory
  • -e or --auto-exit : skip press enter to exit prompts

Compatibility

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

Prerequisites

To run the utility, you must have the following 3rd party tool at the "external" project 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.

  1. Make sure Python 3.10.0 or newer is installed:

python --version

  1. Use pip to install PyInstaller:

pip3 install pyinstaller

  1. Place prerequisite at the "external" project directory:

7-Zip Console

  1. Build/Freeze/Compile:

pyinstaller --add-data="external/*;external/" --noupx --onefile <path-to-project>/Fujitsu_SFX_Extract.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.

Pictures

Fujitsu UPC BIOS Extractor

Description

Parses Fujitsu UPC BIOS images and extracts their EFI compressed SPI/BIOS/UEFI firmware component. The output comprises only a final firmware component which is directly usable by end users.

Usage

You can either Drag & Drop or manually enter Fujitsu UPC BIOS image file(s). Optional arguments:

  • -h or --help : show help message and exit
  • -v or --version : show utility name and version
  • -i or --input-dir : extract from given input directory
  • -o or --output-dir : extract in given output directory
  • -e or --auto-exit : skip press enter to exit prompts

Compatibility

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

Prerequisites

To run the utility, you must have the following 3rd party tool at the "external" project 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.

  1. Make sure Python 3.10.0 or newer is installed:

python --version

  1. Use pip to install PyInstaller:

pip3 install pyinstaller

  1. Place prerequisite at the "external" project directory:

TianoCompress

  1. Build/Freeze/Compile:

pyinstaller --add-data="external/*;external/" --noupx --onefile <path-to-project>/Fujitsu_UPC_Extract.py

You should find the final utility executable at "dist" folder

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.

Pictures

Insyde iFlash/iFdPacker Extractor

Description

Parses Insyde iFlash/iFdPacker Update images and extracts their firmware (e.g. SPI, BIOS/UEFI, EC, ME etc) and utilities (e.g. InsydeFlash, H2OFFT, FlsHook, iscflash, platform.ini etc) components. It supports all Insyde iFlash/iFdPacker revisions and formats, including those which are 7-Zip SFX 7z compressed in raw, obfuscated or password-protected form. The output comprises only final firmware components which are directly usable by end users.

Usage

You can either Drag & Drop or manually enter Insyde iFlash/iFdPacker Update image file(s). Optional arguments:

  • -h or --help : show help message and exit
  • -v or --version : show utility name and version
  • -i or --input-dir : extract from given input directory
  • -o or --output-dir : extract in given output directory
  • -e or --auto-exit : skip press enter to exit prompts

Compatibility

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

Prerequisites

To run the utility, you do not need any prerequisites.

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.10.0 or newer is installed:

python --version

  1. Use pip to install PyInstaller:

pip3 install pyinstaller

  1. Build/Freeze/Compile:

pyinstaller --noupx --onefile <path-to-project>/Insyde_IFD_Extract.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.

Pictures

Panasonic BIOS Package Extractor

Description

Parses Panasonic BIOS Package executables and extracts their firmware (e.g. SPI, BIOS/UEFI, EC etc) and utilities (e.g. winprom, configuration etc) components. It supports all Panasonic BIOS Package revisions and formats, including those which contain LZNT1 compressed files. The output comprises only final firmware components which are directly usable by end users.

Usage

You can either Drag & Drop or manually enter Panasonic BIOS Package executable file(s). Optional arguments:

  • -h or --help : show help message and exit
  • -v or --version : show utility name and version
  • -i or --input-dir : extract from given input directory
  • -o or --output-dir : extract in given output directory
  • -e or --auto-exit : skip press enter to exit prompts

Compatibility

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

Prerequisites

To run the utility, you must have the following 3rd party Python modules installed:

Moreover, you must have the following 3rd party tool at the "external" project 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.

  1. Make sure Python 3.10.0 or newer is installed:

python --version

  1. Use pip to install PyInstaller:

pip3 install pyinstaller

  1. Use pip to install pefile and lznt1:

pip3 install pefile lznt1

  1. Place prerequisite at the "external" project directory:

7-Zip Console

  1. Build/Freeze/Compile:

pyinstaller --add-data="external/*;external/" --noupx --onefile <path-to-project>/Panasonic_BIOS_Extract.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.

Pictures

Phoenix TDK Packer Extractor

Description

Parses Phoenix Tools Development Kit (TDK) Packer executables and extracts their firmware (e.g. SPI, BIOS/UEFI, EC etc) and utilities (e.g. WinFlash etc) components. It supports all Phoenix TDK Packer revisions and formats, including those which contain LZMA compressed files. The output comprises only final firmware components which are directly usable by end users.

Usage

You can either Drag & Drop or manually enter Phoenix Tools Development Kit (TDK) Packer executable file(s). Optional arguments:

  • -h or --help : show help message and exit
  • -v or --version : show utility name and version
  • -i or --input-dir : extract from given input directory
  • -o or --output-dir : extract in given output directory
  • -e or --auto-exit : skip press enter to exit prompts

Compatibility

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

Prerequisites

To run the utility, you must have the following 3rd party Python module installed:

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.10.0 or newer is installed:

python --version

  1. Use pip to install PyInstaller:

pip3 install pyinstaller

  1. Use pip to install pefile:

pip3 install pefile

  1. Build/Freeze/Compile:

pyinstaller --noupx --onefile <path-to-project>/Phoenix_TDK_Extract.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.

Pictures

Portwell EFI Update Extractor

Description

Parses Portwell UEFI Unpacker EFI executables (usually named "Update.efi") and extracts their firmware (e.g. SPI, BIOS/UEFI, EC etc) and utilities (e.g. Flasher etc) components. It supports all known Portwell UEFI Unpacker revisions (v1.1, v1.2, v2.0) and formats (used, empty, null), including those which contain EFI compressed files. The output comprises only final firmware components and utilities which are directly usable by end users.

Usage

You can either Drag & Drop or manually enter Portwell UEFI Unpacker EFI executable file(s). Optional arguments:

  • -h or --help : show help message and exit
  • -v or --version : show utility name and version
  • -i or --input-dir : extract from given input directory
  • -o or --output-dir : extract in given output directory
  • -e or --auto-exit : skip press enter to exit prompts

Compatibility

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

Prerequisites

To run the utility, you must have the following 3rd party Python module installed:

pip3 install pefile

Moreover, you must have the following 3rd party tool at the "external" project 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.

  1. Make sure Python 3.10.0 or newer is installed:

python --version

  1. Use pip to install PyInstaller:

pip3 install pyinstaller

  1. Use pip to install pefile:

pip3 install pefile

  1. Place prerequisite at the "external" project directory:

TianoCompress

  1. Build/Freeze/Compile:

pyinstaller --add-data="external/*;external/" --noupx --onefile <path-to-project>/Portwell_EFI_Extract.py

You should find the final utility executable at "dist" folder

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.

Pictures

Toshiba BIOS COM Extractor

Description

Parses Toshiba BIOS COM images and extracts their raw or compressed SPI/BIOS/UEFI firmware component. This utility is basically an easy to use python wrapper around ToshibaComExtractor by LongSoft. The output comprises only a final firmware component which is directly usable by end users.

Usage

You can either Drag & Drop or manually enter Toshiba BIOS COM image file(s). Optional arguments:

  • -h or --help : show help message and exit
  • -v or --version : show utility name and version
  • -i or --input-dir : extract from given input directory
  • -o or --output-dir : extract in given output directory
  • -e or --auto-exit : skip press enter to exit prompts

Compatibility

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

Prerequisites

To run the utility, you must have the following 3rd party tool at the "external" project 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.

  1. Make sure Python 3.10.0 or newer is installed:

python --version

  1. Use pip to install PyInstaller:

pip3 install pyinstaller

  1. Place prerequisite at the "external" project directory:

ToshibaComExtractor

  1. Build/Freeze/Compile:

pyinstaller --add-data="external/*;external/" --noupx --onefile <path-to-project>/Toshiba_COM_Extract.py

You should find the final utility executable at "dist" folder

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.

Pictures

VAIO Packaging Manager Extractor

Description

Parses VAIO Packaging Manager executables and extracts their firmware (e.g. SPI, BIOS/UEFI, EC, ME etc), utilities (e.g. WBFLASH etc) and driver (audio, video etc) components. If direct extraction fails, it attempts to unlock the executable in order to run at all non-VAIO systems and allow the user to choose the extraction location. It supports all VAIO Packaging Manager revisions and formats, including those which contain obfuscated Microsoft CAB archives or obfuscated unlock values. The output comprises only final firmware components which are directly usable by end users.

Usage

You can either Drag & Drop or manually enter VAIO Packaging Manager executable file(s). Optional arguments:

  • -h or --help : show help message and exit
  • -v or --version : show utility name and version
  • -i or --input-dir : extract from given input directory
  • -o or --output-dir : extract in given output directory
  • -e or --auto-exit : skip press enter to exit prompts

Compatibility

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

Prerequisites

To run the utility, you must have the following 3rd party tool at the "external" project 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.

  1. Make sure Python 3.10.0 or newer is installed:

python --version

  1. Use pip to install PyInstaller:

pip3 install pyinstaller

  1. Place prerequisite at the "external" project directory:

7-Zip Console

  1. Build/Freeze/Compile:

pyinstaller --add-data="external/*;external/" --noupx --onefile <path-to-project>/VAIO_Package_Extract.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.

Pictures