Слежение за изменением файла

Тема в разделе "WASM.WIN32", создана пользователем EvilsInterrupt, 10 янв 2007.

  1. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    Задача такова:
    Дан 1 файл размеров в N байт, с интервалом в M сек. в файл записываются значения, причем файл не меняет своего размера. Файл создается и модифицируется на сетевом диске скажем K:\ программой работающей под управлением MS DOS. Данная программа очень нелюбит когда файл открывают по чтению, и если наступает момент,когда она хочет модифицировать файл, а при этом файл открыт по чтению, то она не может модифицировать файл.

    Данную программу я не имею права модифицировать. Но мне необходимо следить за изменением файла.
    Слышал, что есть Win API которые позволяют открыть файл так, что как только файл изменяется, то этот момент можно выловить.

    Прошу подсказать мне эти Win API.

    Спасибо и Удачи вам
     
  2. ViCooper

    ViCooper Victor

    Публикаций:
    0
    Регистрация:
    11 дек 2006
    Сообщения:
    26
    ...Хм. Может файл для асинхронных операций попробывать открыть? Хотя...//???
    - NtWriteFile ...но перехватывать - в ядре.
    Подумав: - похоже перехватывать надо в DOC'е... не WINAPI есно.
     
  3. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    Нет, помню были определенные API`шки, но убей не помню :dntknw:
     
  4. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    FindFirstChangeNotification? Там только на изменение размера или времени последнего изменения.
     
  5. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    IceStudent
    Вроде оно, щас курю ман:
     
  6. doctor_Ice

    doctor_Ice New Member

    Публикаций:
    0
    Регистрация:
    21 мар 2005
    Сообщения:
    845
    Адрес:
    Russia
    run.bat
    дос резидент который хукает открытие файла
    программа которую нельзя модифицировать
     
  7. k3internal

    k3internal New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    607
    Перехват IoCreateFile IoWriteFile. SDT хукать смысла не имеет, поскольку NTVDM работает с ядром напрямую, кроме NtCreateFile, ещё можно поискать в системе все дрова, помеченные определённым атрибутом как компоненты файловой системы и похукать их таблицы IRP. Вот тебе метод. Ешё можеш CIFS протокол разобрать и выставить IP фильтр. )))))))))
     
  8. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    k3internal
    Ну не фигасе, это же какой исходник то получится, вы уверенны что после меня люди разберутся во всех этих CIFS , IP-фильтрах и т.д.

    Пока думаю сделать так, создать таймер , каждые M / 3 в сек. проверять не изменилась ли дата модификации у файла. Если изменилась, то он был модифицирован, если в течении M сек. файл не был модифицирован, то досовское ПО зависло, а это дежурному оператури сигнал о том что пора бы пошевелить мозгами )))