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

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


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

В XP нужного шрифта нет, надо будет найти подходящий моноширинный и в ресурсах сохранить, чтобы был.
Если можно, протестируйте замену регионов ME/GbE/BIOS и работу с хвостатыми файлами (чаще всего попадаются в старых БИОСах для плат Intel, у них в байте Attributes первый бит установлен, чаще всего получается значение 0x41, т.е. присутвует и контрольная сумма данных, и хвост), ставка, замена, ребилд, удаление.
Забыл еще написать в чейджлоге, что теперь выдаю сообщения об ошибках в messageBox'е, а если образ успешно собрался, то предлагаю сразу же открыть результат.

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

Цитата:
теперь выдаю сообщения об ошибках в messageBox'е

Ещё бы возможность их сохранять в лог последовательно - чтобы прошерстить набор файлов и отослать статистику ошибок. Да и самому легче будет увидеть зависимости.

Цитата:
parseVolume: Unknown file system (FFF12B8D-7696-4C8B-A985-2747075B4F50)

Это NVRAM. Но лучше определять не по гуиду (мало ли кто что придумает использовать), а по содержиму (начало с $VSS):
	EFI_FFS_FILE_HEADER* CurFile = (EFI_FFS_FILE_HEADER*)( (db*)fv + fv->HeaderLength );

	if( *(dd*)CurFile == 'SSV$' ) // Check for NVRAM
	{
		curParent->ModName = "NVRAM";

Без самих файлов логи практически бесполезны, я пробовал их вести уже, но забил. Лучше прислать все файлы скопом.
Когда у меня дойдут руки, я напишу автотесты и эти файлы можно будет использовать для тестирования.
Про NVRAM, надо бы научиться его разбирать, формат там не то, чтобы известен, но его можно реверснуть (или подсмотреть).
А пока программа не умеет с ним работать никак - пусть побудет Эрнстом Неизвестным.:)

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

Цитата:
Без самих файлов логи практически бесполезны

Ну почему же - просто ссылки на них (локальный путь, где лежат на компе).
Цитата:
Про NVRAM, надо бы научиться его разбирать, формат там не то, чтобы известен, но его можно реверснуть (или подсмотреть).

Всё можно разобрать - но зачем?:) Иметь "верхнеуровнево-логическую" разбивку - уже 80% успеха. Кому потребуется - извлекёт нужную секцию и пущай реверсит до упада (или до появления подобной фичи в программке).

Не совсем понимаю смысла в таком логе, но сделаю, если нужен - это не сложно.
Для тома в $VSS в начале добавлю подтип NVRAM, это тоже просто. Если когда-нибудь будет настроение - можно и формат начать разбирать.

Написал статью - знакомство с UEFITool, можно считать ее началом документации.:)

Подскажите, реально ли с помощью данной тулзы вернуть отключенные опции в UEFI БИОС'e. Нужно вернуть отключенный функционал разгона на мат.платах LGA1151, а так же внедрить поддержку Xeon E3-1230V5 на обычных десктопных матерях?

В гаечку портировали:)
картинка

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

Содержание этого поля является приватным и не предназначено к показу.
  • Разрешённые 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.

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

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