![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как отследить попытку обращения к файлу?
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. на эту тему написано множество статей в инете или у рихтера можно почитать.