Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.06.2009, 20:01   #1
Ёрик
 
Регистрация: 06.06.2009
Сообщений: 4
По умолчанию блокировать гибкие диски

Нужно блокировать доступ к гибким дискам.Что только не пробовал делать,что только не пробывал: пытался заменить вектор 0Eh(аппаратно генерируемое прерывание IRQ 6, вызываемое контроллером флоппи-дисков) на свой(*),пытался запретить аппаратное прерывание,установив единицу в IRQ6(%) врукопашную

---------------------------------------------------------------------------
(*)
Код:
 mov DX,offset new_13h         
 mov AX,250Eh                   
    int 21h


 new_13h proc far
        mov AX,09h
        mov DX,offset mes_er2
        iret
 mes_er2 DB 13,10,'Access denied.Hardware interrupt of floppy has been prohibited','$',13,10  
new_13h endp
------------------------------------------------------------------------------
(%)

Код:
in      al,21h 
or      al,00000010b 
out      21h,al
-----------------------------------------------------------------------------
Ничего не получается!! Доступ к гибкому дисководу не блокирует(т.е. всегда могу обращаться "A:" или "cd A:")

Последний раз редактировалось rpy3uH; 07.06.2009 в 21:40.
Ёрик вне форума Ответить с цитированием
Старый 06.06.2009, 21:46   #2
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Желательно увидеть весь код, а пока вы будете его сюда вставлять, советую почитать тут, там есть пример
xor eax, eax
xchg [eax], eax
MalCer вне форума Ответить с цитированием
Старый 07.06.2009, 09:45   #3
Ёрик
 
Регистрация: 06.06.2009
Сообщений: 4
По умолчанию

Сылка фигня,там ничего полезного нет. А код уже выложил,вторая версия(%) должна работать прямо так.
Ёрик вне форума Ответить с цитированием
Старый 07.06.2009, 10:16   #4
alexcoder
Форумчанин
 
Регистрация: 31.05.2009
Сообщений: 786
По умолчанию

Вы случайно запускаете не из FARa? Это же консоль windows, работать не будет!
Попробуйте из Volcov Commander или NC
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru
alexcoder вне форума Ответить с цитированием
Старый 07.06.2009, 14:21   #5
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Цитата:
Сылка фигня
Ага! Я просто хотел сказать, что лучше закодировать доступ к гибким дискам(Кодирование секторов в памяти), потому что в вашем коде, вроде нет ошибки, к тому же это под DOS, а не под винду!
xor eax, eax
xchg [eax], eax
MalCer вне форума Ответить с цитированием
Старый 07.06.2009, 14:25   #6
Ёрик
 
Регистрация: 06.06.2009
Сообщений: 4
По умолчанию

Я запускаю через командную строку и вообще я программирую под DOS
Ёрик вне форума Ответить с цитированием
Старый 08.06.2009, 00:05   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

"меня терзают смутные сомнения..."
Цитата:
Я запускаю через командную строку и вообще я программирую под DOS
надеюсь, что это не в эмуляции DOS (и не под Windows - в проводнике Windows) ?!?!? Потому как, если код выполняется из-под Windows - то она сама решит, куда Вам доступ давай, а куда и съэмулировать... (имхо)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.06.2009, 09:59   #8
Ёрик
 
Регистрация: 06.06.2009
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
"меня терзают смутные сомнения..."

надеюсь, что это не в эмуляции DOS (и не под Windows - в проводнике Windows) ?!?!? Потому как, если код выполняется из-под Windows - то она сама решит, куда Вам доступ давай, а куда и съэмулировать... (имхо)
Вообще-то даже не работает,если я отлавливаю прерывание вектора Oeh ,а это BIOS прерывание
Что тогда делать,кроме как эмулировать под DOS?
Ёрик вне форума Ответить с цитированием
Старый 08.06.2009, 19:35   #9
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Да нет! Вам же Сергей писал
Цитата:
надеюсь, что это не в эмуляции DOS (и не под Windows - в проводнике Windows) ?!?!? Потому как, если код выполняется из-под Windows - то она сама решит, куда Вам доступ давай, а куда и съэмулировать...
И он прав!Вам нужен (ИМХО) чистый DOS
xor eax, eax
xchg [eax], eax
MalCer вне форума Ответить с цитированием
Старый 08.06.2009, 21:30   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

MalCer, спасибо, коллега!

Ёрик, найдите загрузочный диск с MS-DOS
загрузитесь с него. получите чистый, полноправный DOS.
и вот в нём уже гоняйте перехват прерываний.
Возможно, что я и не прав и под Windows тоже можно заблокировать обращение к дискам... (хотя я лично в этом ой как сильно сомневаюсь! )
Но то, что подобный подход отметёт всё, что связано с блокировкой ядра Windows обращений на низком уровне к прерываниям/портам/железу и т.д. и т.п — это 100% !!!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
блокировать ячейку с формулой ok`sana Microsoft Office Excel 20 24.10.2009 00:51
input type='text' блокировать изменение элемента Damhurz HTML и CSS 2 18.04.2009 02:35
Блокировать доступ Pedro Безопасность, Шифрование 8 02.03.2008 18:59
блокировать ALT+F4 Михаил Юрьевич Общие вопросы Delphi 2 12.02.2008 23:44
лицензионные диски eldar-abd Софт 4 27.05.2007 16:39