Как вытащить дамп биоса из exe файла
Перейти к содержимому

Как вытащить дамп биоса из exe файла

  • автор:

Распаковка exe-файла с BIOS от ASRock.

Follow us on Twitter Follow us on Facebook Follow us on Google PlusFollow us on rss

Иногда бывают случаи когда производители материнских плат распостраняют bios для своих продуктов используя упакованный exe-файл. Такой файл распаковать и просто достать заветный бинарник не получится никаким архиватором. Распаковать такой файл и и извлечь файл прошивки нам поможет инструмент AMIUCP(AMI Utility Configuration Program). Пользоваться утилитой очень просто. Покажу как распаковать exe-файл с прошивкой bios на примере ASRock. Есть файл N68CSU1.60.EXE. Это файл для обновления bios материнской платы ASRock N68C-S UCC. Запускаем AMIUCP, открываем упакованный exe-файл с прошивкой.

amiucp1

Далее. На закладке UAF Configuration просто отмечаем пункт Extract. В таблице выбираем строку с ID в которой значится @ROM. Указываем путь и имя файла под которым будет извлечен и сохранен файл бинарник для прошивки.

amiucp2

Нажимаем Apply и получаем в свое распоряжение готовый файл BIOS материнской платы годный для заливки программатором. Вот собственно и все. Скачать AMIUCP можно по ссылке выше.

Раздел: BIOS Инструменты Метки: BIOS

Распаковка exe-файла с BIOS от ASRock. : 25 комментариев

  1. Denis 07.03.2015 При загрузке ехе файла появляется сообщение
    The program has no any UAF image

Как извлечь файлы BIOS Dell?

Скопируйте файл BIOS.exe на диск C:
Запустить командную строку в режиме администратора и напишите это:

cd\
bios.exe /writeromfile
bios.exe /writebinfile
bios.exe /writehexfile

» bios.exe — это файл загруженный c сайта Dell. «

Распакованный файл bios, будет скопирован на диск C:!

Распаковка новых BIOS Dell

UPD 12.10.2020: свежая версия Dell_PFS_Extract 4.6 от platomav.

  1. Скачиваем Dell_PFS_Extract 4.6dell-pfs-extract.zip (9243 Загрузки ) .
  2. Скачиваем с официального сайта DELL исполнительный файл обновления BIOS.
  3. Методом перетаскивания файла, перемещаем файл обновления BIOS на файл Dell_PFS_Extract (именно так). Программа запустится и распакует содержимое файла в папку.

На выходе получим папку с компонентами Дампа. Надо понимать что это не готовый бинарник для программатора, а раздельные компоненты ME регион, BIOS регион и т.д.

Уже баян, старый способ распаковки.

  • Скачиваем интерпретатор Python 2.7.
    https://www.python.org/download/releases/2.7/
  • Устанавливаем Python 2.7 на компьютер (именно этой версии!).
  • Скачиваем архив со скриптом Python — DecompNewDell.py.
  • Извлеченный из архива скрипт DecompNewDell.py копируем в папку с интерпретатором Python (обычно это C:\Python27).
  • Также в папку с интерпретатором (обычно это C:\Python27) копируем наш скаченный с сайта dell bios. Переименовываем его в biosupdate.exe. Должно получиться как на фото ниже.
  • Запускаем командную строку Windows в режиме администратора и пишем это:

cd\
cd Python27
python DecompNewDell.py biosupdate.exe

Должно получиться как на фото ниже.

И в папке с Python (обычно это C:\Python27), появится файл biosupdate.exe_decompressed.hdr.

  • Скачиваем архив с программой PFSExtractor.exe, извлекаем программу в ту же папку где у нас был создан файл .hdr (обычно это C:\Python27).
  • В командной строке Windows пишем:

Получится как на фото ниже.

И будет создана папка biosupdate.exe_decompressed.hdr.extracted, внутри которой находятся все извлеченные файлы из которых можно собрать дамп для прошивки на программаторе. Готово!

Как вытащить дамп биоса из exe файла

согласен. Универсальной проги нет и БЫТЬ НЕ МОЖЕТ! Можно придумать и записать некие общие соображения, которые будут помогать находить способ к распаковке. Но не более. Ниже напишу.

Цитата:
Это Делловских экзешников — filename.exe -writeromfile в командной строке

не для всех. Самые новые уже этот ключ не поддерживают. Увы. Есть еще ключ -writehdrfile. Он записывает некий hdr-файл в каталог с exe’шником, но зачем он нужен, я пока не догнал.

