Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Защита доступа к папкам в DOS 
:(
    Опции темы
Nik777
Дата 14.12.2005, 23:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 14.12.2005

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



Как можно запретить доступ к папке, в которой лежит выполняемая программа(т.е. запретить нужно из этой самой программы)

PM MAIL   Вверх
Akina
Дата 15.12.2005, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 1
Всего: 454



перехватить функции findfirst/findnext и не возвращать свой каталог.
а проще - в имя каталога влепить служебный символ - скажем chr(0) - тогда не-FCB функции обломятся.
а надежнее - перехватить чтение сектора с каталогом и делать элемент каталога удаленным.

впрочем, обойти можно любую защиту.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Nik777
Дата 15.12.2005, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 14.12.2005

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



А можно поподробнее, а еще лучше в коде? smile
PM MAIL   Вверх
Akina
Дата 15.12.2005, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 1
Всего: 454



Что именно ты не понял?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Nik777
Дата 16.12.2005, 01:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 14.12.2005

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



Как перехватить функции findfirst\-//-next или как вписать служебный символ
PM MAIL   Вверх
Akina
Дата 16.12.2005, 09:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 1
Всего: 454



Цитата(Nik777 @ 16.12.2005, 02:25)
Как перехватить функции findfirst/next

Код
mov ax,3521h
int 21h
mov old_int_21h_handler,bx
mov old_int_21h_handler[2],es
mov ax,seg new_int_21h_handler
mov ds,ax
mov dx,offset new_int_21h_handler
mov ax,2521h
int 21h

...

new_int_21h_handler:
cmp ah,11h
je replaced_fcb_findfirst
cmp ah,12h
je replaced_fcb_findnext
...
jmp far ptr old_int_21h_handler

...

Добавлено @ 09:23
Цитата(Nik777 @ 16.12.2005, 02:25)
как вписать служебный символ

smile а мож просто программно вывести сообщение "Доступ к папке, в которой лежит выполняемая программа, запрещен!", а? и все твои условия выполнены...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
mb78
Дата 12.7.2008, 00:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 11.7.2008

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



Впринципе можно :Перехватить прерывание int 21 на адрес ,по которому будет программа,проверяющая,что вы хотите делать.
Программа по тому,чему равно AH определяет, для чего вызвали int 21 , и если понимает что обращаются к папке,которую эта
программа оберегает,то делает IRET , а если все нормально переходит по действительному адресу int 21, который надо  запомнить,
перед тем ,как перехватывать прерывание. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для Windows/DOS"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

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

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


 




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


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

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