Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » Старый софт » Шаблон BIOS для IDA Pro |
<<Назад Вперед>> | Страницы: 1 * | Печать |
alecv
Advanced Member
Откуда: Санкт-Петербург Всего сообщений: 5545 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 окт. 2004 |
Root Адрес первой инструкции известен - F000:FFF0 и это должно быть оформлено сегментом, но XT BIOS всего 8К длиной. Вдобавок он активно работает с ОЗУ и с сегментом 0040:0000 что тоже надо оформить. В принципе я нашел способ как грузить, пока работает. |
Root
Advanced Member
Откуда: Saint-Petersburg Всего сообщений: 623 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 6 авг. 2006 |
alecv ну, не знаю - я грузил, потом сегменты удалял и ручками создавал F000: и E000: (это для обычного 586-BIOS) - помогало. Насчет ОЗУ.... А что там в 0040:? Можно извратиться: сделать файл на мегабайт. В конец записать образ БИОСа XTшки. Ну, и диазсмить его.... |
0leg
Advanced Member
Откуда: Город-герой Тула Всего сообщений: 1991 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 6 окт. 2007 |
alecv, я как-то дизассемблировал БИОС от XT... При загрузке файла (8 Кбайт) сегмент был 0xf000, смещение — 0xe000. Сегмент для переменных БИОС создаётся упомянутым тобой biosdata.idc. По поводу остального ОЗУ я не запаривался :-( |
Schicchi |
Пример создания сегмента в IDA: Создадим к примеру сегмент в памяти начиная с 1000:200 и заканчивая 1000:4FF Для этого вначале открываем окно сегментов: в меню выбираем пункт View/Open subviews/Segments (или нажимаем Shift+F7). В контекстном меню выбираем пункт Add Segment (или жмём Ins). Поля заполняем следующим образом: Segment name: seg1000 (произвольное имя сегмента) Start Address: 0x10200 (физический адрес начала сегмента -\t0x1000 * 0x10 + 0x200) End Address: 0x10500 (физический адрес окончания сегмента\t+ 1) Base: 0x1000 (значение сегментного регистра) Class: можно не заполнять для 808x тип сегмента указываем 16bit После нажатия Ok, получаем требуемый сегмент в памяти. P.S. Если новый сегмент пересекается в адресном пространстве с существующем - IDA попытается существующий изменить так, чтобы пересечения не было. Получается это у неё далеко не всегда. |
alecv
Advanced Member
Откуда: Санкт-Петербург Всего сообщений: 5545 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 окт. 2004 |
Root написал: Это первое что пришло в голову, но так не работает - смешения лезут от нулевого адреса а не от F000:0000. Работает так, как написал 0leg. Можно извратиться: сделать файл на мегабайт. В конец записать образ БИОСа XTшки. Ну, и диазсмить его.... |
Root
Advanced Member
Откуда: Saint-Petersburg Всего сообщений: 623 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 6 авг. 2006 |
alecv ручками пересоздать сегменты! Это первое что пришло в голову, но так не работает - смешения лезут от нулевого адреса а не от F000:0000 |
<<Назад Вперед>> | Страницы: 1 * | Печать |
Полигон-2 » Старый софт » Шаблон BIOS для IDA Pro |
1 посетитель просмотрел эту тему за последние 15 минут |
В том числе: 1 гость, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |