Insyde BIOS Modding: Manually Changing Settings
The flash chip on your computer that contains your BIOS also has several other regions. Usually a computer has at least these follow regions: Intel ME, BIOS, and Descriptor. However they can also have additional ones line GBE and OEM. Depending on how you update your computer’s firmware, only parts of these regions are actually changed. So when you update your BIOS through an update released by your OEM, your actually only overwriting part of the whole BIOS region. So what’s stored in the remaining part? We’ll in the BIOS region, one of these things are the EFI global variables.
So how do we gain access to a complete dump of out BIOS so that we can modify these values? I’ve only seen one program that can accomplish this task and that’s Intel’s Flash Programming Tool. There are different version of it for each of the Intel chipsets, so get the one that corresponds to your mobo’s chipset. You can find the different versions in this discussion.
To create a complete dump of your bios, you’ll need to run the following command through an admin cmd after you’ve already navigated to the programming tool’s directory. So here’s what I did:
cd C:\Users\Domino\Desktop\ME 126.96.36.1994\ME 188.8.131.524\Tools\System Tools\Flash Programming Tool\Windows fptw.exe -d output.bin -BIOS
If everything worked, then the output on the command prompt should say something similar to this:
So this will create a file called output.bin that contains the complete dump of your bios. As a side note, this complete dump will include things like your computer’s tattoo information, variable packages, etc. Since some of this stuff is unique to the computer it came from, like serial numbers, I don’t recommend you attempt to flash someone else’s complete BIOS dump on your own computer. Now lets use my EFI Variable Dumper to extract the important information about the variable packages from it. Just drag and drop the output.bin file onto the EFI Variable Dumper.exe executable.
This creates a file called output Variables Dump.txt that contains all the EFI global variable packages. Most of these packages aren’t of much interest to us, however the one that relates to the values of certain settings in the setup utility is the Setup package. This package contains the values currently being used by the settings. So all you need to know is the variable ID of the setting you want to change, the size of it’s storage in the package, and all its possible values. Luckily my EFI IFR Dumper can give us all that information. So before we continue, we first need to be get the IFR dump from our setup utility module. The first part of my hidden settings tutorial goes over how to get this, so come back here after you successfully dumped the internal forms representation from that module. Now lets continue, so here’s what EFI IFR Dumper tells me about my Virtualization Technology settings:
fptw.exe -f output.bin -BIOS