Войти

Показать полную графическую версию : Регистрация всех обращений к файлам и реестру конкретного процесса


Mertvii
20-09-2011, 18:15
WindowsXP, софтина со своими файлами в отдельной папке, на этой папке по умолчанию разрешения обычному пользователю только чтение. Программа в процессе работы требует доступ к некоторым файлам на запись и, возможно, в каких-то папках должна создавать файлы. Давать на всю папку права на запись нежелательно.

Необходима утилита, с общим алгоритмом работы следующим:

1) В утилите выставляем имя процесса/путь к нему на диске, предварительно, она висит в фоне
2) Запускаешь софтину
3) В окошке утилиты сразу появляется длинный список попыток обращения к файлам, с указанием характера обращения (запись/чтение/создание) и результата

Сразу хочу отметить 2 вещи:
1) Нужен не рилтайм мониторинг (как в process explorer), а чтобы вёлся лог всех попыток обращений к файлам и (будет ещё лучше) реестру, на выходе должен быть полный список куда прога лезла и с какой целью, за весь период времени, в который она работала под "присмотром" утилиты
2) Гадания разного плана на process explorer-е и просто определение "на глазок" исходя из общего назначения самой софтины не устраивают, нужно чтобы именно был подробный лог, из которого сразу ясно какие разрешения и куда ставить.

Petya V4sechkin
20-09-2011, 18:20
Mertvii, только не Process Explorer, а Process Monitor (http://technet.microsoft.com/ru-ru/sysinternals/bb896645).

из которого сразу ясно какие разрешения и куда ставить
"По щучьему велению" хотите? :) Так не бывает, придется мозг применить.

Mertvii
20-09-2011, 18:50
Petya V4sechkin, 2011 год на дворе, как-никак. Так бывает, такой функционал был в одном пакете для создания собственных дистрибутивов. Хотелось бы относительно небольшую утилиту, где будут только указанные возможности

Iska
20-09-2011, 21:52
Mertvii, небольшая утилита — это и есть Process Monitor.

Требование:
1) Нужен не рилтайм мониторинг (как в process explorer), а чтобы вёлся лог всех попыток обращений к файлам и (будет ещё лучше) реестру, »
неразрешимо, ибо для регистрирования попыток обращения нужен драйвер, который будет именно в реальном времени перехватывать вызовы функций WinAPI и вести лог обращений.
и с какой целью »
Это вовсе бессмыслица. Это невозможно узнать в принципе.
Petya V4sechkin, 2011 год на дворе, как-никак. Так бывает, такой функционал был в одном пакете для создания собственных дистрибутивов. »
В каком?

Mertvii
20-09-2011, 23:01
Iska, macrovision admin studio, по-моему. А по поводу, что нельзя узнать с какой целью - есть же в ОС возможность включить аудит доступа к объектам, в том числе и к файлам - тогда в секурити разделе логов будут появяться сообщения об успешных/безуспешных попытках доступах к файлам, т.е. принципиально невозможным назвать нельзя.

Iska
20-09-2011, 23:35
Iska, macrovision admin studio, по-моему. »
Вы смотрели на внутренности, что именно оно предпринимает для отслеживания?
есть же в ОС возможность включить аудит доступа к объектам, в том числе и к файлам - тогда в секурити разделе логов будут появяться сообщения об успешных/безуспешных попытках доступах к файлам, т.е. принципиально невозможным назвать нельзя. »
Чем это будет отличаться от установки драйвера? Только возросшим временем, заметной потерей производительности и огромным логом. Во всяком случае, помнится, в Process Monitor есть возможность группировки (или дропа, не помню) дублирующихся событий.

Delirium
21-09-2011, 01:36
Iska, аюсолютно прав. запускаем Process Monitor, выставляем фильтры на нужную папку и пусть себе мониторит. Дальше дело рук.

Mertvii
23-09-2011, 17:45
Спасибо посоветовавшим Process Monitor, оказалось именно тем самым.

Magus
29-09-2011, 12:25
Process Monitor, конечно, неплохая вещь, но:
1. неудобные логи: пишутся только в собственный формат, который не поддаётся анализу иными программами, да и самим PM не открывается на машине с ОС другой разрядности, а ещё лог-файлы автоматически кромсаются на части разного размера (хотя написано "limited by free disk space");
2. невозможно поместить программу в автозагрузку как службу или в планировщик, чтобы она писала логи в фоне, т.к. при старте она выдаёт окно фильтра, в котором как минимум нужно нажать "ОК";
3. старый лог-файл при старте перезаписывается, хотя лолично было бы добавление каких угодно символов в каждый новый файл;
Причем вручную можно выгружать список в удобный формат CSV: хорошая задумка, но не реализована для лог-файлов ("backup").
Это в версии 2.96... "сырой" продукт, однако.
Есть что-нибудь ещё подобное?

Petya V4sechkin
29-09-2011, 12:32
невозможно поместить программу в автозагрузку как службу или в планировщик, чтобы она писала логи в фоне
Process Monitor – мониторинг включения системы (http://xaegr.wordpress.com/2009/07/27/procmon-bootlogging/)

"сырой" продукт, однако.
Скажите свое "фи" Марку Руссиновичу :)




© OSzone.net 2001-2012