coderobe / VBiosFinder

Extract embedded VBIOS from (almost) any BIOS Update
GNU Affero General Public License v3.0
129 stars 21 forks source link

Found two VBioses from T440p's image but only the last one is saved. #27

Closed dalao3 closed 3 years ago

dalao3 commented 4 years ago

The T440p's bios image https://download.lenovo.com/pccbbs/mobiles/gluj42us.iso contains two intel 8086:0406 vbioses. I checked it with UEFITool and it appears they are different in version one is 2171 and another is 2179. But using this VBiosFinder, the output folder only has the second one which is the 2179 one.

Here is the output.

[pc@pc VBiosFinder]$ ./vbiosfinder extract /home/pc/T440pCorebooting/VBiosFinder/gluj42us.iso 
/home/pc/.gem/ruby/2.7.0/gems/bundler-1.17.3/lib/bundler/rubygems_integration.rb:200: warning: constant Gem::ConfigMap is deprecated
/home/pc/.gem/ruby/2.7.0/gems/bundler-1.17.3/lib/bundler/rubygems_integration.rb:200: warning: constant Gem::ConfigMap is deprecated
output will be stored in '/home/pc/T440pCorebooting/VBiosFinder/tmp-vbiosfinder'
checking for ruby... yes

checking for innoextract... yes
checking for upx... yes
checking for 7z... yes
trying to extract ./gluj42us.iso
extracting uefi data
trying to extract ./gluj42us.iso
found UEFIExtract archive
trying to extract ./mkmf.log
found UEFIExtract archive
filtering for modules...
got 5713 modules
finding vbios
4 possible candidates
checking for rom-parser... yes
Found VBIOS for device 8086:0406!
Found VBIOS for device 8086:0406!
Found VBIOS for device 10de:1290!
Found VBIOS for device 10de:1290!
Job done. Extracted files can be found in /home/pc/T440pCorebooting/VBiosFinder/tmp-vbiosfinder/../output
Cleaning up garbage
coderobe commented 4 years ago

Looks to be another case of https://github.com/coderobe/VBiosFinder/issues/20 - thanks for reporting. I'll probably end up rewriting this entire thing at some point, it's a bit of a mess.

coderobe commented 3 years ago

Should be fixed now