Добрый день.
И у меня во время работы с UEFI возник вопрос.
Я не так давно занимаюсь изучением дизассемблировния
Работаю в данный момент с BIOS - "AmericanMegatrendsInc.-P09ABE". (ссылка для скачивания)
Работаю в IDA 6.1
Вот hex код:
В начале я понимаю, что задается начальные данные, количество блоков их размер и т.д.
Все Post-коды задаются изначально через порт 80.
Подскажите, как в HEX найти начало этих Post кодов, какой последовательностью она отображается и с чего вообще там начать смотреть, чтобы увидеть эти посты?
Спасибо.
Перенес в Песочницу.
maco
Я в общем-то издеваюсь, но если вы не поняли совсем простых примеров, которые вам выданы выше, то вам сначала нужно все таки разобраться с примерами (можно по ним задать конкретные вопросы о непонятных местах), а уже потом строить свои забавные предположения.
И попытка поиска по сигнатурам выглядит, мягко говоря, странно при наличии нормального инструмента.
Я очень рад, что вы издеваетесь. Можете объяснить хотя бы один пример, буду крайне признателен
Что конкретно в примере(ах) нужно объяснять?
P.S. Интересно, когда автор догадается, зачем существует выделение отдельных слов в предложении .
Я дизассемблирую например модуль sub_F0BCA
И что можно сказать по этому коду, что именно тут происходит?
В этом модуле загружаются, какие нить посты, или они в другом файле описываются?
Я рекомендую пользоваться глазами и серым веществом.
а через что его открыть?
Notepad, for example.
Кхем.
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!
В утекших UEFI-исходниках нет вывода пост-кодов. Т.е. сам код/функции вывода есть, но он нигде не вызывается.
Я, правда, давно и краем глаза смотрел, но впечатление у меня осталось именно такое.
А кому счас легко...
Еще раз на всякий случай повторю:maco писал(-а):
Для примера можно поглядеть в область bootblock'а той прошивки, на которую приводил ссылку автор. Адрес - F000:FDBC (для простоты указываю адрес в сегментной модели 8086, хотя в реальности используется другая модель). С этой точки начинается выдача первого POST-кода для данной прошивки (причем в эту точку производится безусловный переход, т.е. по адресу F000:FDBB ничего полезного с точки зрения этого POST-кода нет).
Последующий код легко дизассемблируется двумя вариантами: правильным и неправильным. Можно применять метод "научного тыка", конечно же, а можно нормально дизассемблировать от штатной точки входа и понять, в каком пространстве/режиме/итд происходит действие.
Отправить комментарий