Загружаем в IDA файл прошивки Award BIOS dump.awa, находим EP "Reset", с которого идет джамп на bb, создаем сегмент 5000:0000 для загрузки распакованного original.tmp, подгружаем его, смотрим ep в original.tmp, там такой же джамп на bb. Вопрос - зачем? И все ли правильно сделано?
Судя по заданному вопросу правильней, все же, снова отправиться читать "исходники" и доступные в сети ресурсы - того же, уже "почти нашего" Pinczakko ;)
И как правильно говорил Савелий, это вовсе не из-за того, что "влом подсказать/объяснить", а из-за того, что объяснять можно только нечто конкретное. А когда ошибка в самом вопросе - "...создаем сегмент 5000:0000 для загрузки распакованного original.tmp..." - как ответить - зачем? :)
Если интересно - конкретизируйте вопрос - буду отвечать. Но - конкретно. Уверен - когда вопрос будет поставлен конкретно - вы найдете его сами. Кстати - в таком случае - тоже делитесь - уже на пользу народу. Если же не будет ясно - подскажу.
п.с. Только топик создайте соответствующий, более информативный. Типа - "ЛикБез по устройству такого-то типа биоса".
И вопрос по сути был о другом: зачем в ep original.tmp идет прыжок обратно в bb, такой же джамп, как и в ep самой прошивки?
Е-мае, опять двадцать пять. Снова процитировать << ошибка в самом вопросе - "...создаем сегмент 5000:0000 для загрузки распакованного original.tmp...">> ??? Повторюсь - вопрос показывает абсолютное незнание _азов_ работы Авардбиоса. Как же тут ответить? Потому банально отправляю к первоисточникам и еще раз прочитайте мое предыдущее сообщение.
"Ух ты, сколько всего! Первым идет 9a69vpa1.BIN (original.tmp). Основной код BIOS'а сосредоточен именно здесь. Как мы видим, original.tmp загружается по адресу 5000h:0000h и занимает 128Кбайт. Да-да, BIOS загружается в оперативную память, впрочем, надолго он в ней не задерживается и перед передачей управления загрузочному сектору (на винчестерах это MBR, на дискетах — boot) он обязан освободить эти адреса."....
Кто не прав?
"...впрочем, надолго он в ней не задерживается..."
Ясный пень - это же _буфер_ для зашадовления. _Основной_ код биоса, и это известно любому пионеру ассемблеростроения (ибо есть в любой книжке просто по компьютерам) - F000-сегмент.
А там написано, что в случае ошибки распаковки зашадовится не оригинал.тмп, а бутблок и переход будет на него, в результате чего запустится программа восстановления, а не POST.
п.с. Вы не спросили ничего, чего бы нельзя было прочитать. Потому это последний подобный ответ.
I hope you understand english, then read the section in my article.
http://www.geocities.com/mamanzip/Articles/Award_Bios_RE/Award_Bios_RE_guide.html#_7_1_6
to begin to use IDA Pro scripting, read this:
http://wiki.reverse-engineering.net/index.php/IDA_Pro
as apple_rom said, read the datasheet. Especially intel chipset datasheet, you will find a lot of explanation there :wink:
п.с. ...послать к Пинчакко. Звучит, однако... :)