Нужна помошь в распаковке EFI PCI ROM Extension ...
Понятно, что начало ROM-образа стандартная структура заголовка для EFI ROM-extension: EFI_PCI_EXPANSION_ROM_HEADER (EDK).
Поле EfiImageHeaderOffset этой структуры указывает на смещение начала EFI-image, который согласно полю CompressionType из той-же структуры сжат с использованием стандартного типа компресии. По смещению ,указанному в EfiImageHeaderOffset, начинается искомый EFI-Image, который требуется распаковать.
EFI-image начинается со стандартного заголовка EFI_COMMON_SECTION_HEADER (EDK). Здесь всё пока похоже на правду (поле Size соответствует размеру). Далее, по идее должны идти дополнительные поля, характерные для структуры EFI_COMPRESSION_SECTION: UncompressedLength и CompressionType. UncompressedLength может соответствовать действительности (проверить нет возможности). CompressionType содержит нестандартное значение 1F. Далее должны идти запакованные данные. Но ни LzmaCompress.exe, ни TianoCompress.exe эти данные распаковать не могут.
Вопрос - как распаковать данный EFI-Image ? Интересует именно теория. Может кто указать правильное направление поиска ?
Фрагмент EFI-rom (без PC-части) приаттачил.
P.S. Вопрос снят. EFI-Image распакован ...
Как распаковал?
Кто нибудь подскажите в самом деле как расжать EFI PCI ROM??
Отправить комментарий