Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Процесс, который модифицировал файл, Как найти процесс, который изменил файл 
:(
    Опции темы
UserOK
  Дата 16.6.2017, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 15.6.2017

Репутация: нет
Всего: нет



Здравствуйте.

Сегодня появился такой вопрос: как найти процесс, который изменил содержимое файла. Допустим, есть файл C:\file.txt. То, что он изменился, нетрудно понять по FileLen, но необходимо выяснить, что именно (какой запущенный процесс) поменял его содержимое. Просьба привести наглядный пример.

Заранее спасибо.
PM MAIL   Вверх
Akina
Дата 16.6.2017, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 453



Включите файловый аудит на изменение - только тогда получите эти данные.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
UserOK
Дата 16.6.2017, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 15.6.2017

Репутация: нет
Всего: нет



Цитата(Akina @ 16.6.2017,  12:37)
Включите файловый аудит на изменение - только тогда получите эти данные.

Хорошо, давайте уточню вопрос. Как на Vb6 узнать, какой процесс в настоящее время получает доступ к файлу (конкретно - записывает данные)? Т. е. действие аналогично Unlocker'у - проверить, каким сторонним процессом занят файл (какое приложение использует файл)
PM MAIL   Вверх
Akina
Дата 16.6.2017, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 453



Способ есть, но я его знаю только описательно. Есть некая недокументированная функция в ntdll.dll, которая позволяет получить доступ к таблице всех хэндлов системы. Из неё можно отобрать хэндлы интересующего тебя файла и получить пиды процессов, по которым узнать их имена. Исходного кода на VB - не видел. Можешь попробовать найти что-то на С++ на форумах программистов-системщиков.
Поскольку функция (и используемые ей структуры) была чисто "для внутреннего употребления", то точно могу сказать, что она поддержана в хрюшке и НЕ поддержана в восьмёрке - там придётся искать, что с ней сделали и чем заменили. Насчёт семёрки не знаю.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.1143 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.