Любая модификация делается на свой страх и риск. Прошивка модифицированного BIOS может привести к неработоспособности материнской платы. Автор не несет ответственности за возможные последствия.
Часть изображений ниже представлена в GIF-формате. Если непонятен очередной шаг, следует кликнуть на сопроводительную гифку – запустится анимация.
Все изображения, используемые для отрисовки интерфейса BIOS, хранятся в запакованном виде. Для их распаковки необходимо:
На выходе скрипт создает две папки с идентичным содержимым. В них расположены все изображения из интерфейса BIOS. Любое из них заменяемо.
Для примера можно заменить оригинальные фоны BIOS на фоны от Asus Z370-Z690.
В Z170 фоны представлены в виде пережатых JPEG:
А в Z370-Z690 фоны представлены в виде качественных PNG:
Изображения JPEG и PNG в рассматриваемом модуле взаимозаменяемы. Заменять изображение необходимо на изображение с идентичным разрешением.
В случае JPEG имеют значение настройки сжатия. Совместимый JPEG можно получить сохранением через Paint.
Необходимо следить и за размером изображений. Новые изображения не должны сильно превышать оригинальные. Небольшое превышение размеров тем не менее допустимо. Увеличение размера исходного модуля с 870KB до 937KB проблем не вызывает.
После выбора изображений под замену необходимо определить адрес (офсет) заменяемых изображений в исходном модуле. Эта информация содержится в имени распакованных изображений:
Так первый фон расположен по офсету 0x44, а второй фон – по офсету 0x73820.
Здесь следует рассмотреть структуру упакованного модуля:
Первые 32 байта – заголовок модуля. Он встречается лишь один раз в начале файла.
Следующие 32 байта содержат информацию о следующем за ними изображения. Эти 32 байта – заголовок изображения. Количество заголовков равно количеству изображений в модуле.
Наконец после заголовка изображения следует непосредственно само изображение. Размер изображений плавающий.
Офсеты, определенные скриптом, указывают непосредственно на начало самого изображения.
Заменять изображения следует с большего офсета. Если заменять с меньшего, то следующие за ним изображения сдвинутся. Т.е. сначала следует заменить второй фон, а затем – первый.
Замена изображений проводится в HEX-редакторе следующим образом:
Остается только заменить оригинальный модуль отредактированным через UEFITool и сохранить получившийся BIOS: *Ctrl+F* → GUID=CC5840D2-D8EA-459E-BAF4-349AC710EBBE → EE4E5898-3914-4259-9D6E-DC7BD79403CF → Replace Body… → *Ctrl+S
После прошивки модифицированного BIOS можно увидеть изменение фонов:
Те же разделы с фонами по умолчанию:
В случае использования изображения неправильного формата оно не будет отрисовываться в BIOS:
В случае неправильного добавления дополняющих нулей заменяемое изображение и все следующие за ним не будут отрисовываться в BIOS.
Информация о модификации взята на форуме Win-Raid.