Цитата:
А вообще чаще всего EXE-шники — простые архивы и распаковываю я их Total Commander’ом.

Да. Правильно.
Цитата:
Для Samsung-а есть спец. прога: Samsung FW Extractor

ИТАК, варианты
1) Dell — написано выше: запуск с ключом -writeromfile
2) Samsung — натравливаем или Samsung FW Extractor, или утилиту find_gz на файл и получаем rom
3) IBM/Lenovo — распаковываем exe’шник с сайта и видим кучу файлов: прошивальщик PHLASH.EXE, файлы $XXXXXXX.FL1, $XXXXXXX.FL2. Эти файлы содержат БИОС. Зачастую один из двух файлов бывает упакован. Для распаковки нужна утилита PHCOMP (гугль в помощь, коллеги).
4) LG. Лучше найти ISO-образы дисков с БИОСами. Там они лежат в бинарном виде. Иногда требуется PHCOMP для распаковки. Если же скачивать с оф. сайта, то БИОС можно найти в ресурсах EXE-файла и выковырять его оттуда. Проги для просмотра ресурсов — PE Explorer, ResThief и многие другие.

При прочих равных ВЫГОДНЕЕ загрузить не EXE под Win, а загрузочный образ ISO для прожига на CD/DVD-болвани. *Всегда* можно извлечь загрузочную информацию с ISO-образа. Я предпочитаю это делать программой WinImage, но можете подобрать любую аналогичную. Обычно загрузочная область выглядит как образ дискеты 1.44МБ. Ее извлекаем и открываем опять в WinImage, после чего распаковываем. Линуксоиды могут смонтировать файл как контейнер с ФС. Иногда загрузочная область выглядит как образ HDD. Тут тоже проблем нет.

Еще достаточно универсальный метод — порыскать в каталоге TMP. В винде, напоминаю, их несколько — как минимум для каждого пользователя и общесистемный.

По поводу FTS_BIOSWindowsFlashWinflashAMILOPa3553__1031757 :
1) записывает файл P15V116.EXE и кучу всякой мишуры в каталог C:\WINDOWS (офигеть, не охамели ли они!?)
2) далее запускаются батники, производится выбор правильных ключей итд итп. В конечном счете запускается p15v116.exe, который и прошивает ноут.
Внутри этого файла прошивка лежит открытым текстом. Незашифрованная. Не пожатая. Что нужно сделать? С помощью hex-редактора отметить начало, конец и вырезать в новый файл. Для того, чтобы это сделать нужно знать структуру файла БИОСа. Это приходит с опытом. Можно начать с открытия множества файлов прошивок и их сравнения друг с другом. Могу подсказать, что в файле P15V116.EXE начало самой прошивки где-то в районе смещения ~0D9020, а конец — ~2D9E40. Дальше думайте сами. Неглупые ведь!

Профиль

Заголовок сообщения: Re: Кто чем извлекает биос из EXE или как это лучше сделать?
Добавлено: 12 май 2011, 15:53

Интересующийся

Несколько способов которые всегда работают
1. В Total Commander-е Ctrl-PgDn на екзешнике
2. Некотрые БИОСы упакованы 7-Zip, аналогично учтанавливаем архиватор и распаковываем.
3. Чистим Видовс Темп, запускаем екзешник с БИОСом на совсем другой машине. Программа прошивки ругается на неверную платформу.
Не нажимая ничего в программе лезем в Видовс Темп, и там ищем все, прошивку.
Метод работает на 99%

Профиль

Заголовок сообщения: Re: Кто чем извлекает биос из EXE или как это лучше сделать?
Добавлено: 17 сен 2011, 05:34

Утилиты для бэкапа/прошивки/редактирования биоса.

1. Universal BIOS Backup ToolKit — бэкап «любого» биоса на рабочей машине из под Win (бэкап не всегда рабочий).

UBBT-v2.0.rar

2. FLASHIT-1.3v — универсальный прошивальщик/бэкапер для InsydeH20 (DOS-версия)
FLASHIT-1.3v.zip

3. RW-Everything — Powerful utility for hardware engineers, firmware (BIOS) engineers
4. SLIC ToolKit V3.2 — редактирование SLIC-таблицы (whitelist-ы).

SLIC_ToolKit_V3.2.7z

5. MMTool v3.23 — редактор AMI-биоса (Asus).
MMTool-3.23.exe.7z

6. MMTool-4.50.023 (AMI Aptio EFI) + MMTool-5.0.0.7 — редактор AMI Aptio EFI-биоса
MMTool-4.50.023 (AMI Aptio EFI) + MMTool-5.0.0.7.rar

7. AMIBCP 5.2.0.23 — правка параметров AMI-биосов (Asus, etc.)

8. Phoenix.BIOS.Editor.Pro.v2.2.1.3 (Portable) — редактор Phoenix-биоса
Phoenix.BIOS.Editor.Pro.v2.2.1.3 (Portable).7z

Утилиты для бэкапа/прошивки/редактирования видео-биоса.

1. NiBiTor Util — NVIDIA BIOS Editor

NiBiTor-6.06.rar

2. RBEditor — Radeon BIOS Editor
RBEditor-1.28.rar

Утилиты для распаковки/правки биоса.

0. Распаковка *.exe-шников.
Первым делом нужно попробовать распаковать exe-шник архиватором (лучше 7-Zip-ом, т.к. последние версии поддерживают большое кол-во упаковщиков), если не помогло, то пробуем распаковать плагином InstallExplorer 0.9.2 (перекочевал плагин из FAR-а) для Total Commander-а.
На выходе должны получить кучу файлов из которых на интересуют FD-файлы — Insyde, FLx-, WPH-файлы — Phoenix, ROM-, BIN-файлы — и Phoenix и AMI (универсальное расширение файла).
Далее по тексту: бинарник — это вытянутый из архива FD-, FLx-, WPH-, ROM-, BIN-файл.

1. Расшифровка, зашифрованного алгоритмом RSA, бинарника InsydeH20 (HP G62-a50ER и подобные).
1) качаем PhoenixTool

phoenixtool266.rar

2) в пакет утилит PhoenixTool входит программка hewprsa.exe
С помощью неё расшифровываем зашифрованный бинарник
Запуск: hewprsa.exe -d bios_in.fd -o bios_out.fd
bios_in.fd — на входе
bios_out.fd — на выходе
Альтернатива1: hewprsa_universal.exe + hewprsa_universal.bat (скормить BAT-нику зашифрованный файл, в консольном окне нажать пробел после появлении каких-либо строк после «Processing. This might take a few seconds.»)

hewprsa_universal.rar

Альтернатива2: просто запускаем PhoenixTool.exe и открываем бинарник биоса. После отработки программы получим расшифрованный бинарник с расширением DEC.

2. Распаковка других InsydeH20 бинарников.
1) качаем прогу EzH2O 2.1.0.13

EzH2O-2.1.0.13.7z

2) File\Load File. если не ругнулась, то File\Save As.

3. Распаковка бинарников Phoenix начинающихся со строк: BCPVPD or $COMPIBM — у Lenovo такие
1) распаковываем exe-шник с помощью InnoUnp через плагин MultiArc к ТС, получаем файл *.FL1

Настройки multiarc.ini

[InnoSetup]
Description=»Inno Setup [ARS]»
Extension=exe
Archiver=%Commander_Path%\..\Arc\!UnPackers\Inno\InnoUnp\innounp.exe
ID=49 6E 6E 6F 20 53 65 74 75 70 20 53 65 74 75 70 20 44 61 74 61 20 28
IDPos=
IgnoreErrors=0
Start=»^—————————————«
End=»^—————————————«
Format0=»zzzzzzzzzz yyyy.tt.dd hh:mm nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn»
List=%P -v -m %AQ
Extract=%P -e -m -c%R %AQ @%LQ
ExtractWithPath=%P -x -m -c%R %AQ @%LQ
SkipSfxHeader=0
SkipEmpty=0
SkipDirsInFileList=0
SearchForUglyDirs=0
BatchUnpack=1
SkipLIST=1

2) в состав PhoenixTool входит e_bcpvpw. Распаковываем сам бинарник:
Запуск: e_bcpvpw.exe bios_in.fl1 bios_out.fl1

4. Распаковка некоторых Compaq-овских бинарников.
Awesome Dirty Do Checksum Checker V3

ADDCC V3.RAR

5. Распаковка EXE-обновления Samsung
Samsung FW Extractor (он же find_gz.exe): viewtopic.php?p=150683#p150683

6. Распаковка EXE-обновления Acer, Packard Bell, Lenovo
Phoenix/Insyde BIOS Extractor (он же find_phnx.exe): viewtopic.php?p=272169#p272169

7. Распаковка EXE-обновления Dell
1. Dell_PFS_Extract, Dell_PFS_Extract (old).
или 2. Dell_HDR_Extract. Подробное описание работы тут.

