Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как отследить попытку обращения к файлу?


raiks ©   (2002-01-13 16:29:00) 

Как перехватить попытку обращения к файлу, как это делают, например, антивирусы, предотвращая запуск инфицированных программ?


Vitaly   (2002-01-15 12:08:00) [1]

Hook.


paul_shmakov   (2002-01-14 19:02:00) [2]

2 Fellomena:
а причем здесь глобальный хук?! хуки здесь могут пригодиться только для того, чтобы внедрить нашу dll, в которой находяться функции-перехватчики, в адресное пространство чужого процесса.
и даже для этого - хуки не самый подходящий вариант, т.к. не все процессы являются gui.

почему менее красиво и надежно?
1. проблема1: внедрение dll в адресные пространства аболютно всехпроцессов. это достаточно сложно - я не видел ни одного нормального решения. либо по таймеру опрашивают список всех запущенных процессов и в каждый из них внедряют свою dll, либо другими извращениями.
т.е. идея внедрения своей dll абсолютно во все процессы - не очень хороша.

на тему:
http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1010267813&n=5

2. проблема2: собственно перехват api - нет 100% способа перехватить вызов некой функции.

на тему:
http://www.rsdn.ru/forum/default.asp?mid=21076


Владислав   (2002-01-14 14:03:00) [3]

> Fellomena (14.01.02 11:22)

Пример есть?


Fellomena   (2002-01-14 11:22:00) [4]

насчёт менее красиво и надёжно не согласна !!!
Ставишь глобальный hook и всё !


paul_shmakov   (2002-01-13 21:19:00) [5]

лучше всего такие перехваты делать на уровне драйвера. менее красиво и надежно - перехват вызовов api. на эту тему написано множество статей в инете или у рихтера можно почитать.


Наверх

Титульная страница Поиск, карта сайта Написать письмо