This is the simplest method. You can simply drag and drop a BIOS Guard file onto the main.py script to start the extraction. For more control, you can use the command line: python ./main.py "/path/to/input/file.bin" --output-dir "/path/to/output/folder"
, also known as Platform Firmware Armoring Technology (PFAT) , is a protective wrapper used by AMI to secure firmware update files and the on-board BIOS image. This technology is part of a broader industry trend where vendors employ mechanisms like SMM BLE, SMM BWP, PRx, and Intel BIOS Guard to prevent illegitimate modification of the SPI flash memory. From a user's perspective, a BIOS file protected with AMI BIOS Guard is often encapsulated within a PFAT structure, which can be identified by specific hexadecimal patterns at the beginning of the file. This structure organizes and protects the actual firmware components, such as the main BIOS code, UEFI drivers, and other critical modules.
While specific commands vary by tool, the general workflow for utilizing an extractor remains consistent: Step 1: Obtain the Source File
Primary Helpful Feature: Automatic Extraction & Decompilation
The AMI BIOS Guard is a security architecture designed to authenticate and verify firmware updates. It operates on the principle of a chain of trust. When a firmware update is initiated, the BIOS Guard mechanism validates the digital signature of the new image against a public key embedded in the system’s hardware (often within the Intel Management Engine or a similar secure enclave). If the signature does not match, the update is rejected. This process effectively locks the firmware to the vendor’s specific revision, preventing the injection of malicious code. However, it also prevents legitimate modifications, such as the installation of custom BIOS logos, the unlocking of hidden settings, or the patching of CPU microcode for performance optimization.
—the technology underlying Intel BIOS Guard—to extract raw BIOS/UEFI components from protected update images. The Role of BIOS Guard in Modern Systems
Using a command-line utility (like ami_extractor.py ), you point the tool at the downloaded file.
