информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Spanning Tree Protocol: недокументированное применениеПортрет посетителяЗа кого нас держат?
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Microsoft закрыла серьёзную уязвимость,... 
 Прощаемся с Windows 7 
 С наступающим 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / operating systems
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Облом. 01.02 07:02  Число просмотров: 178
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка> <ответить>
Так нифига и не вышло - решили перевести управление на микроконтроллер фирмы "Овен" - тот хоть, точно, будет работать.
<ответить> <operating systems>
Как подменить БИОС в ОЗУ? 23.12.19 09:05  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка> <ответить>
Суть проблемы: есть промписюк на 486DX4. Представляет собой плату с 6 EISA-слотами, в которые вставляется мамка и периферия. На писюке ДОС и софтина-ЧПУ. Мамка - SBC-410 сдохла. Почему-то 410 сняты с производства, есть 400 но у них другой БИОС, в котором нет опций переназначения прерываний, из-за этого, предположительно, установленная на писюке софтина ЧПУ глючит. Чипсеты, вроде, полностью совместимые, отличие: на 410 БИОС на 29ЕЕ010, а на 400 - "брусок" с часами и батарейкой.

Так вот, мысль: чем пытаться перезалить БИОС - проблема в том, как его скопировать из 29ЕЕ010 в файл, понятный прошивальщику, не проще ли, после запуска ДОС подменить копию БИОСа прямо в ОЗУ? Засунуть соответствующую прогу-подменяльщик на диск, прописать а autoexec и радоваться?

Теперь, ВНИМАНИЕ, вопрос: мобыть для этого уже есть готовая прога или кусок кода из какого-нить вируса? Было бы весьма не плохо, если бы меня этим выручили.
Упакованный во флешку код и run-time код, который хранится в... 01.01 23:41  
Автор: icbook Статус: Незарегистрированный пользователь
<"чистая" ссылка> <ответить>
Упакованный во флешку код и run-time код, который хранится в старших адресах 1-го мегабайта ОЗУ — это две большие разницы. Другими словами, ваша идея абсолютно точно не сработает.
сомневаюсь 23.12.19 15:10  
Автор: dl <Dmitry Leonov>
<"чистая" ссылка> <ответить>
В золотые времена 25+ летней давности что-то подобное изображалось честными резидентами с подменой прерываний BIOS, но раз тут даже нет вариантов переназначения прерываний, то вообще непонятно, куда копать. А просто поменять в памяти - так BIOS же где-то в старших адресах лежит, типа FE00, и как их в реальном режиме переназначить, не представляю.

Кстати, а как это без переназначения прерываний - в таблицу векторов напрямую тоже писать не дают?
Там сейчас все хитрее: 24.12.19 05:48  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка> <ответить>
Флешка БИОСа 2 метра. А под, собственно, БИОС у 86го отводится только 64 старших К. Там сейчас только несменяемый загрузчик, который рулит южным мостом, к которому подключена флешка. По команде проца ЮМ переливает ее содержимое в ОЗУ через ДМА. И далее, надо полагать, все работает уже через дескрипторы сегментов. В 16 или 32-разрядном моде - вопрос.

Ну ладно, значительная часть флешки содержит оверлей графического интерфейса настроек (у этого АМИ-БИОСА он графический, даже мышь в принципе возможна, если бы было куда воткнуть). Но куда размещается остальная постоянная часть?

Вектора прерываний сидят, как раз, в ОЗУ, в самых старших адресах 1го мега и настроив перекрывающийся сегмент с правом записи их править можно. У 410 (сдохшей) платы на каждый вектор с 1 по 14 2 варианта - PCI и ISA, причем, переназначение идет, видимо, в чипсете, а прога ЧПУ их сама переписывает на себя. Но из чипсета они просто не доходят.

