Компонент etBIOS двоичного файла BIOS материнской платы Acorp 4865GQET обозначен как «сжатый». Это не совсем соответствует действительности, так как в реальности при его обработке с помощью алгоритма LZH Award BIOS использовался нулевой уровень сжатия. Фактически, компонент не сжат, а просто в его начало добавлен заголовок LZH. В самом этом заголовке присутствует сигнатура — lho-, что означает простое копирование исходного двоичного файла компонента, без выполнения сжатия. В листинге 14.1 показан фрагмент шестнадцатеричного дампа двоичного файла BIOS в окрестности начала
Адреса, показанные в листинге 14.1, отсчитываются относительно начала общего двоичного файла BIOS. Сигнатура — lho — выделена полужирным шрифтом с подчеркиванием. На следующем этапе исследования дизассемблируем двоичный файл BIOS материнской платы Acorp 4865GQET. Как и в случае с другими двоичными файлами Award BIOS 6.00PG, начнем дизассемблирование с блока начальной загрузки, после чего перейдем к системной BIOS. Результат дизассемблирования этих двух компонентов будет в точности таким же, как и для обычного двоичного файла Award BIOS 6.00PG. Тем не менее, имеется одно отличие, заключающееся в исполнении таблицы переходов POST. Результаты дизассемблирования таблицы переходов POST и компонента etBIOS, скопированного в RAM, показаны Адресация сегментов в листинге 14.1 требует пояснений. Сегмент E_seg — Это сегмент Еоооь в Системной BIOS, 16-разрядный сегмент с базовым адресом Eooooh; смещения в этом сегменте указаны относительно адреса Еооооь. Сегмент Exec_et_bios — это небольшой 32-разрядный сегмент с базовым адресом ooooh; смещения в этом сегменте указаны относительно адреса Ооооъ. Сегмент Et_bios — это перемещенный двоичный код etBIOS в RAM, 32-битный сегмент с базовым адресом Ооооь; Смещения кода в этом сегменте указаны относительно адреса Ооооь.
Видно, что двоичный код модуля etBIOS исполняется как часть таблицы переходов POST. Упрощенная блок-схема алгоритма исполнения исходного кода модуля etBIOS, приведенного показана
Рубрика: Женский интерес