Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.14;
Скачать: [xml.tar.bz2];




Вниз

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


raiks   (2002-01-13 16:29) [0]

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



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

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



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

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



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

> Fellomena (14.01.02 11:22)

Пример есть?



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

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



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

Hook.




Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.14;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.015 c
3-42946           Люк                   2002-02-15 11:20  2002.03.14  
ADO в Delphi


7-43188           Kouzmine              2001-12-06 12:08  2002.03.14  
Подскажите или укажите место, где прочитать о определении IP или Имени компьютера


3-42954           Roman Tutov           2002-02-14 17:39  2002.03.14  
пароль к Interbase


1-43064           Woron                 2002-02-25 00:39  2002.03.14  
Строки


3-42914           Максимка              2002-02-10 20:17  2002.03.14  
Как из DLL использовать OracleSession вызывающей программы?