Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Boot HDD 
:(
    Опции темы
Dima
Дата 2.7.2002, 22:33 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Добрый вечер.
Просьба к професионалам...
Мне нужна программка, которая при включении компьютера не довала бы обнаружить диск, при условии, что системная дата совпадает с установленной в программе... (своего рода часовой механизм).
И главное условие, чтоб после всего этого можно было востановить работоспособность диска...
Надеюсь кто-нибудь поможет мне или подскажет, что-нибудь...

Заранее благодарен.
Дима.
e-mail: [email protected]
  Вверх
Chingachguk
Дата 4.7.2002, 05:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1232
Регистрация: 25.3.2002
Где: Москва

Репутация: нет
Всего: 18



Решение следует из порядка загрузки компа.

1. Сначала получает управление BIOS. Если он перезаписываемый, то можно встроить в него такой код, но тут можно здорово испорртить себе комп. Как это сделать - видимо, на bios.ru;

2. Далее два варианта(про cd пропустим). Если порядок загрузки C,A, то биос считывает mbr и отдает ей управление. Если формат ее верен, разумеется - в противном случае биос не определяет диск. И грузит(пытается) с дискеты. В этом случае(допустим, dos-дискета) при загрузке с нее диск не будет доступен ни средствами дос, ни биос, но легко доступен через команды in/out(тем самым можно читать/записывать сектора);

3. Следовательно, в первом приближении, код в mbr не может получить управления при загрузке с дискеты, и не может запретить загрузку или доступ к диску(а он может это сделать, например, перехватив int 13h и на все вызовы при диске >=80h отвечать установкой флага CF - те ошибкой). Однако код может сбросить в CMOS присутствие дисковода(это старый вирусный трюк) и действовать по следующему алгоритму:

-> BIOS пытается выполнить загрузку A:, C:
-> "A" нет, он грузит Ваш код с C;
-> Вы устанавливаете свой обработчик прерываний, устанавливаете
присутствие в CMOS "A" и выполняете рестарт;
-> Теперь уже биос грузит систему с A, но Вы имеете управление ситуацией
и можете что-то предпринять.

И так далее...


--------------------
I don't like the drugs (but the drugs like me). M.Manson.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0633 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.