Phoenix bios editor что это

Обновлено: 05.07.2024

Прикрываясь полумифическими «безопасностью» и «защитой простого пользователя от буткитов» производители UEFI все сильнее закручивают гайки с каждым новым поколением своих продуктов. При этом поддержка предыдущих поколений быстро сходит на нет, и их пользователям ничего не остается, кроме как брать эту самую поддержку в свои руки. Конечно, при отсутствии исходного кода вносить какие-то изменения довольно сложно, но и без него можно сделать многое.
В своих предыдущих статьях об UEFI я планировал описать различные полезные модификации, которые помогают преодолеть некоторые заложенные производителями ограничения, но тогда до них руки не дошли, зато теперь — самое время.
В первой части этой статьи я опишу работу с написанным мной инструментом для модификации образов UEFI, а вторая будет посвящена самим модификациям.

Вступление, отказ от ответственности

Прошивка UEFI BIOS на современных платах, несмотря на наличие различных технологий вроде USB BIOS Flashback, Dual BIOS, Flash Recovery и т.п. — все равно лотерея. Прошивка же модифицированных образов — лотерея вдвойне.
Именно поэтому я прошу до начала любых экспериментов с прошивкой сделать при помощи аппаратного SPI-программатора полный дамп содержимого микросхемы, иначе восстановление после неудачной прошивки (а она рано или поздно случится) будет долгим, дорогим и болезненным.
SPI-программатор в данный момент может быть собран в домашних условиях из чего угодно, от пары резисторов и конденсаторов (SPIPGM) до Arduino или Raspberry Pi. Мой вариант дешевого и быстрого SPI-программатора описан здесь. Любителям вытравить пару-тройку плат советую обратить внимание на этот проект, а почитателям устройств «все-в-одном» — на этот.
Далее по тексту я полагаю, что у вас есть программатор, возможность восстановления после сбоя прошивки и готовность к экспериментам. Безумству храбрых, конечно, тоже можно петь песни, но не говорите потом, что я не предупреждал.
Традиционно, все, что вы тут сейчас прочитаете, написано в образовательных целях, автор не несет ответственности за возможную порчу вашего оборудования, недополученную прибыль, потерю времени и веры в человечество, вы пользуетесь предоставленным софтом на свой страх и риск и так далее.

UEFITool

  • сохранить элемент в файл либо целиком (Extract as is), либо только данные, без заголовков (Extract body)
  • пересобрать элемент (Rebuild), в этом случае при сохранении измененного образа для него (и всех его родительских элементов) будут пересчитаны размеры, контрольные суммы, исправлено выравнивание, т.е. структура образа будет приведена в соответствие со спецификацией UEFI PI
  • вставить элемент из файла, либо перед выбранным (Insert before), либо после (Insert after), либо внутрь него (Insert into, в данном случае внутрь PE32-секции ничего вставить не получится)
  • заменить элемент на другой элемент из файла, либо целиком (Replace as is), либо только его тело (Replace body)

Пример использования

Подробности, другие модификации, заключение

Если вам интересно, откуда взялся магический паттерн «75080FBAE80F» и на какие еще патчи стоит обратить внимание — читайте вторую часть этой статьи, которая будет опубликована немного позже. В ней я постараюсь подготовить побольше примеров в формате «что за модификация, зачем нужна, как сделать, кем и как была найдена», не углубляясь каждый раз в то, как именно вынуть подлежащий модификации элемент и как вставить его обратно.
Надеюсь, что статья не показалась слишком скучной и нудной. Если у вас есть вопросы и предложения — буду рад выслушать и ответить по мере сил. Баг-репортам буду рад еще больше. Спасибо заранее и удачных прошивок.

Написал однажды мне друг с ноутбуком Samsung r60. Процессор в этом ноутбуке поддерживает аппаратную виртуализацию, но по умолчанию она отключена, и пункт включения в биосе отсутствует. Биос — Phoenix. Мы не будем патчить биос, мы будем патчить NVRAM!

Нам понадобятся:
• Samsung's FW Modules Extractor
• Phoenix BIOS Editor
• SYMCMOS — читалка/писалка cmos
• NDISASM — дизассемблер x86 кода
• Загрузочная флешка/дискета с DOS

Ну что ж, приступим!
Качаем прошивку с сайта Samsung. Прошивка идет одним .exe файлом вместе с прошивальщиком, нужно достать сам файл прошивки. Для этого воспользуемся Samsung's FW Modules Extractor


Не все файлы распаковались, но это не важно.

Открываем прошивку в Phoenix BIOS Editor, сворачиваем его и достаем файлы BIOSCOD*.ROM из папки TEMP Phoenix BIOS Editor'а. Он распаковал нашу прошивку. Копируем файлы в другую папку, закрываем Phoenix BIOS Editor.

Начинается самое интересное. Дизассемблируем файлы из прошивки, в моем случае их было 7 (0-6):
$ for i in ; do ndisasm -a -p intel -b 16 BIOSCOD0$i.ROM > BIOSCOD0$i.dasm; done

Путем гугления выяснилось, что искать нужно команду mov ecx,0x3a:
$ grep 'mov ecx,0x3a' *.dasm
BIOSCOD04.dasm:0000BE99 66B93A000000 mov ecx,0x3a
Отлично, команда найдена в файле BIOSCOD04.dasm!

0000BE99 66B93A000000 mov ecx,0x3a
0000BE9F 0F32 rdmsr
0000BEA1 668BD8 mov ebx,eax
0000BEA4 83E305 and bx,byte +0x5
0000BEA7 B86F06 mov ax,0x66f
0000BEAA 9A355400F0 call word 0xf000:0x5435
0000BEAF C1E002 shl ax,0x2
0000BEB2 40 inc ax
0000BEB3 38D8 cmp al,bl
0000BEB5 7432 jz 0xbee9
Из кода видно, что в регистр ax записывается значение по адресу 0x66f, выполняются сравнения между al и bl, и если оба значения совпадают — прыгаем на адрес 0xbee9 — адрес отключения виртуализации.

Что такое BIOS Phoenix? Каких видов он бывает и для чего предназначен? Не каждый пользователь представляет себе, с чего начинается запуск компьютера и из-за чего могут возникнуть различные ошибки.

Понятие

bios phoenix

Системы БИОСа, в отличии от операционных систем, имеют разных производителей, которые выпускают их в виде микросхем, устанавливаемых на материнские платы. Они полностью совместимы с любой версией Windows до "семёрки" включительно. Наиболее известные марки BIOS: Phoenix, Award, AMI.

Настройка

Система БИОСа позволяет проводить первоначальную и основную настройку компьютера. Например, Phoenix BIOS, настройка которого позволяет управлять следующими параметрами персонального компьютера:

  1. Отладка старой периферии, использовавшейся до 2000 года.
  2. Возможность провести сброс до заводских настроек и изменить режим работы аппаратуры.
  3. Управление системным временем и датой.
  4. Возможность установки пароля на персональный компьютер.
  5. Включение и отключение встроенного в материнскую плату оборудования.
  6. Защита системы от копирования.
  7. Ускорение загрузки операционной системы.
  8. Установка очередности носителей для загрузки операционной системы.

bios phoenix award

При настройке БИОСа важно помнить, что эта микросхема имеет энергозависимую память. Поэтому, если вы удалите с материнской платы батарейку-таблетку хотя бы на секунду, все настройки сбросятся. Это, кстати, нехитрый способ обойти пароль, установленный с помощью БИОСа.

Необходимость апдейта

Иногда бывают такие ситуации, когда невозможно обойтись без обновления программного обеспечения персонального компьютера. Поскольку БИОС и, в частности, BIOS Phoenix - это набор контролирующих программ, то их обновление жизненно важно для вашего персонального компьютера. Необходимость в нем может быть обусловлена двумя основными причинами:

  1. По совету производителя. Этот вариант работает в тех случаях, когда выпускается новый продукт. У него может быть еще "сырое" программное обеспечение, требующее залатывания некоторых "дыр".
  2. Если вы решили обновить оборудование на вашем персональном компьютере. При покупке, например, нового процессора важно уточнить, поддерживают ли ваша материнская плата и БИОС его. Если нет, то вам необходимо зайти на сайт производителя ноутбука либо на сайт изготовителя материнской платы ПК (можно прочитать на самой материнской плате) и узнать, есть ли подходящие обновления.

обновить bios phoenix

В любом случае, пользователь должен осознавать риски самостоятельного обновления БИОСа. При неправильном обращении с утилитами обновления вы рискуете привести свою материнскую плату в полностью нерабочее состояние.

Процесс

Итак, если вы решились на самостоятельное обновление БИОСа, вам, в первую очередь, потребуется скачать обновления на компьютер. На сайте BIOS Phoenix, вы можете найти либо драйвера, либо специальную утилиту для обновления БИОСа. Эта программа устанавливается на ваш компьютер так же, как и любое другое приложение. Затем при запуске она предложит вам выбрать источник обновления. Это может быть либо уже скачанный вами файл, либо Интернет (указывается в качестве источника). В последнем случае программа сама определит и загрузит необходимые драйвера.

phoenix bios setup utility загрузка с флешки

Другой вариант того, как обновить BIOS Phoenix, используется, если он установлен на ноутбуке. Дело в том, что производители ноутбуков не выпускают своих систем BIOS. Они устанавливают на гаджет готовые решения. Поэтому, если вы хотите обновить БИОС на ноутбуке, то просто заходите в него и находите предустановленное специальное приложение. Например, у ASUS это будет Easy Flash. После запуска вам потребуется найти файл прошивки, который предварительно необходимо скачать с сайта производителя.

Everest