Там такая фигня получается: по Х и У стоят датчики "0". Перед работой стол едет до этих датчиков, там останавливается и сбрасывает счетчики координат. Потом пляшет от этого положения, как от печки. Весь прикол в том, что по Х он останавливается и обнуляется, а по У - нет и ползет, пока не заклинит. При этом в программе есть "лампочки", показывающие состояния датчиков, так они исправно загораются. Т.е. сигналы датчиков читаются, а сброс счетчика и останов для точности происходит, видимо, по прерыванию и оно, надо полагать, не проходит.
Как успехи? 01.02 01:47  
Автор: Den <Denis> Статус: The Elderman
<"чистая" ссылка> <ответить>
Облом. 01.02 07:02  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка> <ответить>
Так нифига и не вышло - решили перевести управление на микроконтроллер фирмы "Овен" - тот хоть, точно, будет работать.
Во-первых, в старших 64к реального режима лежат только... 09.01 11:09  
Автор: Den <Denis> Статус: The Elderman
Отредактировано 09.01 11:32  Количество правок: 2
<"чистая" ссылка> <ответить>
> Флешка БИОСа 2 метра. А под, собственно, БИОС у 86го
> отводится только 64 старших К. Там сейчас только
> несменяемый загрузчик, который рулит южным мостом, к
> которому подключена флешка. По команде проца ЮМ переливает
> ее содержимое в ОЗУ через ДМА. И далее, надо полагать, все
> работает уже через дескрипторы сегментов. В 16 или
> 32-разрядном моде - вопрос.

Во-первых, в старших 64к реального режима лежат только обработчики прерываний BIOS. Во-вторых, когда писюк стартует в реальном режиме, то до первого far jump дескрипторы сегментов в регистрах указывают на конец всего доступного адресного пространства для защищённого режима куда картирована процедура инициализации и развёртывания BIOS в памяти. В-третьих, запретить в реальном режиме перехват прерываний невозможно и ты можешь изменить вектор абсолютно любого прерывания.

> Вектора прерываний сидят, как раз, в ОЗУ, в самых старших
> адресах 1го мега и настроив перекрывающийся сегмент с
> правом записи их править можно. У 410 (сдохшей) платы на
> каждый вектор с 1 по 14 2 варианта - PCI и ISA, причем,
> переназначение идет, видимо, в чипсете, а прога ЧПУ их сама
> переписывает на себя. Но из чипсета они просто не доходят.

Нет! Таблица векторов прерываний расположена в самых младших адресах начиная с 0 (нулевого), а в старших адресах расположены обработчики прерываний BIOS, на которые и указывают адреса из таблицы векторов прерываний.

Если чип БИОСа съемный, попробуй его просто переставить с SBC-410 на SBC-400, если существенных отличий между ними действительно нет. Хотя, помимо чипсета, на платформах могут быть всякие watchdog таймеры, которые могут использовать отличные адреса портов.

> Там такая фигня получается: по Х и У стоят датчики "0".
> Перед работой стол едет до этих датчиков, там
> останавливается и сбрасывает счетчики координат. Потом
> пляшет от этого положения, как от печки. Весь прикол в том,
> что по Х он останавливается и обнуляется, а по У - нет и
> ползет, пока не заклинит. При этом в программе есть
> "лампочки", показывающие состояния датчиков, так они
> исправно загораются. Т.е. сигналы датчиков читаются, а
> сброс счетчика и останов для точности происходит, видимо,
> по прерыванию и оно, надо полагать, не проходит.

С нестандартными промышленными писюками и не такие чудеса происходят! Мой коллега, в своё время, задолбался вкрячивать патчи в свою прогу под DOS extender на схожие фаствеловские (Fastwell) платформы и тоже с прерываниями возился. Если интересно, через неделю могу его поспрашивать о деталях.
Насколько я понял, переназначение прерываний PCI/ISA - это... 05.01 21:51  
Автор: ;-) Статус: Незарегистрированный пользователь
<"чистая" ссылка> <ответить>
Насколько я понял, переназначение прерываний PCI/ISA - это обычные настройки PnP BIOS.
Выставив для какое-либо прерывания значение "ISA", ты тем самым говоришь BIOS'у, что это прерывание используется ISA-устройством, и BIOS не будет его использовать для автоконфигурации PCI-устройств.
А SBC-400 похоже вообще не поддерживает PnP, поэтому этих опций и нет в BIOS. Думаю, вряд ли в этом проблема.
Если подозреваешь, что проблема в конфликте PCI/ISA устройств, попробуй использовать другое прерывание (может, джамперами можно выставить).

P.S. Давно не заходил на форум, не подходит пароль...
Оно использует почти все прерывания 08.01 05:25  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка> <ответить>
Причем, выше 8го. И, похоже, в этом на с.д. проблема: какскдное соединение контроллеров прерываний - наследие ХТ и оно сохраняется по сей день, но... в разных чипсетах у старшего и младшего болклв прерывания разные приоритеты. А чипсеты там, вроде, одинаковые, но - разных версий: 06 и 05. Мжет быть, проблема и в этом.
при таком раскладе я точно ничего умного не посоветую 25.12.19 15:00  
Автор: dl <Dmitry Leonov>
<"чистая" ссылка> <ответить>
1






Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2020 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach