Биос для асус: Прошивки для BIOS — Скачать бесплатно для ASUS

Замена изображений интерфейса Asus BIOS

Этот материал написан посетителем сайта, и за него начислено вознаграждение.

О рисках

Любая модификация делается на свой страх и риск. Прошивка модифицированного BIOS может привести к неработоспособности материнской платы. Автор не несет ответственности за возможные последствия.

Используемые инструменты

  • UEFITool 0.28
  • Python 3.10
  • Hex Workshop
  • Скрипт Python UefiImageExt: 1 или 2

GIF-изображения

Часть изображений ниже представлена в GIF-формате. Если непонятен очередной шаг, следует кликнуть на сопроводительную гифку – запустится анимация.

Извлечение изображений

рекомендации

Все изображения, используемые для отрисовки интерфейса BIOS, хранятся в запакованном виде. Для их распаковки необходимо:

  1. Открыть BIOS с помощью UEFITool.
  2. Извлечь модуль с изображениями: *Ctrl+F* → GUID=CC5840D2-D8EA-459E-BAF4-349AC710EBBE → EE4E5898-3914-4259-9D6E-DC7BD79403CF → Extract Body…
  3. Распаковать модуль с помощью скрипта:

На выходе скрипт создает две папки с идентичным содержимым. В них расположены все изображения из интерфейса BIOS. Любое из них заменяемо.

Для примера можно заменить оригинальные фоны BIOS на фоны от Asus Z370-Z690. 

В Z170 фоны представлены в виде пережатых JPEG:

А в Z370-Z690 фоны представлены в виде качественных PNG:

Подготовка изображений под замену

Изображения JPEG и PNG в рассматриваемом модуле взаимозаменяемы. Заменять изображение необходимо на изображение с идентичным разрешением.  

В случае JPEG имеют значение настройки сжатия. Совместимый JPEG можно получить сохранением через Paint.

Необходимо следить и за размером изображений. Новые изображения не должны сильно превышать оригинальные. Небольшое превышение размеров тем не менее допустимо. Увеличение размера исходного модуля с 870KB до 937KB проблем не вызывает.

Расположение изображений в модуле

После выбора изображений под замену необходимо определить адрес (офсет) заменяемых изображений в исходном модуле. Эта информация содержится в имени распакованных изображений:

Так первый фон расположен по офсету 0x44, а второй фон – по офсету 0x73820.

Здесь следует рассмотреть структуру упакованного модуля:

Первые 32 байта – заголовок модуля. Он встречается лишь один раз в начале файла.

Следующие 32 байта содержат информацию о следующем за ними изображения. Эти 32 байта – заголовок изображения. Количество заголовков равно количеству изображений в модуле.

Наконец после заголовка изображения следует непосредственно само изображение. Размер изображений плавающий.

Офсеты, определенные скриптом, указывают непосредственно на начало самого изображения.

Замена изображений в модуле

Заменять изображения следует с большего офсета. Если заменять с меньшего, то следующие за ним изображения сдвинутся. Т.е. сначала следует заменить второй фон, а затем – первый.

Замена изображений проводится в HEX-редакторе следующим образом:

  1. Модуль с упакованными изображениями открывается в HEX-редакторе. Для удобства количество столбцов HEX-редактора урезается до 16 (столбцы от 0 до F):
  2. В модуле делается переход по офсету оригинального изображения: *Ctrl+G* → ‘offset’ → Hex → Beginning of File → Go
  3. Делается переход назад от текущей позиции по офсету 0x20: *Ctrl+G* → 20 → Current Position →  Go → *Shift+F5*

    Визуально это ровно на две строки выше начала изображения, куда делается переход в пункте [2].

    По этому адресу указан размер изображения справа-налево:

  4. После определения размера изображения повторяется переход в начало оригинального изображения – пункт [2].
  5. Делается переход вперед от текущей позиции по размеру изображения: *Ctrl+G* → ‘size’ → Current Position →  Go

    Так осуществляется переход в конец изображения:

    Между концом изображения и размером следующего за ним может быть несколько байтов нулей от 1 до 3 (от двух нулей до шести). Они дополняют размер изображения до кратного четырем.

  6. Все байты от конца изображения до его начала выделяются и удаляются. Удаляются и дополняющие нули при их наличии.
  7. Новое изображение открывается в HEX-редакторе. Для удобства количество столбцов HEX-редактора урезается до 16 (столбцы от 0 до F).
  8. После перехода в конец файла определяется размер изображения:

    Определяется число нулей, необходимых для дополнения размера до кратного четырем байтам.
    Для первого фона, например, дописывается три байта нулей:

  9. Размер нового изображения вписывается в модуль вместо старого:
  10. Все байты нового изображения копируются и вставляются в модуль по офсету старого:

    Проверить правильность вставки можно переходом по размеру изображения из его начала в конец.

  11. По необходимости вставляются дополняющие нули.
  12. Пункты [2]-[11] повторяются по числу заменяемых изображений.
  13. Отредактированный модуль сохраняется через Hex-редактор: File → Save As…

Замена модуля

Остается только заменить оригинальный модуль отредактированным через UEFITool и сохранить получившийся BIOS: *Ctrl+F* → GUID=CC5840D2-D8EA-459E-BAF4-349AC710EBBE → EE4E5898-3914-4259-9D6E-DC7BD79403CF → Replace Body… → *Ctrl+S 

Результат

После прошивки модифицированного BIOS можно увидеть изменение фонов:

Те же разделы с фонами по умолчанию:

Возможные ошибки

В случае использования изображения неправильного формата оно не будет отрисовываться в BIOS:

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

Благодарность

Информация о модификации взята на форуме Win-Raid.

Этот материал написан посетителем сайта, и за него начислено вознаграждение.