Это специальная программа, приспособленная для работы с оборудованием, установленным на ваш персональный компьютер. С её помощью можно не только узнать версию вашего БИОСа, не вскрывая системный блок но и провести его обновление.

После установки программы в открывшемся окне слева выбираем подпункт "Суммарная информация". В правом окошке находим строчку "Материнская плата", нажимаем и в появившемся диалоговом окне выбираем обновление БИОСа.

Либо можно также в левом окне программы развернуть вкладку "Материнская плата", выбрать BIOS и уже справа в строке "Обновление БИОС" перейти на необходимый сайт.

phoenix bios настройка

Восстанавливаем систему

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

Что еще необходимо знать про Phoenix BIOS? У различных производителей ноутбуков могут быть назначены разные кнопки для входа в БИОС. Обычно это кнопки F1-F12, но могут встречаться и варианты с Esc и Del. Еси вы думаете, что на вашем компьютере установлен phoenix, а при входе в БИОС появляется надпись Phoenix-Award Bios, не пугайтесь. Дело в том, что компания Award была выкуплена Phoenix.

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

реклама

Естественно, пытливого юзера не может устраивать такое злодейское ограничение пользовательской свободы. В связи с чем предлагаю рассмотреть способы обхода этих искусственных препон. Рассматривать будем на примере плат Intel 100-300 чипсетов. Аспекты работы с AMIBCP общеприменимы.


MSI RTX 3070 сливают дешевле любой другой, это за копейки Дешевая 3070 Gigabyte Gaming - успей пока не началось

Способ 1. Простой
требуется: программа AMIBCP и навык прошивки МП

Качаем подходящую версию AMIBCP. В нашем случае v5.02.

реклама

var firedYa28 = false; window.addEventListener('load', () => < if(navigator.userAgent.indexOf("Chrome-Lighthouse") < window.yaContextCb.push(()=>< Ya.Context.AdvManager.render(< renderTo: 'yandex_rtb_R-A-630193-28', blockId: 'R-A-630193-28' >) >) >, 3000); > > >);

File → Open… (файл_биос)

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


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

реклама

Для открытия элемента достаточно поменять значение в колонке Access/Use на USER:


Обратите внимание, на разделы, описанные как бы наравне с главным, есть ссылки в теле главного блока. Т.е. доступ к ним получить можно. Например, по пути Setup → Advanced → System Agent (SA) Configuration → Memory Configuration большой раздел с настройками памяти.

реклама


Помимо открытия доступа к настройкам, AMIBCP позволяет изменить значения настроек по умолчанию, переименовать параметры и разделы.

Этим способом можно открыть только те настройки, которые непосредственно прописаны в главном блоке.

Способ 2. Сложный (для разделов)
то же + UEFITool, IFR-Extractor и HEX-редактор

Попытаемся разблокировать тот же раздел с настройками памяти на Gigabyte. Организация БИОС здесь другая, упоминаний нужного раздела в главном блоке нет.


Подменим доступный раздел скрытым. «Пожертвуем», к примеру, подменю USB Configuration (Setup → Peripherals).

Определились с тем, что хотим открыть, определились, что хотим закрыть. К делу!

UEFITool

Ищем модуль по сигнатуре $SPF: *Ctrl+F* → Text


Извлекаем и сохраняем модуль: *ПКМ* → Extract Body (to SPF.bin)


GUID модуля может отличаться, в этом случае вести поиск по сигнатуре Setup.

Модуль → PE32 Image Section → *ПКМ* → Extract Body (to Setup.bin)


IFR-Extractor

*открыть* → Setup.bin → Extract (to Setup IFR.txt)


Открываем Setup IFR.txt в блокноте.

Нас интересует FormId.

Теперь определим FormId раздела «Memory Configuration»:
0x3B628 Form: Memory Configuration, FormId: 0x2738

Открываем SPF.bin в HEX-редакторе.

Ищем HEX-последовательность, соответствующую FormID раздела Memory Configuration:
*Ctrl+F* → Hex Values (3827)


Нас интересует page_id через 4 позиции – 0060 (последовательность 6000)

Аналогично ищем page_id для Usb Configuration. Сразу за page_id 005D следует parent_id 0019.


Parent_id – это page_id родительского раздела, в нашем случае раздела Peripherals.

Ищем обратную последовательность parent_id+page_id (19005D00). Это форма вызова раздела USB Configuration.
Заменяем page_id USB Configuration на page_id Memory Configuration. Вместо 19005D00 получаем соответственно 19006000:


Остается только заменить исходный SPF модуль на модифицированный в UEFITool:
*ПКМ* → Replace Body…

Сохраняем: File → Save image file. Прошиваем.

Теперь вместо раздела USB Configuration будет вызываться раздел с настройками памяти.

При желании можно изменить имя раздела в AMIBCP.

Если AMIBCP не работает

С новыми материнками все чаще AMIBCP работать отказывается.


В этом случае остается лишь использовать 2 способ.

О прошивке

Читайте также: