Re[4]: Выполнить код в PASSIVE_LEVEL.
От: DimanKGKZ  
Дата: 27.01.07 04:01
Оценка:
Здравствуйте, onyx2, Вы писали:



А>>Эти функции нужны для определения других вещей на основе данных полученых из пакета.


O>В общем, мне неизвестно что там вам надо получить, поэтому ничего советовать не буду.


ZwCreateFile
ZwDeviceIoControlFile
Эти функции используются для получения структур MIB_TCP_RAW и MIB_UDP_RAW от TCPIP драйвера
посылая ему IOCTL_TCP_QUERY_INFORMATION_EX.

ZwOpenProcess
ZwQueryInformationProcess
ZwOpenProcessToken
ZwQueryInformationToken
Эти функции используются для получения имени файла запущеного процеса по заданому PID и
SID юзера запустившего его.

Итого, надо получать эту инфу на каждый прием/посылка IP пакета и спать 5 секунд нельзя .
Еслиб не этот случай, что callback функция работает на IRQL=2 ... наверное все былоб хорошо .

Конечно такая схема работы на первый взгляд не есть хороший вариант. Но иметь на любой момент времени
табличку запущенных процессов в системе, чтобы на каждый IP пакет получать инфу по заданному PID процесса
пока не представляется возможным... Работать ведь надо этой filter-hook callback function быстро...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.