Доброго времени суток. На днях заморочился изучением ассемблера под win-32. Имеются небольшие навыки написания программ под дос(ественно на ассемблере). Вопрос такой. Необходимо создать программу, которая будет записывать в файл все(по возможности) действия с файлами в определенную директорию. Это программа- первый кирпичик в мою будущую систему аудита =). Что необходимо: 1)Что мне почитать, что бы не задавать совсем уж глупых вопросов. 2)Тому, кто доходчиво и ясно обьснитт примерный принцип работы - ну просто мега-респект =) 3) А если кто нить тыкнет носом в то, как перелопатить и подключить драйвер от FileMon - просто отлично будет. Буду рад любой адекватной помщи в научении меня тайному искусству =) Искренне ваш Well .
Нужно ждать изменения файла в потоке. http://msdn.microsoft.com/en-us/library/aa364417(VS.85).aspx Что сводитсо к сервису NtNotifyChangeDirectoryFile. Но это только укажет что произошло, для контроля нужно писать фильтр(легально или похукать pIofCallDriver etc).
Спасиб камрад Будем читать и разбираться Чем больше литературы по делу будет - тем лучше. Пока необходимо только наблюдение. Хоть его бы запрогать
По порядку 1. Смотри http://www.wasm.ru/forum/viewtopic.php?id=29640. Там и почитать и примеры попробовать. 2. Предположительно будут две части: управляющее приложение (для настройки системы) и драйвер для слежения за файловыми операциями. Нужно определиться с форматом лога, придумать компактную структуру, которую драйвер будет передавать управляющему приложению или сразу писать в лог на диске (это уж ты решишь). К примеру, FileMon (при всем уважении к его создателям и к нему самому, как к хорошей утилите) тупо в режиме ядра генерит лог в виде больших текстовых сообщений и передает их приложению, которое просто выводит их на экран. 3. В исходниках драйвера Filemon две основные части: отслеживание IRP и отслеживание FastIo и несколько вспомогательных: настройки фильтрации, ведение лога, получение процесса и полного пути в файловым объектам и т.д. Помимо драйвера FileMon можно посмотреть исходники фильтров файловых систем от Microsoft из IFS: Filespy, sfilter, minispy, passThrough. Из более простых способов можно перехватывать NtCreateFile и т.д. Способов перехвата несколько. Простейший через SDT.
Путь дзен-война труден и опасен. Выходные прошли в метаниях, Ночи - в чтении документации и нафаршировании себя знаниями...Числа 3 начну реализовывать полученные данные )
Есть исходник на тему. Запускается и ждет запись/перезапись файлов в определенной папке. При обнаружении записи/перезаписи файлов в папке предпринимается что-нибудь.