Недавно начал разбираться с устройством AMIBIOS 8. И мучает вопрос, как можно просмотреть Boot Block BIOS-а в котором происходит начальная инициализация микропроцессора (а конкретно инициализация контроллера приоритетных прерываний), когда он запускается в режиме совместимости с 8086 или же он жестко вшит и нельзя его посмотреть?
Материнская плата MA4785T-M, от Asus. Первым делом решил решил получить прошивку с помощью стандартной утилиты от Asus - Asus Update 7.18.03. Получил *.ROM файл, исследовал его с помощью IDA, в 16-битном режиме (взяв точку входа F000:FFF0 и выбрав процессор 8086) попытался найти соответствующие куски кода, но безрезультатно. Причем просмотрел в кодах, учитывая, что мог накосячить с IDA.
Затем залез на сайт AMI попытался найти какую-нибудь литературу. Посмотрел блоки с помощью MMTOOL и AMIBCP, но это тоже ничего не дало.
Описывают
http://sites.google.com/site/pinczakko/pinczakko-s-guide-to-ami-bios-reverse-engineering-1
что точка входа F000:FFF0 и после трех "джампов" попадаешь в блок инициализации МП. Но у меня после пары джампов IDA отправляет в путешествие в дебри кода, которые ни к чему не приводят.
Дебри кода - чем вам не инициализация :)? Или вы хотели увидеть транспаранты с лозунгами "Да здравствует инициализация. Мир. Труд. Май. Июнь. Июль. И т.д."?[/off]
И теперь меня мучает вопрос, где можно узнать и "прокачаться" о том, какие модули можно распаковать из *.ROM файла и что в них хотя бы примерно содержится?
Можно поискать список идентификаторов модулей - for example.
P.S. Вы бы определились, что конкретно вы хотите найти.[/off]
Есть с чем по разбираться =)
Теперь разбираюсь с этим, IDA мне в помощь :-)