! Ciber SLasH писал(а):
В архивах никаких вирусов нет — всё проверено лично в работе (и не один год).

У вас нет доступа для просмотра вложений:
1. Пожалуйста авторизуйтесь или зарегистрируйтесь.
2. Вы должны иметь 15 (ПЯТНАДЦАТЬ) или более сообщений.
3. У нас можно купить доступ к файлам.

Профиль

Заголовок сообщения: Re: Кто чем извлекает биос из EXE или как это лучше сделать?
Добавлено: 18 сен 2011, 13:04

Распаковка exe-шника, который не удалось распаковать ни архиватором, ни InstallExplorer-ом.

1. Находим программу PE Explorer
2. Открываем в ней подопытный exe-шник.
3. Далее «View\Section Headers» и видим (или не видим) под секциями находится приклеенные к файлу дополнительные данные:

PE Explorer.png

Если сделать doubleclick мышью по этой строке, то открывается дополнительное окошко «EOF Extra Data» в котором можно просмотреть какие данные находятся по этому адресу.
В этой строке находится нужная информация с помощью которой мы узнаём по какому адресу находится блок extra-данных и какой его размер.
В примере, на картинке:
а) размер данных (Size of Raw Data): 00402282h = 4203138 байт
б) адрес начала (Pointer to Raw Data): 000D9000h
4. Открываем в любом HEX-редакторе (я пользуюсь бесплатным и простым редактором: HxD) наш exe-шник.
5. Переходим к нужному адресу: «адрес начала» (в HxD: жмём Ctrl+G и вбиваем адресс D9000)
6. Выделяем блок от адреса начала до «адрес начала» + «размер данных». В моём примере адрес начала D9000h, адрес конца D9000h + 402282h = 4DB282h.
В HxD жмём Ctrl+E (Выделить блок):
смещение начала: D9000
можно использовать смещение конца: 4DB282 (расчитанное)
а можно использовать длина: 402282 (взятое с PE Explorer «размер данных»)
В моём примере блок получается от адреса «адрес начала» до конца файла.
7. Выделенный блок копируем в новый файл.
В HxD придётся сначала скопировать блок в буфер Ctrl+C, потом создать файл Ctrl+N, потом вставить блок из буфера Ctrl+V.
8. Полученный файл лучше сравнить с дампом боиса снятого на программаторе на предмет того, какими данными начинается бинарник. В моём примере extra-данные начинаётся сказачной строкой «ANDERSON» — это данные для прошивальщика. Их размер, как пишется здесь — 2Fh (47 байт). Но похоже всё таки не 2Fh, а 30h, т.к. бинарник не должен начинаться с символа «A» (41h) — это соображение было получено из того, что в архиве подопытного биоса есть отдельный бинарник в папке DOS и его начало без символа «A». Значит из нового файла нам нужно удалить с начала файла 30h данных или начинать копировать на шаге 6 не с адреса начала extra-данных, а с адреса «адрес начала» + 30h.
Удаляем с нового файла 30h данных с начала файла в HxD: Ctrl+E (Выделить блок)
смещение начала: 0
длина: 30
Выделили нужный блок и жмём Del (удалить).
9. Сохраняем полученный файл: Файл\Сохранить как

У вас нет доступа для просмотра вложений:
1. Пожалуйста авторизуйтесь или зарегистрируйтесь.
2. Вы должны иметь 15 (ПЯТНАДЦАТЬ) или более сообщений.
3. У нас можно купить доступ к файлам.

Профиль

Заголовок сообщения: Re: Кто чем извлекает биос из EXE или как это лучше сделать?
Добавлено: 26 сен 2011, 01:06

Пользователь

Цитата:

8. Полученный файл лучше сравнить с дампом боиса снятого на программаторе на предмет того, какими данными начинается бинарник. В моём примере extra-данные начинаётся сказачной строкой «ANDERSON» — это данные для прошивальщика. Их размер, как пишется здесь — 2Fh (47 байт). Но похоже всё таки не 2Fh, а 30h, т.к. бинарник не должен начинаться с символа «A» (41h) — это соображение было получено из того, что в архиве подопытного биоса есть отдельный бинарник в папке DOS и его начало без символа «A». Значит из нового файла нам нужно удалить с начала файла 30h данных или начинать копировать на шаге 6 не с адреса начала extra-данных, а с адреса «адрес начала» + 30h.
Удаляем с нового файла 30h данных с начала файла в HxD: Ctrl+E (Выделить блок)
смещение начала: 0
длина: 30
Выделили нужный блок и жмём Del (удалить).

Я делаю проще — отсчитываю X МБайт от строчки ANDERSON и ищу окончание БИОСа. Оно обычно типовое. Т.е., например, последовательность байтов

E9 AD CD 00 00 00 FE FF EA 13 CE 00 F0 00 00 00
42 43 D6 F1 00 31 31 00 00 1B 00 60 5B 04 00 20

резать нужно перед второй строкой. Сигнатуры тут это байты 1, 9 (инструкции перехода с опкодами E9, EA, возможны варианты), слово начиная с 13-байта (F0 00 00 00) — это особенная константа Phoenix, которая нам говорит о размере прошивки. Начиная со второй строки начинается служебная информация для прошивальщика. В текстовом виде она начинается с букв «BC»

Короче, к чему я клоню? К тому, что имея небольшие познания о структуре БИОСов, но при этом умея фильтровать и анализировать входящий поток информации, научиться отличать что есть БИОС, а что — нет, не так уж и сложно.

P.S. рассмотрел на примере феникса, т.к. именно в его прошивальщике встречается строка ANDERSON. Ни в AMI, ни в Insyde такого нет, но там точно так же легко убедиться в том являются ли последние 16 байтов прошивки корректными или нет (т.е. мы неправильно порезали).

Как вытащить дамп биоса из exe файла

Часовой пояс: UTC + 4 часа

как отсюда вытащить дамп.

Страница 1 из 1 [ Сообщений: 22 ]

Заголовок сообщения: как отсюда вытащить дамп.
Добавлено: 29 май 2013 16:03
http://h10025.www1.hp.com/ewfrf/wc/soft . 3935#N1042 вот отсюда
Заголовок сообщения: Re: как отсюда вытащить дамп.
Добавлено: 29 май 2013 16:10

скачать єкзешник, открЫть винраром, скопировать в папку.
потмо запустить полученный экзешник с ключем хелпа

итого:
+—————————————————————————+
| AMI Firmware Update Utility v4.39_HP |
| Copyright (C)2009 American Megatrends Inc. All Rights Reserved. |
+—————————————————————————+
| Usage: AFUWIN [Option 1] [Option 2]. |
| or |
| AFUWIN |
| or |
| AFUWIN |
| ————————————————————————- |
| Commands: |
| /O — Save current BIOS into file |
| /C — Refer to Options: /C |
| /U — Display ROM file’s ROMID |
| /S — Refer to Options: /S |
| /Ln — Refer to Options: /Ln |
| /M — Refer to Options: /M |
| /MAI — Disaply System ROM and ROM file’s MA information |
| /HOLE: — Update specific ROM Hole according to given name. |
| NewRomHole1.BIN /HOLE:RomH1 |
| /HOLEOUT: — Save specific ROM Hole according to given name. |
| NewRomHole1.BIN /HOLEOUT:RomH1 |
| /NCB: — Update specific Non-Critical Block according to given name. |
| NewNcb1.BIN /NCB:Ncb1 |
| /NCBOUT: — Save specific Non-Critical Block according to given name. |
| NewNcb1.BIN /NCBOUT:Ncb1 |
| /D — Verification test of given ROM File without flashing BIOS. |
| /CLNEVNLOG — Refer to Options: /CLNEVNLOG |
| Options: |
| /P — Program main BIOS image |
| /B — Program Boot Block |
| /N — Program NVRAM |
| /C — Destroy CMOS checksum |
| /E — Program Embedded Controller Block |
| /K — Program all non-critical blocks |
| /Kn — Program n’th non-critical block only(n=0-7) |
| /Q — Silent execution |
| /REBOOT — Reboot after programming |
| /X — Don’t Check ROM ID |
| /S — Display current system’s ROMID |
| /Ln — Load CMOS defaults:(n=0-3) |
| L0: Load current optimal |
| L1: Load current failsafe |
| L2: Load optimal from ROM file |
| L3: Load failsafe from ROM file |
| /M — Update bootblock MAC address if it exists |
| Example: /M1234ABCD will update MAC to 1234ABCD |
| /R — Preserve ALL SMBIOS structure during NVRAM programming |
| /ECUF — Update EC BIOS when newer version is detected. |
| /SHUTDOWN — Shutdown after programming. |
| /EC — Program Embedded Controller Block. (Flash Type) |
| /CLNEVNLOG — Clear Event Log. |
+—————————————————————————+

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *