информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
За кого нас держат?Где водятся OGRыАтака на Internet
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
 Умер Никлаус Вирт 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / operating systems
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Упакованный во флешку код и run-time код, который хранится в... 01.01.20 23:41  Число просмотров: 3456
Автор: icbook Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Упакованный во флешку код и run-time код, который хранится в старших адресах 1-го мегабайта ОЗУ — это две большие разницы. Другими словами, ваша идея абсолютно точно не сработает.
<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.20 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.20 01:47  
Автор: Den <Denis> Статус: The Elderman
<"чистая" ссылка>
Облом. 01.02.20 07:02  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка>
Так нифига и не вышло - решили перевести управление на микроконтроллер фирмы "Овен" - тот хоть, точно, будет работать.
Сегодня наткнулся на модуль с 486SX совместимым (R8610) 25.02.20 14:11  
Автор: Den <Denis> Статус: The Elderman
<"чистая" ссылка>


Модуль центрального процессора МП-8
Все, я уже контроллер в шкаф монтирую. 01.03.20 03:56  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка>
Купили "Овен" с быстрыми входами-выходами и операторскую панель.
Во-первых, в старших 64к реального режима лежат только... 09.01.20 11:09  
Автор: Den <Denis> Статус: The Elderman
Отредактировано 09.01.20 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.20 21:51  
Автор: ;-) Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Насколько я понял, переназначение прерываний PCI/ISA - это обычные настройки PnP BIOS.
Выставив для какое-либо прерывания значение "ISA", ты тем самым говоришь BIOS'у, что это прерывание используется ISA-устройством, и BIOS не будет его использовать для автоконфигурации PCI-устройств.
А SBC-400 похоже вообще не поддерживает PnP, поэтому этих опций и нет в BIOS. Думаю, вряд ли в этом проблема.
Если подозреваешь, что проблема в конфликте PCI/ISA устройств, попробуй использовать другое прерывание (может, джамперами можно выставить).

P.S. Давно не заходил на форум, не подходит пароль...
Оно использует почти все прерывания 08.01.20 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-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach