S
S
S-mind2017-08-24 09:57:50
Python
S-mind, 2017-08-24 09:57:50

How to get Lenovo G710 EFI InsydeH2O BIOS binary file for firmware flashing?

There is InsydeH2O EFI BIOS for Lenovo G710 from Lenovo support page as 8ecn95ww.exe file.
You need to get a binary file for flashing this BIOS to a Winbond 25Q32FVSIQ flash drive (4 MB) with a programmer.
What has already been done

  1. 8ecn95ww.exe was unpacked using 7-zip, from there they took the file G710X64_6M.fd (6797 KB).
    list of files

    G710X64_6M.fd
    xerces-c_2_7.dll
    iscflash.dll
    InsydeFlash.exe
    FlsHook.exe
    BiosImageProc.dll
    FWUpdLcl.exe
    FlsHookDll.dll
    Ding.wav
    iscflashx64.sys
    iscflash.sys
    platform.ini

  2. We tried to go through the G710X64_6M.fd file from the command line with the hewprsa.exe program from phoenixtool260
    Log
    hewprsa.exe -d G710X64_6M.fd -o bios_out.fd
    Processing... This might take a few seconds.
    ERROR at in_offset:0, out_offset:0
    4080:error:0407006A:rsa routines:RSA_padding_check_PKCS1_type_1:block type is no
    t 01:.\crypto\rsa\rsa_pk1.c:100:
    4080:error:04067072:rsa routines:RSA_EAY_PUBLIC_DECRYPT:padding check failed:.\c
    rypto\rsa\rsa_eay.c:699:
    decipher failed: Exec format error
    ERROR: "No such device"
    Usage: hewprsa -h | -d IN.BIN -o OUT.DEC { -s OUT.SIG } | -e IN.DEC -o OUT.BIN -
    k [0..3] -s IN.SIG | -t IN.BIN
    -e - encrypt data from infile and write it into outfile
    -d - decrypt data from infile and write it into outfile
    -k - EITHER: select key index for generating the signature
    -s - file which contains or has to be signed
    -t - test if encrypted bios would be accepted by flash program
    -h - show help and exit


  3. We tried to go through the EzH2O 2.1.0.13 program
    When you open (Ctrl + O) the G710X64_6M.fd file, it says "Program can't find fv information in FD file".
  4. We tried to go through the program e_bcpvpw.exe from phoenixtool260.
    Log
    e_bcpvpw.exe G710X64_6M.fd bios_out.fl1
    Source file format not acceptable - missing header!

  5. We tried to go through the phcomp.exe program .
    Log
    phcomp.exe /d G710X64_6M.fd
    PHComp v1.31 (c) 2001 Phoenix Technologies
    Decompressing G710X64_6M.fd to G710X64_6M.fh...
    Out: 15984438 bytes


    The resulting file is G710X64_6M.fh (15,610 KB). It won’t fit on a flash drive, it’s not clear what to do with it.

Answer the question

In order to leave comments, you need to log in

3 answer(s)
A
Alexander, 2019-04-29
@lietryit

I should have written the function like this:

def Greeting():
  ok = False
  for hi in writeHi:
    if message == name + hi:
      print(random.choice(sayHi))
      ok = True
  if not ok:
    print('Я не понимаю')

writeHi - contains several options, so you need to compare them all in turn.

M
Muxauko, 2019-05-03
@Muxauko

Isn't it easier to double check? If message == 'hello' + name
....
elif message == 'hi' + name.....?

A
Alexander Shmelev, 2017-08-24
@S-mind

What platform? DUMBO2? If so, then judging by the photos of the board, you have 2 flash drives: 4 MB and 2 MB.
Have you saved your original dumps?
It seems to me that it is enough to simply divide a 6 MB file into 2 MB and 4 MB. To properly cut it, you need to compare it with the dumps of the original flash drives or with those downloaded from various resources.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question