coderobe / VBiosFinder

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

undefined method `has_key?' for ..:Integer / Acer Aspire V17 Nitro / VN7-792G / GTX965M #32

Closed kronthto closed 3 years ago

kronthto commented 3 years ago

Hi,

first: thank you for this software!!

It seems to work quite far for the Acer V17, but sadly I get an error (near the end I think).

Sorry if it's a rookie error, but Ruby is not on my language stack, so a hint would be appreciated :) :

#sysinfo
root@76de7e5b61c1:/work/opt/edk2# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.1 LTS
Release:    20.04
Codename:   focal
root@76de7e5b61c1:/work/opt/edk2# dpkg -l | grep ruby
ii  libruby2.7:amd64                     2.7.0-5ubuntu1.2                  amd64        Libraries necessary to run Ruby 2.7
ii  rake                                 13.0.1-4                          all          ruby make-like utility
ii  ruby                                 1:2.7+1                           amd64        Interpreter of object-oriented scripting language Ruby (default version)
ii  ruby-bundler                         2.1.4-1                           all          Manage Ruby application dependencies (runtime)
ii  ruby-dev:amd64                       1:2.7+1                           amd64        Header files for compiling extension modules for Ruby (default version)
ii  ruby-minitest                        5.13.0-1                          all          Ruby test tools supporting TDD, BDD, mocking, and benchmarking
ii  ruby-molinillo                       0.6.4-1                           all          generic dependency resolution algorithm
ii  ruby-net-http-persistent             2.9.4-2                           all          Manages persistent connections using Net::HTTP
ii  ruby-net-telnet                      0.1.1-2                           all          telnet client library
ii  ruby-power-assert                    1.1.7-1                           all          library showing values of variables and method calls in an expression
ii  ruby-test-unit                       3.3.5-1                           all          unit testing framework for Ruby
ii  ruby-thor                            0.19.4-1                          all          Ruby scripting framework
ii  ruby-xmlrpc                          0.3.0-2                           all          XMLRPC library for Ruby
ii  ruby2.7                              2.7.0-5ubuntu1.2                  amd64        Interpreter of object-oriented scripting language Ruby
ii  ruby2.7-dev:amd64                    2.7.0-5ubuntu1.2                  amd64        Header files for compiling extension modules for the Ruby 2.7
ii  ruby2.7-doc                          2.7.0-5ubuntu1.2                  all          Documentation for Ruby 2.7
ii  rubygems-integration                 1.16                              all          integration of Debian Ruby packages with Rubygems

root@76de7e5b61c1:/work/VBiosFinder# ./vbiosfinder extract /work/VBiosFinder/BIOS_109.exe 
output will be stored in '/work/VBiosFinder/tmp-vbiosfinder'
checking for ruby... yes

checking for innoextract... yes
checking for upx... yes
checking for 7z... yes
trying to extract ./BIOS_109.exe
found 7z archive
trying to extract ./BiosImageProcx64.dll
trying to extract ./Ding.wav
trying to extract ./FWUpdLcl.exe
trying to extract ./FlsHook.exe
trying to extract ./FlsHookDll.dll
trying to extract ./H2OFFT-Wx64.exe
trying to extract ./iscflashx64.dll
trying to extract ./iscflashx64.sys
trying to extract ./isflash.bin
trying to extract ./platform.ini
trying to extract ./xerces-c_2_7.dll
extracting uefi data
trying to extract ./BIOS_109.exe
found UEFIExtract archive
trying to extract ./BiosImageProcx64.dll
found UEFIExtract archive
trying to extract ./Ding.wav
found UEFIExtract archive
trying to extract ./FWUpdLcl.exe
found UEFIExtract archive
trying to extract ./FlsHook.exe
found UEFIExtract archive
trying to extract ./FlsHookDll.dll
found UEFIExtract archive
trying to extract ./H2OFFT-Wx64.exe
found UEFIExtract archive
trying to extract ./iscflashx64.dll
found UEFIExtract archive
trying to extract ./iscflashx64.sys
found UEFIExtract archive
trying to extract ./isflash.bin
found UEFIExtract archive
trying to extract ./mkmf.log
found UEFIExtract archive
trying to extract ./platform.ini
found UEFIExtract archive
trying to extract ./xerces-c_2_7.dll
found UEFIExtract archive
filtering for modules...
got 4026 modules
finding vbios
6 possible candidates
checking for rom-parser... yes
Found VBIOS for device 8086:0406!
Cleaning up garbage
Traceback (most recent call last):
    11: from _init.rb:7:in `<main>'
    10: from /usr/lib/ruby/vendor_ruby/thor/base.rb:444:in `start'
     9: from /usr/lib/ruby/vendor_ruby/thor.rb:369:in `dispatch'
     8: from /usr/lib/ruby/vendor_ruby/thor/invocation.rb:126:in `invoke_command'
     7: from /usr/lib/ruby/vendor_ruby/thor/command.rb:27:in `run'
     6: from /work/VBiosFinder/src/cli.rb:36:in `extract'
     5: from /work/VBiosFinder/src/methods.rb:61:in `run'
     4: from /work/VBiosFinder/src/methods.rb:61:in `each'
     3: from /work/VBiosFinder/src/methods.rb:69:in `block in run'
     2: from /work/VBiosFinder/src/methods.rb:98:in `check_cpy'
     1: from /work/VBiosFinder/src/methods.rb:98:in `each'
/work/VBiosFinder/src/methods.rb:100:in `block in check_cpy': undefined method `has_key?' for 1698888344561385327:Integer (NoMethodError)