It is _HIGHLY_ recommended that you install wine. It is not a strict dependency, as the extraction methods that use wine will be skipped if wine is not installed. But, if you have wine installed, you can extract more types of BIOS images. The downside is that some BIOS images may cause wine to hang. If this happens, kill the wine and wineserver processes. The extraction process should not take more than 5-10 seconds. If it takes significantly longer, it is likely that wine has hung. If you choose to script BIOS extractions in an automated process, it is recommended that you run a reaping program that checks for wine processes that are older than 10 seconds and kills them automatically.
After you have the tools installed, you can extract a single header like this:
[user@build ~]$ extract_hdr -i sab-a01.exe -o test_output/
attempt extract: /home/user/sab-a01.exe
good: extractHdrFromPrecisionWindowsExe
[user@build ~]$ find test_output/
test_output/
test_output/hdr
test_output/hdr/system_bios_0x1028_0x00df_version_a01.hdr
test_output/hdr/config.ini
test_output/hdr/system_bios_0x1028_0x00da_LATEST.hdr
test_output/hdr/system_bios_0x1028_0x00df_LATEST.hdr
test_output/hdr/system_bios_0x1028_0x00da_version_a01.hdr
[user@build ~]$ ll test_output/hdr/
total 1064
-rw-rw-r-- 1 user user 521 Jan 17 23:13 config.ini
lrwxrwxrwx 1 user user 41 Jan 17 23:13 system_bios_0x1028_0x00da_LATEST.hdr -> system_bios_0x1028_0x00da_version_a01.hdr
-rw-rw-r-- 1 user user 524380 Jan 17 23:13 system_bios_0x1028_0x00da_version_a01.hdr
lrwxrwxrwx 1 user user 41 Jan 17 23:13 system_bios_0x1028_0x00df_LATEST.hdr -> system_bios_0x1028_0x00df_version_a01.hdr
-rw-rw-r-- 1 user user 524380 Jan 17 23:13 system_bios_0x1028_0x00df_version_a01.hdr
[user@build ~]$
Note the creation of the hdr/ subdirectory, as well as symlinks corresponding to the latest BIOS release for each platform. These can come in handy.
For example:
[user@build ~]$ mkdir test_output
[user@build ~]$ mkdir test_output/extract_these_please
[user@build ~]$ mv sab-a01.exe sab-a02.exe WS380A02.EXE WS380A04.EXE test_output/extract_these_please/
[user@build ~]$ extract_hdr -o test_output/
attempt extract: /home/user/test_output/extract_these_please/WS380A02.EXE
good: extractHdrFromPrecisionWindowsExe
attempt extract: /home/user/test_output/extract_these_please/WS380A04.EXE
good: extractHdrFromPrecisionWindowsExe
attempt extract: /home/user/test_output/extract_these_please/sab-a01.exe
good: extractHdrFromPrecisionWindowsExe
attempt extract: /home/user/test_output/extract_these_please/sab-a02.exe
good: extractHdrFromPrecisionWindowsExe
[user@build ~]$ find test_output/
test_output/
test_output/hdr
test_output/hdr/system_bios_0x1028_0x00df_version_a01.hdr
test_output/hdr/system_bios_0x1028_0x01a8_LATEST.hdr
test_output/hdr/system_bios_0x1028_0x01a8_version_a02.hdr
test_output/hdr/config.ini
test_output/hdr/system_bios_0x1028_0x00da_version_a02.hdr
test_output/hdr/system_bios_0x1028_0x00da_LATEST.hdr
test_output/hdr/system_bios_0x1028_0x00df_LATEST.hdr
test_output/hdr/system_bios_0x1028_0x00da_version_a01.hdr
test_output/hdr/system_bios_0x1028_0x01a8_version_a04.hdr
test_output/hdr/system_bios_0x1028_0x00df_version_a02.hdr
test_output/extract_these_please
test_output/extract_these_please/WS380A04.EXE
test_output/extract_these_please/sab-a01.exe
test_output/extract_these_please/WS380A02.EXE
test_output/extract_these_please/sab-a02.exe
[user@build ~]$ ls -l test_output/hdr/
total 3036
-rw-rw-r-- 1 user user 1330 Jan 17 23:30 config.ini
lrwxrwxrwx 1 user user 41 Jan 17 23:30 system_bios_0x1028_0x00da_LATEST.hdr -> system_bios_0x1028_0x00da_version_a02.hdr
-rw-rw-r-- 1 user user 524380 Jan 17 23:30 system_bios_0x1028_0x00da_version_a01.hdr
-rw-rw-r-- 1 user user 524380 Jan 17 23:30 system_bios_0x1028_0x00da_version_a02.hdr
lrwxrwxrwx 1 user user 41 Jan 17 23:30 system_bios_0x1028_0x00df_LATEST.hdr -> system_bios_0x1028_0x00df_version_a02.hdr
-rw-rw-r-- 1 user user 524380 Jan 17 23:30 system_bios_0x1028_0x00df_version_a01.hdr
-rw-rw-r-- 1 user user 524380 Jan 17 23:30 system_bios_0x1028_0x00df_version_a02.hdr
lrwxrwxrwx 1 user user 41 Jan 17 23:30 system_bios_0x1028_0x01a8_LATEST.hdr -> system_bios_0x1028_0x01a8_version_a04.hdr
-rw-rw-r-- 1 user user 458844 Jan 17 23:30 system_bios_0x1028_0x01a8_version_a02.hdr
-rw-rw-r-- 1 user user 458844 Jan 17 23:30 system_bios_0x1028_0x01a8_version_a04.hdr
[user@build ~]$
1.5.6