Как извлечь файл ROM из этого DOS exe BIOS updater?

Я пытаюсь обновить BIOS DELL VOSTRO 260. Я борюсь, чтобы получить в любом месте, см. Подробнее:

Я решил просто извлечь flashrom напрямую. Я не пытаюсь запустить мигающий шаг, просто чтобы извлечь ПЗУ из exe-файла. Так что если я скачать exe и попытаться запустить его с помощью dosemu, вот что я получаю:

$ wget http://downloads.dell.com/FOLDER01639275M/1/MS-A10.exe
$ dosemu -dumb MS-A10.exe > log
$ cat log
SfxDos v2.11. [2012/06/25]
Extracting Files: [6174382 / 6174382] 100%  
Missing SMBIOS Table

что это значит ? Имеет кто-нибудь удалось извлечь фактическую прошивку из этих exe ? Я не мог найти ничего работающего:

$ unrar l MS-A10.exe 

UNRAR 5.00 beta 8 freeware      Copyright (c) 1993-2013 Alexander Roshal

MS-A10.exe is not RAR archive

или

$ unzip -l MS-A10.exe 
Archive:  MS-A10.exe
  End-of-central-directory signature not found.  Either this file is not
  a zipfile, or it constitutes one disk of a multi-part archive.  In the
  latter case the central directory and zipfile comment will be found on
  the last disk(s) of this archive.
unzip:  cannot find zipfile directory in one of MS-A10.exe or
        MS-A10.exe.zip, and cannot find MS-A10.exe.ZIP, period.

Для справки:

$ file MS-A10.exe 
MS-A10.exe: MS-DOS executable

как извлечь файл ROM из этого самораспаковывающегося DOS exe?

29
задан Community
09.05.2023 18:31 Количество просмотров материала 3423
Распечатать страницу

3 ответа

на самом деле это было тривиально, просто запустите его под wine:

$ wine MS-A10.exe

выход будет найден в .каталог вин:

$ find $HOME/.wine | grep MS-A10
/home/mathieu/.wine/drive_c/users/mathieu/Temp/MS-A10
/home/mathieu/.wine/drive_c/users/mathieu/Temp/MS-A10/AFUWIN.EXE
/home/mathieu/.wine/drive_c/users/mathieu/Temp/MS-A10/AMIFLDRV.VXD
/home/mathieu/.wine/drive_c/users/mathieu/Temp/MS-A10/AMIFLDRV64.SYS
/home/mathieu/.wine/drive_c/users/mathieu/Temp/MS-A10/AMIFLDRV32.SYS
/home/mathieu/.wine/drive_c/users/mathieu/Temp/MS-A10/RosaBUU.exe
/home/mathieu/.wine/drive_c/users/mathieu/Temp/MS-A10/Pmxdll.dll
/home/mathieu/.wine/drive_c/users/mathieu/Temp/MS-A10/Idrvdll.dll
/home/mathieu/.wine/drive_c/users/mathieu/Temp/MS-A10/FWUpdLcl.exe
/home/mathieu/.wine/drive_c/users/mathieu/Temp/MS-A10/settings.ini
/home/mathieu/.wine/drive_c/users/mathieu/Temp/MS-A10/error.log
/home/mathieu/.wine/drive_c/users/mathieu/Temp/MS-A10/1176upd.BIN
/home/mathieu/.wine/drive_c/users/mathieu/Temp/MS-A10/AFUWINx64.EXE
/home/mathieu/.wine/drive_c/users/mathieu/Temp/MS-A10/RosaBUU.log
/home/mathieu/.wine/drive_c/users/mathieu/Temp/MS-A10/MS-A10.BIN
/home/mathieu/.wine/drive_c/users/mathieu/Temp/MS-A10/FWUpdLcl64.exe

С:

$ file MS-A10.BIN
MS-A10.BIN: Intel serial flash for PCH ROM

Я думаю, что это имеет мало интереса для тех, кто пытается сделать это обновление BIOS, вы должны знать, что с помощью Win7 / 32bits ремонт диска не вариант (я следовал инструкциям от здесь). Действительно DLL необходимо во время выполнения требует oledlg.dll be найдено:

$ objdump -x RosaBUU.exe  | grep DLL
 vma:            Hint    Time      Forward  DLL       First
    DLL Name: dbghelp.dll
    DLL Name: KERNEL32.dll
    DLL Name: USER32.dll
    DLL Name: GDI32.dll
    DLL Name: COMDLG32.dll
    DLL Name: WINSPOOL.DRV
    DLL Name: ADVAPI32.dll
    DLL Name: SHELL32.dll
    DLL Name: COMCTL32.dll
    DLL Name: SHLWAPI.dll
    DLL Name: oledlg.dll
    DLL Name: ole32.dll
    DLL Name: OLEAUT32.dll

видимо, эта DLL не подарок с Win7/32 бита ремонт диска.

2
отвечен malat 2023-05-11 02:19

существует переключатель командной строки для извлечения ПЗУ (может потребоваться Windows):

MS-A10.exe /writeromfile
1
отвечен Martin Zeitler 2023-05-11 04:36

Что выводится при запуске EXE файла с дополнительным параметром" -?"?

Вы можете получить список доступных параметров командной строки.

Если он сделан со старой версией RAR для DOS, то обычно "- x " будет делать только извлечение, не пытаясь запустить BIOS мигалку сразу после этого.

в любом случае: Вы никогда не сможете запустить DOS-утилиту из среды Linux. Это на самом деле вызывает сообщение SMBios вы видение. Это означает, что он не может найти BIOS-чип. Эмулятор как dosemu не поможет. Он не может предоставить команде DOS необходимый низкоуровневый доступ к оборудованию.

лучший вариант, казалось бы, чтобы создать загрузочную флешку или загрузочный компакт-диск с FreeDOS и запустить исполняемый файл из этого. Это не потребует распаковки EXE вообще. (При запуске с носителя только для чтения вам придется настроить FreeDOS, чтобы сделать RAM-диск и запустить EXE оттуда. Для этого потребуется рабочий каталог с возможностью записи чтобы извлечь файл BIOS.)

0
отвечен Tonny 2023-05-11 06:53

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх