1

Я хочу увидеть распакованный код образа BIOS компьютера. Первый способ, который я вижу, это загрузить обновление BIOS Flash от производителя, но оно упаковано. Как я могу распаковать это? Заинтересованными поставщиками являются Gigabyte, ASUS, Supermicro, HP. Второй способ - полностью сбросить текущий BIOS. Могу ли я сбросить образ BIOS при использовании Windows или Linux?

Пример ASUS 1MB ROM

0000:0000 | 41 53 55 53   54 45 4B 00   00 00 00 00   00 00 00 00 | ASUSTEK.........
0000:0010 | FF FF FF FF   FF FF FF FF   FF FF FF FF   08 C0 01 00 | ЪЪЪЪЪЪЪЪЪЪЪЪ.ю..
0000:0020 | F1 3F 5C A4   08 00 90 CB   FF FF 11 90   00 00 00 00 | Я?\╓..░кЪЪ.░....
0000:0030 | 01 00 00 00   07 0A 00 00   08 20 09 04   7A 06 01 00 | ......... ..z...
0000:0040 | 5A 7F 06 83   01 00 00 00   11 00 00 00   D0 1F 00 00 | Z..┐........п...
0000:0050 | 00 20 00 00   00 00 00 00   00 00 00 00   00 00 00 00 | . ..............
0000:0060 | 00 00 00 00   A1 00 00 00   01 00 02 00   07 0A 00 00 | ....║...........
0000:0070 | 1A 00 00 00   00 00 00 A4   08 04 08 20   01 04 00 00 | .......╓... ....
0000:0080 | 01 00 00 00   7A 06 01 00   00 00 00 00   00 00 00 00 | ....z...........
0000:0090 | 00 00 00 00   00 00 00 00   00 00 00 00   00 00 00 00 | ................
0000:00A0 | 00 00 00 00   00 00 00 00   00 00 00 00   00 00 00 00 | ................
0000:00B0 | 00 00 00 00   00 00 00 00   00 00 00 00   00 00 00 00 | ................
0000:00C0 | 66 48 29 C4   14 A1 20 3E   9C F1 87 83   AA 14 FB DA | fH)д.║ >°Я┤┐╙.Шз
0000:00D0 | 09 83 A3 33   EA F8 B0 68   00 B2 20 2A   9E AA C7 CD | .┐ё3ЙЬ╟h.╡ *·╙гм
0000:00E0 | C7 E7 0C 17   05 C7 27 D7   A5 1B 9B 01   29 4A 41 E0 | гГ...г'в╔.⌡.)JAЮ
0000:00F0 | 58 54 D4 57   11 A4 A8 26   66 D9 AA 9F   B0 C8 5E 09 | XTтW.╓╗&fы╙÷╟х^.
0000:0100 | 2A 7C 3A 08   0F C7 CF 17   A8 78 8E 3C   19 C4 18 CE | *|:..го.╗x▌<.д.н
0000:0110 | B7 DE 2D 5F   71 5D C9 C9   16 51 7A 43   D0 3A 25 E0 | ╥ч-_q]ии.QzCп:%Ю

Это не похоже на готовый к дизассемблированию код (только что проверил, есть дикая смесь машинных кодов fp и int). Может быть, это зашифровано?

2 ответа2

3

http://www.phrack.org/issues.html?issue=66&id=11 описывает распаковщик ASUS объемом 1 МБ *.Файлы ROM:

ASUS BIOS основан на AMI BIOS, поэтому мы использовали утилиту управления модулями BIOS AMIBIOS, MMTool.exe, для извлечения основного модуля BIOS. Откройте скачанный.Файл ROM в MMTool, выберите извлечение модуля "Single Link Arch BIOS" (ID = 1Bh), отметьте опцию "В несжатом виде" и сохраните его. Это несжатый модуль основного BIOS.

0

Формат файла полностью проприетарный, поэтому вы вряд ли сможете найти его формат или программу, которая сможет его прочитать.

Из окон вы все равно можете использовать команду dos debug, чтобы разобрать BIOS в блоке F000:0000, но в наши дни системный BIOS намного больше, чем 64 или 128K, поэтому в этой области памяти видна только некоторая часть ( 16-битная часть совместимости). То, где все остальное хранится, полностью зависит от BIOS, и для его отображения обычно необходимо установить где-то в аппаратном регистре бит, который преобразует блок адресов оперативной памяти в полное ПЗУ BIOS. Детали этого чипсета специфичны, но он будет доступен только в защищенном режиме. Управление аппаратными регистрами и доступ к этой памяти невозможны в пользовательском режиме.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .