какой процесс открывает файл?

Тема в разделе "WASM.BEGINNERS", создана пользователем amvoz, 3 янв 2011.

  1. amvoz

    amvoz Member

    Публикаций:
    0
    Регистрация:
    12 ноя 2008
    Сообщения:
    640
    Друзья! Вот стоит передо мной такая задача, не знаю, с чего начать. google принимает мой запрос как вопрос "не удаляется файл, как узнать, какой процесс его использует"? И даёт обсуждалово программ типа unlocker

    А мне надо именно узнать, какой процесс открывает файл. Обратную задачу я бы попытался решить сам, перехватив CreateFile, а тут не знаю, что и делать. Да, ещё. Готовые утилиты не подойдут, нужны исходники, советы или api-функции, спасибо!
     
  2. artkar

    artkar New Member

    Публикаций:
    0
    Регистрация:
    17 авг 2005
    Сообщения:
    400
    Адрес:
    Russia
    Установи аудит. Средства Виндоус позволяют это сделать, а потом в логах посмотри там всё будет и процесс и время и т.п.
     
  3. amvoz

    amvoz Member

    Публикаций:
    0
    Регистрация:
    12 ноя 2008
    Сообщения:
    640
    НАдо же такому случиться. что у меня как раз Windows XP Home Edition.
    А на ней средства аудита отсутствуют...
    http://support.microsoft.com/kb/310399/ru
     
  4. Z3N

    Z3N New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2009
    Сообщения:
    812
    amvoz
    Утилита есть же... unhooker вроде как завётся
     
  5. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    хендлы перечислить.
     
  6. Z3N

    Z3N New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2009
    Сообщения:
    812
    amvoz
    Сори, Unlocker ;)
     
  7. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    в статьях васма есть прекрасная статья с готовым кодом под данную задачу:
    кейвордс - SYSTEM_HANDLE, FILE_HANDLE,
    если же нужно логирование - хукай(охлол, буквы перепутал)) критфайл.
     
  8. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    http://www.wasm.ru/article.php?article=hiddndt
    перечесление хэндлов
     
  9. amvoz

    amvoz Member

    Публикаций:
    0
    Регистрация:
    12 ноя 2008
    Сообщения:
    640
    Всем спасибо, Z3N, при всём уважении, unlocker это не то. Эта штука удаляет файлы и показывает какой процесс их использует.
    А у меня ситуация: файл был открыт (на запись) и ЗАКРЫТ. ЧЕМ? Тут уж никакой unlocker не поможет. Да и вроде как скептически отнёсся к упоминанию этой проги в первом сообщении.
    Может, вопрос надо было поставить: "какая прога открыла и закрыла файл"

    JCronuz спасибо, но не то.

    А вообще у меня файл hosts перезаписывается, вот я и хотел отловить гада, кто в нём ковыряется.!
     
  10. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    Про Filemon забыли?
     
  11. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Ну так перехватите ядерную CreateFile.
     
  12. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    > Может, вопрос надо было поставить: "какая прога открыла и закрыла файл"
    постфактум - чаще всего никак.
    есть конечно вырожденные случаи, но в качестве общего решения не катят.
     
  13. artkar

    artkar New Member

    Публикаций:
    0
    Регистрация:
    17 авг 2005
    Сообщения:
    400
    Адрес:
    Russia
    Могу порекомендовать на .NET сделать программулю раз у тебя Хом Эдишн. Сам никогда не пользовался но вспомнил что у .NET есть нэймспэйс -Вотчер и есть пример в мсдэне, даже на русском:
    http://msdn.microsoft.com/ru-ru/library/system.io.filesystemwatcher.aspx
    Если это не слишком запарно то можешь слабать...
     
  14. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    правильно, даёш дотнет в массы!
     
  15. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    filesystemwatcher следит за файлами, а не за хендлами процессов. "Лабать" бессмысленно.
     
  16. artkar

    artkar New Member

    Публикаций:
    0
    Регистрация:
    17 авг 2005
    Сообщения:
    400
    Адрес:
    Russia
    А ну может быть, что то не нашел в аргументах ссылки на процесс :dntknw:
    Вар отпадает
     
  17. Z3N

    Z3N New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2009
    Сообщения:
    812
    amvoz
    Ой, сорри, что-то я не доглядел....

    amvoz
    Не понимаю, чем вам филимон не подходит? Он ещё и место в коде покажет, с которого был открыт/закрыт файл. Кстати, если я ничего не путаю, то исходники филимона есть в паблике. Надеюсь, что на этот раз я сказал что-то в тему ;)