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

BBCode

  • HTML-теги не обрабатываются и показываются как обычный текст
  • You may use the following BBCode tags:
    • [align]
    • [b]
    • [code]
    • [color]
    • [font]
    • [hr]
    • [i]
    • [img]
    • [list]
    • [quote]
    • [s]
    • [size]
    • [spoiler]
    • [sub]
    • [sup]
    • [table]
    • [u]
    • [url]
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.

DarkProg

12 лет 2 месяца назад

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

igils

12 лет 2 месяца назад

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

Leonidos (не проверено)

12 лет 2 месяца назад

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

CodeRush

12 лет 2 месяца назад

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

apple_rom

12 лет 1 месяц назад

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

CodeRush

12 лет 1 месяц назад

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

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

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

apple_rom

12 лет 1 месяц назад

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

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

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

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

savely

12 лет 1 месяц назад

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

apple_rom

12 лет 1 месяц назад

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

CodeRush

12 лет 1 месяц назад

Тексты, которые есть в UI-секциях, отображаются уже сейчас, если колонки по ширине подогнать:
https://rom.by/files/text.png
Информация пригодится любая, т.к. реальность сильно отличается от того, что описано в спецификациях с uefi.org. :)