Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HP BIOS Extractor

Extract HP SoftPaq BIOS update packages on Linux and macOS — no Windows / Wine required.

Given a SoftPaq .exe from HP Support, this tool:

  1. Unwraps the SoftPaq CAB wrapper
  2. Detects nested update formats (AMI UCP / HP UCORE, Insyde, Phoenix TDK, plain CAB BIOS payloads)
  3. Decompresses EFI/Tiano-compressed BIOS modules
  4. Writes usable firmware images (typically BIOS_XX.bin, Intel PCH flash images)

Requirements

Dependency Purpose Install
Python 3.10+ Runtime brew install python / distro packages
cabextract or 7z SoftPaq CAB unwrap brew install cabextract / apt install cabextract
TianoCompress Decompress AMI/HP UCP BIOS modules hp-bios-extractor build-deps
git, make, C compiler Only to build TianoCompress Xcode CLT / build-essential

Install

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
pip install -e .

# One-time: build TianoCompress into third_party/
hp-bios-extractor build-deps

Check helpers:

hp-bios-extractor deps

Usage

# SoftPaq from HP (example in bin/)
hp-bios-extractor extract bin/sp152415.exe -o out/sp152415 -v

# Only keep decompressed BIOS images under out/.../bios/
hp-bios-extractor extract bin/sp152415.exe -o out/sp152415 --bios-only

Example result from SoftPaq sp152415 (HP Notebook System BIOS Update):

BIOS images (4):
  out/sp152415/bios/HP_BIOS_F.53_board-08600.bin
  out/sp152415/bios/HP_BIOS_F.53_board-08601.bin
  out/sp152415/bios/HP_BIOS_F.53_board-08603.bin
  out/sp152415/bios/HP_BIOS_F.53_board-08604.bin

Names come from firmware metadata: BIOS version (F.53) and HP board/SSID ($BID08600, …).

You can also pass the inner update EXE directly (after a manual CAB unwrap).

How SoftPaqs are layered

Modern HP notebook SoftPaqs often look like:

spXXXXXX.exe          SoftPaq PE wrapper + embedded Microsoft CAB
└─ 08600F53.exe       AMI UCORE2 / UCP update package (@UAF …)
   ├─ HpBiosUpdate.efi / helpers
   └─ BIOS_00.bin …   EFI-compressed SPI/BIOS images (@R00, @R01, …)

Older SoftPaqs may expand to a BIOSUpdate folder with .bin payloads instead.

Notes

  • Multiple BIOS_XX.bin files are normal (platform / SKU variants). Use the one that matches your board ID / SoftPaq notes.
  • This tool extracts firmware for analysis and recovery workflows. Flashing is out of scope — use HP’s supported update methods unless you know exactly what you are doing.
  • third_party/TianoCompress is gitignored; rebuild it on each machine with build-deps.
  • Nested AMI/HP UCP, Insyde, and Phoenix parsers are provided by BIOSUtilities.

License

MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages