Click here follow the steps to fix Phoenix Sct Flash Error 233 and related errors.
|
|
|
|
To Fix (Phoenix Sct Flash Error 233) error you need to |
|
|
Step 1: |
|
|---|---|
| Download (Phoenix Sct Flash Error 233) Repair Tool |
|
|
Step 2: |
|
| Click the «Scan» button | |
|
Step 3: |
|
| Click ‘Fix All‘ and you’re done! | |
|
Compatibility:
Limitations: |
Phoenix Sct Flash Error 233 Error Codes are caused in one way or another by misconfigured system files
in your windows operating system.
If you have Phoenix Sct Flash Error 233 errors then we strongly recommend that you
Download (Phoenix Sct Flash Error 233) Repair Tool.
This article contains information that shows you how to fix
Phoenix Sct Flash Error 233
both
(manually) and (automatically) , In addition, this article will help you troubleshoot some common error messages related to Phoenix Sct Flash Error 233 error code that you may receive.
Note:
This article was updated on 2023-02-04 and previously published under WIKI_Q210794
Contents
- 1. What is Phoenix Sct Flash Error 233 error?
- 2. What causes Phoenix Sct Flash Error 233 error?
- 3. How to easily fix Phoenix Sct Flash Error 233 errors
What is Phoenix Sct Flash Error 233 error?
The Phoenix Sct Flash Error 233 error is the Hexadecimal format of the error caused. This is common error code format used by windows and other windows compatible software and driver vendors.
This code is used by the vendor to identify the error caused. This Phoenix Sct Flash Error 233 error code has a numeric error number and a technical description. In some cases the error may have more parameters in Phoenix Sct Flash Error 233 format .This additional hexadecimal code are the address of the memory locations where the instruction(s) was loaded at the time of the error.
What causes Phoenix Sct Flash Error 233 error?
The Phoenix Sct Flash Error 233 error may be caused by windows system files damage. The corrupted system files entries can be a real threat to the well being of your computer.
There can be many events which may have resulted in the system files errors. An incomplete installation, an incomplete uninstall, improper deletion of applications or hardware. It can also be caused if your computer is recovered from a virus or adware/spyware
attack or by an improper shutdown of the computer. All the above actives
may result in the deletion or corruption of the entries in the windows
system files. This corrupted system file will lead to the missing and wrongly
linked information and files needed for the proper working of the
application.
How to easily fix Phoenix Sct Flash Error 233 error?
There are two (2) ways to fix Phoenix Sct Flash Error 233 Error:
Advanced Computer User Solution (manual update):
1) Start your computer and log on as an administrator.
2) Click the Start button then select All Programs, Accessories, System Tools, and then click System Restore.
3) In the new window, select «Restore my computer to an earlier time» option and then click Next.
4) Select the most recent system restore point from the «On this list, click a restore point» list, and then click Next.
5) Click Next on the confirmation window.
6) Restarts the computer when the restoration is finished.
Novice Computer User Solution (completely automated):
1) Download (Phoenix Sct Flash Error 233) repair utility.
2) Install program and click Scan button.
3) Click the Fix Errors button when scan is completed.
4) Restart your computer.
How does it work?
This tool will scan and diagnose, then repairs, your PC with patent
pending technology that fix your windows operating system registry
structure.
basic features: (repairs system freezing and rebooting issues , start-up customization , browser helper object management , program removal management , live updates , windows structure repair.)
← Вернуться в раздел «Общие вопросы»
[more] Приветствую! в общем очень надеюсь на оперативную помощь . Или если вариантов много — на большое их количество чтоб завтра мог проверить все возможные варианты для исправления!
Поставил WIN7 на lenovo u310… скачал дрова с офф. поддержки Lenovo, а так же скачал обнову прошивки Bios (как позже почитал в описании — она для WIN8 !!!)
во время установки дров по порядку из папки запустил обновление Bios’a , комп перезагрузился и во время самого начала загрузки Win7 очень быстро промелькивает синий экран ( абсолютно неясно что написано) и происходит перезагрузка до этого же момента.
Прошу всех понимающих помочь хоть какими то идеями…
по идее прошивка должна и win7 поддерживать , не понимаю почему так….
скидывал настройки по умолчанию. в бестолку.
потом нашел прошивку Biosa подходящую к 7ке. но поставить ее не знаю как и от куда!
на asus вроде как можно из биоса через утилиту EZ Flash обновить или перепрошить биос , тут не знаю что и делать
в связи с тем что ноут чужой и доступ к нему ограничен по времени — прошу побольше вариантов.
мои варианты:
1ый: данный биос тупо не поддерживает 7винду ( но это глуповато ), потому что для 8ки . И как решение — установить 8ку и из нее уже поставить прошивку биоса подходящую для 7ки и ставить потом 7ку ( ну это танцы с бубном и время уйма..)
2ой: сбились настройки biosa — но там их не так много и нечего толкового не увидел что менять можно ?!?!? и так как по умолчанию сбрасывал — по идее должно работать все, но толку нет.
и пара вопросов не по этой теме, но все же может кто словом обмолвиться :
— после загрузки 7ки вылетает окно ошибки:
» Не удалось найти «Liveupdt.exe». Проверьте, правильно ли указано имя и повторите попытку. »
без понятия от куда оно запущено и какое приложение это вызывает…
— после загрузки вин7 не с того , не с сего периодически открывается окно Хрома с неясным сайтом и предложением установить HD плеер или того плана…
вроде все чистил , это не стартовая страница … от куда так же оно может запускаться ?
ЗАРАНЕЕ ОГРОМНОЕ СПАСИБО ВСЕМ КТО ХОТЯ КАК ТО ОКАЖЕТ ПОМОЩЬ!!! =10000 к карме и всем удачи [/more]
Автор: bifido76
Дата сообщения: 05.03.2016 10:04
Скачайте LiveCD на основе восьмерки отсюда. Из под него можно перешить биос. http://sergeistrelec.ru/
Если после этого не будет загружаться, то нужно покопаться и настроить биос.
Проверьте параметр Sata mode (или Sata type) — поменяйте значения туда сюда — AHCI или IDE.
Также попробуйте менять значения в этом параметре — http://www.nastrojkabios.ru/parametri-zagruzki/boot-list-option.html
Автор: Pe4atnik
Дата сообщения: 05.03.2016 12:07
Ок. попробую мысль понял. Дай Бог сработает! Спасибо за совет!
Но на всякий случай хотел бы еще рекомендации увидеть , чтоб вруг что — перепробовать все что можно!
Просто ранее встречали BIOSы с более расширенными настройками…тут как то вариантов немного.
Автор: bifido76
Дата сообщения: 05.03.2016 12:22
К сожалению, сейчас в мануалах для ноутов, которые предоставляет производитель, практически не дается описания интерфейса биоса. Так что приходится разбираться с конкретным биосом устройства на месте, самостоятельно — глядя в этот самый интерфейс (особенно с такими «обрезками», которые встречаются в ноутах). Поэтому подсказать что либо большее, чем общие рекомендации, не имея перед глазами данное устройство (или хотя бы скрины с биоса), достаточно проблематично.
Автор: Pe4atnik
Дата сообщения: 05.03.2016 12:28
Понимаю… Пока сам не увидишь — не так оно и ясно.. согласен!
Может у тебя viber есть и когда я там буду ты сможешь как то помочь удаленно? если другие способы не помогут и сам я не разберусь? )
я каким то образом отблагодарю )
Автор: bifido76
Дата сообщения: 05.03.2016 12:45
Рад бы конечно помочь, но к сожалению ни viber — а, ни whatsapp -а у меня нет (старенький смартфон — только как звонилка, для установки просто места нет). Если бы в системе был косяк, то через TeamViewer я бы помог, а так извини, но удаленно помочь с биосом я наверно не смогу.
Автор: Pe4atnik
Дата сообщения: 05.03.2016 12:53
еще вариант — я с своим ноутом поеду, и с тобой могу в скайпе или вообще viber на комп можешь поставить с номером твоего телефона ( делал так когда смартфон потерял — удобно кстати ) .
и я скидывал б фотки туда … Если своими силами не получиться …. но надеюсь тебя тревожить не придется)
Автор: bifido76
Дата сообщения: 05.03.2016 13:03
Pe4atnik
Сейчас в гугле картинки поискал по этому биосу, глянь, оно не оно (картинка внизу) —
https://www.bios-mods.com/forum/Thread-Request-Lenovo-U310-U410-bios-unlock-65cn21ww?page=2
Автор: Pe4atnik
Дата сообщения: 05.03.2016 13:22
страница пишет недоступна((((
сам посмотрел:
если память не изменяет — то такого плана: http://benyouhuifile.it168.com/forum/201205/08/134616dzr2lgdgricannh4.jpg
Добавлено:
ооо вот он !!!!!!!!!
http://ideapad.it168.com/thread-2124437-1-1.html
только после обновления BIOSa на последней вкладке еще появился пункт , вроде означающий какую ОСь поддерживать и выбор либо 8ку или другую ( что то , что другое ставлю — нет эффекта)
вроде так и выглядит все….. но это биос на вид до обновления. после обновления возможно и поменялось что то совсем незначительно!
какие варианты что где клацать ?!?!?
Автор: bifido76
Дата сообщения: 05.03.2016 13:41
Да, так и думал —
https://support.lenovo.com/il/en/documents/ht076090?tabName=Solutions
Этот обрезок никак толком не настроишь, там просто нечего настраивать (вкладки Advanced нет).
Нужно просто перешить биос под семерку (думаю, что с восьмерочным биосом семерка не покатит). И настроить два пункта —
На вкладке Configuration —
Sata Controller working mode — выбрать AHCI или IDE (смотря в каком режиме система первоначально ставилась)
На вкладке Boot —
UEFI Boot — выбрать Enabled или Disabled (для семерки скорее всего последнее)
И все, ничего другого там больше не настроишь.
Автор: Pe4atnik
Дата сообщения: 05.03.2016 13:50
ну вот и я о том же…. просто полез настраивать и там то нече толком и нет…. ну надеюсь сейчас LiveCD сделаю под 8ку и через него поставлю для 7ки биос .
тут будут какие то подводные камни?
если стоит уже 7ка — ее по новой ставить не надо будет? просто удастся зайти в уже установленную ведь?
и может еще по этим мелким пунктам поможешь ?)
— после загрузки 7ки вылетает окно ошибки:
» Не удалось найти «Liveupdt.exe». Проверьте, правильно ли указано имя и повторите попытку. »
без понятия от куда оно запущено и какое приложение это вызывает…
— после загрузки вин7 не с того , не с сего периодически открывается окно Хрома с неясным сайтом и предложением установить HD плеер или того плана…
вроде все чистил , это не стартовая страница … от куда так же оно может запускаться ?
bifido76 тебе большое человеческое спасибо
Автор: bifido76
Дата сообщения: 05.03.2016 14:09
Думаю, что проблем быть не должно, просто скачать правильную версию биоса — http://support.lenovo.com/il/en/products/laptops-and-netbooks/ideapad-u-series-laptops/ideapad-u310/downloads/DS033646 и прошить. Подводных камней быть не должно и переставлять систему вероятно не придется.
По мелким пунктам — это уже вероятно какие-то косяки от программ, которые ты ставил после установки системы.
«Liveupdt.exe» — можно использовать утилиту AutoRuns из набора Sysinternals Suite и удалить записи из реестра в автозагрузке, связанные с этим файлом.
Насчет Хрома — также проверить автозагрузку с помощью AutoRuns и проверить задания в планировщике.
На чистой ситеме такого конечно быть не должно — отсюда возникает вопрос — какую сборку семерки ставил и откуда ставил программы ?
Автор: Pe4atnik
Дата сообщения: 05.03.2016 14:19
Та эту версию еще вчера скачал , а вот поставить не смог без LiveCD.
и я так понимаю загрузочный диск и LiveCD — одно же и то же?!?!
Ранее не пользовался чуток в этом деле не продвинут пока что.
буду пробовать. вдруг что через часа полтора отпишу что как!)
Где делаю lenovo , в той же семье другой ноут есть и его попросили почистить , вирусы в безопасном режиме Cureit’ом почистил 33 штучки , но все равно два этих прикола выскакивают . а какие операции до этого проводились — без понятия.
Автор: bifido76
Дата сообщения: 05.03.2016 14:30
Да LiveCD это загрузочный диск, если нет желания региться на сайте Стрельца, то можешь с моего облака скачать — https://cloud.mail.ru/public/F9hs/Y9ombAB1v.
Иногда бывает легче систему переставить, чем от вирусяк чистить и разбираться с последствиями их «работы» на компе.
Автор: Pe4atnik
Дата сообщения: 05.03.2016 14:39
Та зарегался уже, качаю)
на всякий случай лучше уточню лишний раз …
та там не особо запущенно вроде…
просто попытаюсь убрать это вылетающие окно «Liveupdt.exe»
чтоб почистить из реестра — достаточно воспользоваться поиском liveupd.exe в реестре и удалить че найдет? я вроде пробовал искать , там связанного с этим названием нету записей(
Автор: bifido76
Дата сообщения: 05.03.2016 14:52
Скачай AutoRuns, запустишь и сможешь прошерстить всю автозагрузку от всякой фигни- https://cloud.mail.ru/public/2LCb/NeiNHfgqn
Автор: Pe4atnik
Дата сообщения: 05.03.2016 15:03
СПАСИБО ОГРОМНОЕ!!!!
отпишу как что получилось!!!! !! больше б людей которым не тяжело помочь в трудной ситуации другим ! удачи! )
Добавлено:
вот только что зашел с 8ки загрузочного диска запустил прошивку от имени администратора и выкинуло ошибку ERROR 233 — Only secured capsule is allowed on a SecureFlash system! Status = 1
фото события (((( Че ж делать теперь то????? http://iscr.ru/1457187284/
Добавлено:
Потом открылся Phoenix SCT Flash
заупустил , нажав на Flash
выбило ошибку ERROR 105 — Command ine error! Status = 105
Автор: bifido76
Дата сообщения: 06.03.2016 12:08
Биос воспринимается как более старая версия. На форумах пишут, что с той версией биос, которая на данный момент у вас, семерка должна работать. Так что пробуйте настроить текущий биос — винда должна запуститься. Ну, а если совсем никак не пойдет, то тогда выхода нет — ставьте восьмерку.
Автор: Pe4atnik
Дата сообщения: 09.03.2016 11:36
Причину так и не выяснил …
При чем даже установка WIN 7 не захотела запускаться с флешки ( Хотя ее же и установил без проблем до этого). Пытался настроить тем что есть в том биосе ( функций 15 от силы) , в бестолку….
Потратил кучу времени и все таки Поставил 8ку… Работает без нареканий.
вот такие дела….
спасибо за советы!!!!!
Страницы: 1
Предыдущая тема: Realtek ALC892 хрипит звук с задней панели
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель — сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.
You’re currently viewing a stripped down version of our content. View the full version with proper formatting.
(08-23-2015, 12:24 PM)Oleh Wrote: [ -> ]
(08-23-2015, 12:21 PM)Synistar Wrote: [ -> ]Same issue. I used Rufus and also the original USBDCR, both create same error when flashing. How frustrating. I appreciate the help though!
create DOS, no FREEdos
Just tried that too. Exactly the same issue. I’ve tried FreeDOS and MS-Dos options.
I forgot to say, above the Error 28, it says
PDR Region does not exist.
GBE Region does not exist.
Sorry I forgot to say the first time, it’s happened every time.
(08-23-2015, 12:21 PM)Synistar Wrote: [ -> ]Same issue. I used Rufus and also the original USBDCR, both create same error when flashing. How frustrating. I appreciate the help though!
http://rghost.ru/724Mh8BlJ
run flash1
(08-23-2015, 12:29 PM)Synistar Wrote: [ -> ]
(08-23-2015, 12:24 PM)Oleh Wrote: [ -> ]
(08-23-2015, 12:21 PM)Synistar Wrote: [ -> ]Same issue. I used Rufus and also the original USBDCR, both create same error when flashing. How frustrating. I appreciate the help though!
create DOS, no FREEdos
Just tried that too. Exactly the same issue. I’ve tried FreeDOS and MS-Dos options.
I forgot to say, above the Error 28, it says
PDR Region does not exist.
GBE Region does not exist.Sorry I forgot to say the first time, it’s happened every time.
«PDR Region does not exist.
GBE Region does not exist.»
they really do not)))
(08-23-2015, 12:29 PM)Oleh Wrote: [ -> ]
(08-23-2015, 12:21 PM)Synistar Wrote: [ -> ]Same issue. I used Rufus and also the original USBDCR, both create same error when flashing. How frustrating. I appreciate the help though!
http://rghost.ru/724Mh8BlJ
run flash1
Same errors. Although I can see at the top of the screen above errors it says:
Flash protection could not be removed.
I hope you like this challenge!
try to lower the BIOS version
Ah. I get ERROR 233 — Only secured capsule is allowed on a SecureFlash system!
That is with 62CN40WW.WPH downloaded from Lenovo using Lenovo’s Phoenix SCT Flash software.
Give me the original BIOS
I tried re-flashing same BIOS I already use just to test and that was successful. I then tried booting USB and flash1.bat and it is sat on:
Flashing BIOS region backup
with the blinking cursor below it. I can’t type anything so maybe it’s running? Been on Flashing BIOS region backup for 5 mins now though.
Is that progress?
wait for completion of the
Will do. Still on Flashing BIOS region backup.
This is the 62cn97ww from Lenovo website that does flash fine for me. It is only an .exe though, I do not know how/if you can extract the actual bios.
http://rghost.net/8zcZ7j2kN
Время прочтения
6 мин
Просмотры 19K
Здравствуйте, уважаемые читатели Хабра.
С вами снова я и мы продолжаем копаться в различных реализациях UEFI во имя добра. Есть у меня один старый китайский GSM-модем, который на моем Dell Vostro 3360 определяется через раз, а на более старых ноутбуках — нормально. После нескольких экспериментов с подключением его через переходник к основному ПК выяснилось, что ему почему-то не нравится подключение через PCIe Gen2, и хотелось бы переключить порт на Gen1, но в UEFI Setup нужной настройки не оказалось. Печально, но не смертельно, ведь очень часто производители устройств не удаляют оригинальные меню производителя UEFI, а просто скрывают их, либо показывают на их месте свои, поэтому после небольшого реверс-инжиниринга оригинальное меню можно вернуть на место, что у меня и получилось. В этот раз одной IDA Demo уже не обойтись, т.к. DXE-драйверы в большинстве современных UEFI собираются для архитектуры x86-64, поэтому вместо нее будем использовать radare2.
На лавры первооткрывателя не претендую и подобным модификациям сто лет в обед, но постараюсь показать, как сделать подобную модификацию самостоятельно.
Если вам все еще интересно — добро пожаловать под кат.
Мотивация
Модификации меню — достаточно старый, известный и востребованный вид модификаций среди тех, кому доступного изначально меню по каким-то причинам мало. Чаще всего эти причины надуманные, «потому что можно», но бывает и так, что скрытыми оказываются важные настройки вроде возможности практически полностью отключить МЕ, включить отладку по USB (EHCI Debug Port), настроить режимы работы PCIe и т.п. Производителям железа бывает проще скрыть подобные пункты меню «не для всех», чем описывать их в документации и тратить деньги на их поддержку, но такие скрытые пункты чаще всего можно восстановить, чем и займемся. Но для начала — необходимая информация об устройстве Setup-меню.
Коротко об устройстве UEFI Setup
Меню Setup в UEFI устроено достаточно интересным образом и описано в спецификации UEFI Human Interface Infrastructure (главы 29 — 31), но обо всем в короткой статье не рассказать, поэтому если кому интересны подробности — пишите в комментариях.
Тем не менее, основы пояснить стоит. Состоит это самое меню из форм, описанных на языке VFR и Unicode-строк (правда, это не совсем честный Unicode, а лишь UCS-2), хранящихся отдельно. Формы связаны со строками через ID, что облегчает его локализацию.
Самый распространенный элемент меню, комбобокс, на VFR описывается примерно так:
oneof varid = SETUP_DATA.PrimaryPcie,
prompt = STRING_TOKEN(STR_PRIMARY_PCIE),
help = STRING_TOKEN(STR_PRIMARY_PCIE_HELP),
option text = STRING_TOKEN(STR_COMMON_AUTO), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
option text = STRING_TOKEN(STR_COMMON_PCIE1), value = 1, flags = RESET_REQUIRED;
option text = STRING_TOKEN(STR_COMMON_PCIE2), value = 2, flags = RESET_REQUIRED;
option text = STRING_TOKEN(STR_COMMON_PCIE3), value = 3, flags = RESET_REQUIRED;
option text = STRING_TOKEN(STR_COMMON_PCIE4), value = 4, flags = RESET_REQUIRED;
option text = STRING_TOKEN(STR_COMMON_PCIE5), value = 5, flags = RESET_REQUIRED;
option text = STRING_TOKEN(STR_COMMON_PCIE6), value = 6, flags = RESET_REQUIRED;
option text = STRING_TOKEN(STR_COMMON_PCIE7), value = 7, flags = RESET_REQUIRED;
endoneof;
А строки к нему — вот так:
#string STR_PRIMARY_PCIE #language eng "Primary PCIe"
Пояснения требует, наверное, только varid = SETUP_DATA.PrimaryPcie. Дело в том, что изнутри меню на 95% — просто интерфейс к переменным в NVRAM. Переменные могут находится в разных блоках (т.н. varstore), но настройки, к котором есть доступ из Setup, чаще всего хранятся в здоровенном блоке SETUP_DATA, который в свою очередь целиком хранится в переменной по имени Setup. Оставшиеся 5% — это интерактивные элементы меню вроде значений текущего времени, температуры компонентов, скорости вращения вентиляторов и т.п., они обрабатываются callback-функциями, привязанными к соответствующему элементу меню, но это уже другая история.
Элементы меню собираются в формы, затем формы компилируются во внутреннее представление (IFR), собираются в formset’ы и поступают на вход FormBrowser’а — движка, который и показывает пользователю все полученные формы в виде UI. Реализации FormBrowser’ов отличаются в некоторых деталях, и сильнее всех от эталонной реализации от Intel отошли в AMI, по простой причине — поначалу эталонная реализация дико тормозила, т.к. меню хранилось в десятке разных мест и его приходилось собирать при каждом вызове UI, поэтому AMI адаптировали свою реализацию TSE из AMIBIOS8 для UEFI, которую (с переменным успехом) поддерживают и поныне.
В моем же случае UEFI основан на платформе Phoenix SecureCore Tiano 2.3, в которой FormBrowser устроен почти стандартно: formset’ы для каждой вкладки (Main, Advanced, Security, Boot, Exit) хранятся в отдельных DXE-драйверах, а FormBrowser общается с ними через протоколы, которые те регистрируют. Осталось найти нужный драйвер (в котором лежит оригинальное меню Advanced) и пояснить FormBrowser’у, что нужно показывать именно его, а не то, что он показывает вместо нормального Advanced сейчас. Поехали!
Необходимые инструменты
Редактировать образ будем с помощью UEFITool, доставать формы — с помощью Universal IFR Extractor, дизассемблировать и исследовать драйверы formset’ов и сам FormBrowser — с помощью radare2, а прошивать модифицированный файл доверим китайскому программатору за пять баксов.
Поиск
Снимаем дамп прошивки, открываем в UEFITool и ищем то, что нам нужно в самом начале — настройку скорости PCIe-порта по имени «Gen1»:
4 вхождения, три из которых — в драйвере по имени PlatfromHiiAdvancedDxe, готовый кандидат на доставание из него форм и дизассемблирование, извлекаем его через Extract body…
Запускаем Universal IFR Extractor, указываем путь до извлеченного файла, нажимаем Extract и получаем текстовый файл, в котором описана структура меню Advanced в том виде, в котором оно нам нужно:
Ищем в этом файле «Gen1» и находим вот такую настройку:
0x0B018 Form Set: Advanced
...
0x44020 Setting: PCIe Speed, Variable: 0x25
0x44046 Default: 8 Bit, Value: 0x0
0x44053 Default: 8 Bit, Value: 0x0
0x44060 Option: Auto, Value: 0x0
0x4406E Option: Gen1, Value: 0x1
0x4407C Option: Gen2, Value: 0x2
Теперь сомнений не остается — это нужный файл, но настройки из него в UEFI Setup не видно.
Зато виден другой Advanced, который находится в файле DellSetupAdvancedDxe (найден поиском по строке Advanced в UEFITool), достаем из его исполняемую секцию для дальнейшего изучения:
Ну вот, осталось исследовать разницу между файлами и понять, что и где нужно изменить, чтобы вместо второго отображался первый.
Исследование
Копируем оба файла в ВМ с Linux, собираем radare2 и открываем два терминала, в одном из которых запускаем r2 PlatfromHiiAdvancedDxe.bin, а в другом — r2 DellSetupAdvancedDxe.bin, а после запуска переходим в визуальный режим с дизассемблером командой Vp:
Наблюдаем поразительное единодушие, нарушаемое только разными адресами переходов. Все говорит о том, что код сгенерирован из одного и того же шаблона, поэтому сильно он отличаться не будет. Зная архитектуру FormBrowser’а, можно предположить, что отличаются файлы тем, что публикуют протокол доступа к ним под различными GUID’ами. Протокол можно опубликовать через вызов gBS->InstallProtocolInterface, который в листинге будет выглядеть примерно так:
mov reg, offset gBS ; указатель на BootServices
lea rcx, Handle ; первый параметр - идентификатор протокола или NULL
lea rdx, ProtocolGuid ; второй параметр - GUID регистрируемого протокола
xor r8d, r8d ; третий параметр - тип интерфейса, сейчас он всегда 0
lea r9, Interface ; четвертый параметр - интерфейс регистрируемого протокола или NULL
call [reg + 80h] ; вызов gBS->InstallProtocolInterface
После непродолжительных поисков очень похожий шаблон находится в обоих файлах:
Уже по комментарию radare2 напротив lea rdx ясно, что GUID’ы регистрируемых протоколов отличаются:
Теперь можно попробовать заменить GUID в файле PlatfromHiiAdvancedDxe на GUID из DellSetupAdvancedDxe и удалить последний, но лучше поискать, кто именно использует протокол с GUID из DellSetupAdvancedDxe и заменить уже в нем. Вбиваем в поиск:
Находим два вхождения, одно из которых нам уже известно, а другое находится в драйвере SystemFormBrowserCoreDxe по смещению 2C0h от начала. Осталось заменить и попробовать в деле.
UPD: товарищ gorodianskyi докладывает, что на других версиях SCT в FormBrowser’е может быть куча GUIDов, и, даже если заменить их все, нужные вкладки все равно не появляются, зато имеющиеся пропадают. В его случае получилось заменить бесполезную страницу Info из SystemSetupInfoDxe на нужную страницу Advanced (которая там почему-то зовется Intel) из PlatformSetupAdvancedDxe путем замены в нем GUIDа на тот, который используется в SystemSetupInfoDxe и удаления этого ставшего ненужным драйвера.
Было
Стало
Тестирование и заключение
Заменяем найденный GUID, сохраняем изменения, пересобираем образ и прошиваем на программаторе, после чего заходим в UEFI Setup, открываем Advanced и вуаля, оригинальные настройки как на ладони. Некоторые, понятно, лучше не трогать, некоторые другие не работают, но главное — наконец можно выставить ограничение скорости для PCIe Port 1, ради которого я и затеял эти танцы с бубном.
На самом деле, можно было ограничиться исследованием текстового файла с IFR и заменой одного байта в NVRAM на нужный, но раз уж получилось вернуть оригинальное меню — пусть будет так.
У других вендоров все может быть устроено иначе, так что не воспринимайте этот пост как универсальное руководство.
Спасибо за внимание и удачных вам модификаций.











