extract-zlib.rb:8:in `inflate': incorrect header check (Zlib::DataError)
eizanprime opened this issue · 4 comments
eizanprime commented
I am trying to use the script to extract the vbios of this https://pcsupport.lenovo.com/be/en/products/laptops-and-netbooks/yoga-series/yoga-720-15ikb/downloads/ds120623
However the script craches, here is the output
output will be stored in '/home/eizanprime/AUR/VBiosFinder/tmp-vbiosfinder'
checking for ruby... yes
checking for innoextract... yes
checking for upx... yes
checking for 7z... yes
trying to extract ./bioslenovo.exe
found zlib archive
Cleaning up garbage
Traceback (most recent call last):
19: from _init.rb:7:in `<main>'
18: from /home/eizanprime/AUR/VBiosFinder/vendor/bundle/ruby/2.5.0/gems/thor-0.20.0/lib/thor/base.rb:466:in `start'
17: from /home/eizanprime/AUR/VBiosFinder/vendor/bundle/ruby/2.5.0/gems/thor-0.20.0/lib/thor.rb:387:in `dispatch'
16: from /home/eizanprime/AUR/VBiosFinder/vendor/bundle/ruby/2.5.0/gems/thor-0.20.0/lib/thor/invocation.rb:126:in `invoke_command'
15: from /home/eizanprime/AUR/VBiosFinder/vendor/bundle/ruby/2.5.0/gems/thor-0.20.0/lib/thor/command.rb:27:in `run'
14: from /home/eizanprime/AUR/VBiosFinder/src/cli.rb:36:in `extract'
13: from /home/eizanprime/AUR/VBiosFinder/src/methods.rb:36:in `run'
12: from /home/eizanprime/AUR/VBiosFinder/src/methods.rb:36:in `each'
11: from /home/eizanprime/AUR/VBiosFinder/src/methods.rb:37:in `block in run'
10: from /home/eizanprime/AUR/VBiosFinder/src/methods.rb:24:in `extract'
9: from /home/eizanprime/AUR/VBiosFinder/src/methods.rb:24:in `each'
8: from /home/eizanprime/AUR/VBiosFinder/src/methods.rb:24:in `block in extract'
7: from /home/eizanprime/AUR/VBiosFinder/src/extraction.rb:10:in `attempt'
6: from /home/eizanprime/AUR/VBiosFinder/src/extraction.rb:10:in `call'
5: from /home/eizanprime/AUR/VBiosFinder/src/extract-zlib.rb:6:in `zlib'
4: from /home/eizanprime/AUR/VBiosFinder/src/extract-zlib.rb:6:in `open'
3: from /home/eizanprime/AUR/VBiosFinder/src/extract-zlib.rb:7:in `block in zlib'
2: from /home/eizanprime/AUR/VBiosFinder/src/extract-zlib.rb:7:in `open'
1: from /home/eizanprime/AUR/VBiosFinder/src/extract-zlib.rb:8:in `block (2 levels) in zlib'
/home/eizanprime/AUR/VBiosFinder/src/extract-zlib.rb:8:in `inflate': incorrect header check (Zlib::DataError)
Thank you very much for your help !
coderobe commented
I fixed the issue, try again
eizanprime commented
Thank you very much, it still crashes though a bit later, here is the output !
output will be stored in '/home/eizanprime/AUR/VBiosFinder/tmp-vbiosfinder'
checking for ruby... yes
checking for innoextract... yes
checking for upx... yes
checking for 7z... yes
trying to extract ./bioslenovo.exe
found zlib archive
wrong guess :(
found innoextract archive
Extracting "Lenovo BIOS Update Utility" - setup data version 5.5.0 (unicode)
- "app/4MCN33WW.exe" - overwritten
- "app/4MCN33WW.exe"
Done.
trying to extract ./app/4MCN33WW.exe
found zlib archive
wrong guess :(
found 7z archive
trying to extract ./BiosImageProc.dll
trying to extract ./CIZY5205.ROM
trying to extract ./Ding.wav
trying to extract ./FWUpdLcl.exe
trying to extract ./FlsHook.exe
trying to extract ./H2OFFT-W.exe
trying to extract ./Microsoft.VC90.CRT.manifest
trying to extract ./Microsoft.VC90.MFC.manifest
trying to extract ./iscflash.sys
trying to extract ./iscflashx64.sys
trying to extract ./mfc90u.dll
trying to extract ./msvcp90.dll
trying to extract ./msvcr90.dll
trying to extract ./platform.ini
extracting uefi data
trying to extract ./BiosImageProc.dll
Cleaning up garbage
Traceback (most recent call last):
12: from _init.rb:7:in `<main>'
11: from /home/eizanprime/AUR/VBiosFinder/vendor/bundle/ruby/2.5.0/gems/thor-0.20.0/lib/thor/base.rb:466:in `start'
10: from /home/eizanprime/AUR/VBiosFinder/vendor/bundle/ruby/2.5.0/gems/thor-0.20.0/lib/thor.rb:387:in `dispatch'
9: from /home/eizanprime/AUR/VBiosFinder/vendor/bundle/ruby/2.5.0/gems/thor-0.20.0/lib/thor/invocation.rb:126:in `invoke_command'
8: from /home/eizanprime/AUR/VBiosFinder/vendor/bundle/ruby/2.5.0/gems/thor-0.20.0/lib/thor/command.rb:27:in `run'
7: from /home/eizanprime/AUR/VBiosFinder/src/cli.rb:36:in `extract'
6: from /home/eizanprime/AUR/VBiosFinder/src/methods.rb:43:in `run'
5: from /home/eizanprime/AUR/VBiosFinder/src/methods.rb:43:in `each'
4: from /home/eizanprime/AUR/VBiosFinder/src/methods.rb:45:in `block in run'
3: from /home/eizanprime/AUR/VBiosFinder/src/extraction.rb:8:in `attempt'
2: from /home/eizanprime/AUR/VBiosFinder/src/extraction.rb:8:in `call'
1: from /home/eizanprime/AUR/VBiosFinder/src/extract-uefi.rb:20:in `uefi'
/home/eizanprime/AUR/VBiosFinder/vendor/bundle/ruby/2.5.0/gems/cocaine-0.5.8/lib/cocaine/command_line.rb:82:in `run': Cocaine::CommandNotFoundError (Cocaine::CommandNotFoundError)
coderobe commented
You might be missing UEFIExtract, one of the dependencies of VBiosFinder. You can find it here: https://github.com/LongSoft/UEFITool/tree/new_engine/UEFIExtract
coderobe commented
Closing this, given that the initial issue is fixed and (assuming all dependencies are met) vbiosfinder can extract the linked update just fine now