UEFITool - просмотрщик и редактор образов UEFI

По приглашению товарища Highlander решил написать на этот форум о своем крайнем проекте - UEFITool.


Это кроссплатформенный (написан на С++/Qt) просмотрщик и редактор образов UEFI BIOSов с открытым исходным кодом (BSD, LGPL).
В данный момент поддерживается экспорт, добавление, удаление, перестроение секций, файлов и томов, разбор заголовков UEFI-капсулы и Flash-дескриптора.
Сборки для Windows и OS X выкладываются сюда, сборку для Debian 7 x64 тестирую, но выкладывать пока не собираюсь - пусть себе каждый соберет сам для своей версии Qt и тулчейна.
Программа в активной фазе разработки, поэтому не исключены баги.
Прошу потестировать и поделиться мнением, что следует улучшить, что исправить, и нужно ли оно вообще кому-нибудь.
Спасибо заранее.

Если данная информация оказалась полезной/интересной - плюсаните, пожалуйста:

Аватар пользователя DarkProg

Если разгребу завал на работе до НГ, то поковыряю в среде Debian'а, а пока оставлю это здесь коммент, чтобы было проще найти потом.

И твоя голова всегда в ответе за то куда сядет твой зад...

Спасибо, посмотрим.

А можно ли как-либо добавлять PE-шки, которые больше по размеру, чем исходные, в Volume-ы? Если можно, пожалуйста, CodeRush, напиши, как это можно сделать.:)

Добавлять можно, если хватит места в том корневом томе, в который этот самый исполняемый файл добавляется. Можно либо сделать из PEшки FFS-файл при помощи утилиты GenFFS из EDK2, а потом вставить получившийся файл через "Insert", либо заменить содержимое PE32-секции в одном из существующих файлов через "Replace body".


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

Аватар пользователя apple_rom

Большое спасибо Николаю за утилитку и вообще, его просветительство в области EFI/BIOS-строения и не только.:)

Да пожалуйста.:)
Чем больше людей разберется в UEFI, тем проще будет справиться с идиотскими ограничениями типа белых списков оборудования, отключенного AES-NI, закрытых на запись MSRов и NVRAM'а и прочими радостями.

У меня сейчас самый разгар магистрской работы, поэтому быстро добавлять все фичи, которые в голову приходят, я не могу, но некоторые мелкие приятности думаю сделать через 1-2 версии:


1. Отображать при выборе региона Descriptor информацию о настройках доступа к регионам и содержимом таблицы VSCC (т.е. модели совместимых с этим образом SPI-чипов)
2. Заменять содержимое всех объектов в дереве, а не только томов, файлов и секций. Оказалось, что это удобнее, чем править в Hex-редакторе.

Версию 0.16.5 удалось оттестировать на нескольких AMI Aptio и Phoenix SCT, оба загружаются и работают после достаточно серьезных модификаций. Не скажу, что багов нет, но теперь их не сразу видно.:)
Прошу активнее включаться в тестирование, тут у каждого первого программатор в кармане, а отчетов об ошибках никто не шлет.

Аватар пользователя apple_rom

Могу добавить "важное как минимум для меня":) - собирать базу названий EFI-модулей, ибо безликие GUID-ы никак не добавляют желания разбираться кому тому, кто плохо понимает. А кто понимает - только раздражает.:)
Ибо вот, решил воспользоваться вашей полезной утилиткой для вскрытия одного из стареньких пациентво на предмет структуры Intel ME - а толку, прям китайская грамота.

Пришлось доставать из шуфлядки старый недоделанный биоспатчер7, где таки показываются эти названия - он прекрасно показал нужную информацию о составе областей, где по косвенным половым признакам, записанный ещё от каких-то i945 GUID - выдал мне ME-составляющую.

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

п.с. Заранее прокомментирую потенциальный вопрос "так а почему BIOS Patcher 7...?" - он не работает под 64-бит, давно заброшен, потому приходится запускать в виртуалке - ваша программулина однозначно перспективней, да ещё и мультиплатформенная.

Аватар пользователя savely

О, Роман проснулся и заинтересовался. Это есть хорошо.

А кому счас легко...

Аватар пользователя apple_rom

Судьба так повернулась, что снова нужно ковырять BIOS-ы и на очень серьёзном уровне. Правда - Intel only (точней - Intel ME).

Тексты, которые есть в UI-секциях, отображаются уже сейчас, если колонки по ширине подогнать:

Информация пригодится любая, т.к. реальность сильно отличается от того, что описано в спецификациях с uefi.org.:)

ВложениеРазмер
text.png 326.34 КБ

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • You can use BBCode tags in the text. URLs will automatically be converted to links.

Подробнее о форматировании текста

Антибот - введите цифру.
Ленты новостей