надежно контролировать / отслеживать / регистрировать обращения к файлам пользователей в Windows 7 - PullRequest
1 голос
/ 24 мая 2011

Мне нужно отследить все файлы, к которым пользователь обратился (создал, открыл, прочитал) и записал эти действия для дальнейшей обработки в отдельном приложении. Я исследовал и искал возможные пути достижения этого (как можно более простого) и нашел следующие решения:

  1. Подцепить kernel32.dll и перехватить все специфические функции файла, такие как CreateFileA, OpenFile и т. Д. я думал модификации IAT и обеспечения функции обертки. Я бы еще вперед вызовы оригинальных функций, но сообщить, какие файлы, где Доступ к моей заявке. Это звучит легко достичь, но я сомневаюсь, что это будет работать без нареканий Windows 7, как мне кажется, новая ограничения безопасности мешают успешный перехват, изменяя таблица адресов импорта. Может кто нибудь знает лучше :) 1005 *

  2. Записать в файловую систему минифильтр и сделать отчет по функциям обратного вызова о доступе к файлам. Как у меня нет написал минифильтр, прежде чем я не знать, возможно ли это подход. Я считаю, что развитие Минифильтр требует гораздо больших усилий. Может быть, кто-то может указать на некоторые ресурсы, такие как учебники по написанию простые минифильтры файловой системы.

Я знаю библиотеку Microsoft Detour, но на данном этапе я бы хотел ее не использовать, так как ловушка в целом довольно проста. Есть ли надежный способ перехвата файловых функций в Windows 7 вообще без использования Detours или EasyHook? Что касается минифильтров: я считаю, что то, чего я хочу достичь, довольно просто по сравнению, например, с фильтрами, которые имеют дело с шифрованием. Однако у меня нет опыта в написании минифильтров, и я не могу оценить, сколько усилий требуется для достижения моих целей. Все примеры, на которые я наткнулся, касались фильтров файловой системы, а не минифильтров.

Я благодарен за любые подсказки и предложения:)

Привет, Любопытство

Ответы [ 2 ]

0 голосов
/ 24 мая 2011

Проверяли ли вы наш CallbackFilter продукт, который предоставляет готовый драйвер фильтра и позволяет писать всю логику в пользовательском режиме?

0 голосов
/ 24 мая 2011

В .NET вы можете использовать FileSystemWatcher .

...