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

Discussion in 'WASM.BEGINNERS' started by amvoz, Jan 3, 2011.

  1. amvoz

    amvoz Member

    Blog Posts:
    0
    Joined:
    Nov 12, 2008
    Messages:
    653
    Друзья! Вот стоит передо мной такая задача, не знаю, с чего начать. google принимает мой запрос как вопрос "не удаляется файл, как узнать, какой процесс его использует"? И даёт обсуждалово программ типа unlocker

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

    artkar New Member

    Blog Posts:
    0
    Joined:
    Aug 17, 2005
    Messages:
    400
    Location:
    Russia
    Установи аудит. Средства Виндоус позволяют это сделать, а потом в логах посмотри там всё будет и процесс и время и т.п.
     
  3. amvoz

    amvoz Member

    Blog Posts:
    0
    Joined:
    Nov 12, 2008
    Messages:
    653
    НАдо же такому случиться. что у меня как раз Windows XP Home Edition.
    А на ней средства аудита отсутствуют...
    http://support.microsoft.com/kb/310399/ru
     
  4. Z3N

    Z3N New Member

    Blog Posts:
    0
    Joined:
    Feb 10, 2009
    Messages:
    812
    amvoz
    Утилита есть же... unhooker вроде как завётся
     
  5. n0name

    n0name New Member

    Blog Posts:
    0
    Joined:
    Jun 5, 2004
    Messages:
    4,336
    Location:
    Russia
    хендлы перечислить.
     
  6. Z3N

    Z3N New Member

    Blog Posts:
    0
    Joined:
    Feb 10, 2009
    Messages:
    812
    amvoz
    Сори, Unlocker ;)
     
  7. Com[e]r

    Com[e]r Com[e]r

    Blog Posts:
    0
    Joined:
    Apr 20, 2007
    Messages:
    2,624
    Location:
    ого..
    в статьях васма есть прекрасная статья с готовым кодом под данную задачу:
    кейвордс - SYSTEM_HANDLE, FILE_HANDLE,
    если же нужно логирование - хукай(охлол, буквы перепутал)) критфайл.
     
  8. JCronuz

    JCronuz New Member

    Blog Posts:
    0
    Joined:
    Sep 26, 2007
    Messages:
    1,240
    Location:
    Russia
    http://www.wasm.ru/article.php?article=hiddndt
    перечесление хэндлов
     
  9. amvoz

    amvoz Member

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

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

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

    RamMerLabs Well-Known Member

    Blog Posts:
    0
    Joined:
    Sep 11, 2006
    Messages:
    1,426
    Про Filemon забыли?
     
  11. Booster

    Booster New Member

    Blog Posts:
    0
    Joined:
    Nov 26, 2004
    Messages:
    4,860
    Ну так перехватите ядерную CreateFile.
     
  12. n0name

    n0name New Member

    Blog Posts:
    0
    Joined:
    Jun 5, 2004
    Messages:
    4,336
    Location:
    Russia
    > Может, вопрос надо было поставить: "какая прога открыла и закрыла файл"
    постфактум - чаще всего никак.
    есть конечно вырожденные случаи, но в качестве общего решения не катят.
     
  13. artkar

    artkar New Member

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

    GoldFinch New Member

    Blog Posts:
    0
    Joined:
    Mar 29, 2008
    Messages:
    1,775
    правильно, даёш дотнет в массы!
     
  15. Booster

    Booster New Member

    Blog Posts:
    0
    Joined:
    Nov 26, 2004
    Messages:
    4,860
    filesystemwatcher следит за файлами, а не за хендлами процессов. "Лабать" бессмысленно.
     
  16. artkar

    artkar New Member

    Blog Posts:
    0
    Joined:
    Aug 17, 2005
    Messages:
    400
    Location:
    Russia
    А ну может быть, что то не нашел в аргументах ссылки на процесс :dntknw:
    Вар отпадает
     
  17. Z3N

    Z3N New Member

    Blog Posts:
    0
    Joined:
    Feb 10, 2009
    Messages:
    812
    amvoz
    Ой, сорри, что-то я не доглядел....

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