Skip to content

Extract embedded VBIOS from (almost) any BIOS Update

License

Notifications You must be signed in to change notification settings

binboum/VBiosFinder

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VBiosFinder (linux)

This tool attempts to extract a VBIOS from a bios update
Laptops with NVIDIA Optimus graphics often have the dGPU VBIOS integrated in their system BIOS, this makes extracting the VBIOS a complicated process. Provided you have a BIOS Update for your laptop, this tool might be able to automagically extract all available VBIOS from it.

Dependencies

  • Ruby
  • bundler (a ruby gem)
  • UEFIExtract (note: UEFIExtract can be found in the branch new_engine)
  • rom-parser
  • p7zip (optional)
  • innoextract (optional)
  • upx (optional)

Note

Some dependencies might not offer a package for your linux distribution (like UEFIDump and rom-parser). The binaries can be placed in ./3rdparty to avoid having to install them.

Usage

  • Run bundle install --path=vendor/bundle to install the required ruby modules (once)
  • Run ./vbiosfinder extract /path/to/bios_update.exe to attempt an extraction
  • A temporary working dir is created at ./tmp-vbiosfinder which can be removed inbetween runs
  • Extracted VBIOS roms will be placed in ./output

Compatibility (non-exhaustive)

Troubleshooting

Q: There are no files in ./output after running the tool!
A: It's very possible that VBiosFinder can't extract your type of BIOS update right now. Feel free to open an issue with a link to your bios update and the program output you get!

TODO

  • Add option to extract the bios of the running system (can we?)
  • Clean up temporary working dir after finishing up done
  • Test with more BIOS updates

Licensing

This project, initially authored by Robin Broda, is licensed under the GNU Affero General Public License v3
A copy of the license is available in LICENSE.txt

About

Extract embedded VBIOS from (almost) any BIOS Update

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 100.0%