Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу old.sannata.org.

Полигон-2

Форум о старых компьютерах

Объявление форума

Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС.

Полигон-2 »   Старый софт »   Шаблон BIOS для IDA Pro
RSS

Шаблон BIOS для IDA Pro

для XT/8088

<<Назад  Вперед>> Печать
 
alecv
Advanced Member


Откуда: Санкт-Петербург
Всего сообщений: 5545
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 окт. 2004
Привет, ни у кого не завалялось шаблончика (IDC) для старинных BIOS-ов для IDA Pro ? Нужен 16-битный, для новых флешек - куча. Файлик biosdata.idc из поставки уже подключил.

Если кто этим занимался - объясните, как сделать человеческие сегменты (CS/DS) для BIOS-а, я уже весь мозг сломал.
Root
Advanced Member


Откуда: Saint-Petersburg
Всего сообщений: 623
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 авг. 2006
[q]
объясните, как сделать человеческие сегменты (CS/DS) для BIOS-а, я уже весь мозг сломал.
[/q]
а в чем проблема?
а) Вспоминаете какая первая инструкция выполняется на платформе x86
б) смотрите размер БИОСа. Определяете стартовый адрес кода BIOSа (очевидно, адрес из п.а минус размер БИОСа)
в) грузите в ИДА БИОС по адресу из п.б.
г) проверяете все ли правильно. Радуетесь и идете пить пиффо.
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
Member


Всего сообщений: 170
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
14 апр. 2009
Пример создания сегмента в 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 написал:
[q]
Можно извратиться: сделать файл на мегабайт. В конец записать образ БИОСа XTшки. Ну, и диазсмить его....
[/q]
Это первое что пришло в голову, но так не работает - смешения лезут от нулевого адреса а не от F000:0000. Работает так, как написал 0leg.
Root
Advanced Member


Откуда: Saint-Petersburg
Всего сообщений: 623
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 авг. 2006
alecv
[q]
Это первое что пришло в голову, но так не работает - смешения лезут от нулевого адреса а не от F000:0000
[/q]
ручками пересоздать сегменты!
<<Назад  Вперед>> Печать
Полигон-2 »   Старый софт »   Шаблон BIOS для IDA Pro
RSS

1 посетитель просмотрел эту тему за последние 15 минут
В том числе: 1 гость, 0 скрытых пользователей

Последние RSS
[Москва] LIQUID-Акция. Сливаются разъемы CF
МС7004 и 7004А на AT и XT
Пайка термотрубок
Проммать s478 PEAK 715VL2-HT ( Full-Size SBC)
Подскажите по 386 материке по джамперам.

Самые активные 5 тем RSS