Нахождение Post кодов

Добрый день.

И у меня во время работы с UEFI возник вопрос.

Я не так давно занимаюсь изучением дизассемблировния

Работаю в данный момент с BIOS - "AmericanMegatrendsInc.-P09ABE". (ссылка для скачивания)

Работаю в IDA 6.1

Вот hex код:

В начале я понимаю, что задается начальные данные, количество блоков их размер и т.д.

Все Post-коды задаются изначально через порт 80.

Подскажите, как в HEX найти начало этих Post кодов, какой последовательностью она отображается и с чего вообще там начать смотреть, чтобы увидеть эти посты?

Спасибо.

Перенес в Песочницу.
maco

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

Я очень рад, что вы издеваетесь. Можете объяснить хотя бы один пример, буду крайне признателен

Что конкретно в примере(ах) нужно объяснять?

P.S. Интересно, когда автор догадается, зачем существует выделение отдельных слов в предложении lol.

Я дизассемблирую например модуль sub_F0BCA

И что можно сказать по этому коду, что именно тут происходит?
В этом модуле загружаются, какие нить посты, или они в другом файле описываются?

example писал(-а):
Я дизассемблирую например модуль sub_F0BCA
Идиотский вопрос - зачем вы его дизассемблируете lol?
Я рекомендую пользоваться глазами и серым веществом.

а через что его открыть?

Notepad, for example:D.

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

Кхем.
1) распакуйте все модули
2) скачайте fasm.exe


3) скомпилируйте строчку out 80h, al скачаным fasm-ом ( в бинарник, никаких com/exe)
4) откройте бинарник и поищите найденую там последовательность байт во всех распакованных модулях.
5) дизассемблируйте каждое место, которое начинается с этой последовательности байт, если дальнейшие команды не выглядят полной фигнёй ( понимание того, что значит "полная фигня" прийдет в процессе дизассемблирования ), то смотрите по коду - где в этот злосчастный al заносится пост-код. Если полная фигня - то значит дизассемблировали данные/кусок другой инструкции.

П.С. Почитайте книжку "BIOS. Дизассемблирование, модификация, программирование" или топики её автора на этом форуме. Про EFI и AMI там мало что сказано, но базовые знания она вам даст.
П.П.С. Также полезно почитать книжку Intel - Beyond BIOS и просмотреть Intel EDK
П.П.П.С. Поищите в гугле скандал об утечке ключей у AMI, обычно в обсуждениях там вылезают какието ссылки на какоето aptio которое, кажется, в каких-то исходных кодах там присутствует. Что это такое я не знаю, но говорят, что это как-то связано с компьютерами. Вроде оно может помочь в понимании.

Broadcast message from PAO EC
Power is going down for shutdown NOW!

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

В утекших UEFI-исходниках нет вывода пост-кодов. Т.е. сам код/функции вывода есть, но он нигде не вызывается.
Я, правда, давно и краем глаза смотрел, но впечатление у меня осталось именно такое.

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

Еще раз на всякий случай повторю:

maco писал(-а):
попытка поиска по сигнатурам выглядит, мягко говоря, странно при наличии нормального инструмента.


Для примера можно поглядеть в область bootblock'а той прошивки, на которую приводил ссылку автор. Адрес - F000:FDBC (для простоты указываю адрес в сегментной модели 8086:D, хотя в реальности используется другая модель). С этой точки начинается выдача первого POST-кода для данной прошивки (причем в эту точку производится безусловный переход, т.е. по адресу F000:FDBB ничего полезного с точки зрения этого POST-кода нет).
Последующий код легко дизассемблируется двумя вариантами: правильным и неправильным:D. Можно применять метод "научного тыка", конечно же:), а можно нормально дизассемблировать от штатной точки входа и понять, в каком пространстве/режиме/итд происходит действие.

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

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

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

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