как узнать какая программа создала файл
Вадим Стеркин
Непонятные файлы на диске мы обнаруживаем двумя путями. Либо они явно видны в проводнике или файловом менеджере, либо к ним приводят поиски причины исчезновения свободного места на диске. Хорошо, если после удаления файлов, они больше не появляются. Но так бывает не всегда, и в этом случае приходится определять приложение, которое их создает.
Однажды на форум обратился человек, у которого какое-то приложение записывало в корень системного диска файлы, в имени которых содержится tmp _out.
Конечно, не исключено, что эта система заражена, и требуется тщательная проверка всевозможными антивирусными средствами. Но далеко не всегда проблема связана с вредоносным кодом, и тогда понадобится другой подход. Проще всего вычислить виновника появления таких файлов с помощью утилиты Process Monitor. Из видео за четыре минуты вы узнаете, как это сделать.
Отслеживание активности
При запуске утилита отслеживает несколько типов системной активности:
Поскольку мы ищем причину записи файлов на диск, нужно сосредоточиться на активности в файловой системе. Для этого на панели инструментов оставьте включенной только одну кнопку, отвечающую за активность на диске.
Кроме того, убедитесь, что утилита отслеживает активность. Если у вас перечеркнута кнопка, которая на рисунке обведена красным, нажмите CTRL+E.
На рисунке выше активность отслеживается, причем только в файловой системе.
Основной фильтр
Теперь нужно применить фильтр, чтобы исключить не относящуюся к делу активность. Нажмите сочетание клавиш CTRL+L, и вы увидите возможности фильтрации. В Process Monitor сразу активны некоторые фильтры, исключающие отслеживание деятельности самой программы, а также некоторых системных компонентов (файла подкачки, таблицы MFT и т.д.). Это сделано для того, чтобы исключить мониторинг стандартной активности системы. В большинстве случаев удалять эти фильтры не нужно, и достаточно просто добавить свой.
На рисунке выше показан фильтр, который будет отслеживать создание и изменение всех файлов, в путях к которым содержится tmp _out. Давайте разберем фильтр подробнее слева направо:
Не забудьте нажать кнопку Add, чтобы добавить фильтр в список. Впрочем, если вы забудете, Process Monitor напомнит об этом, прежде чем закрыть окно фильтров.
В данном случае я использовал часть имени файла в качестве ключевого слова, поскольку все непонятные файлы содержат в имени tmp_out. Если файлы создаются с разными именами, но зато в определенной папке, используйте путь к этой папке в качестве ключевого слова.
Поскольку задано жесткое условие фильтрации файловой активности, в окне программы, скорее всего, теперь не будет отображаться никаких процессов. Но Process Monitor уже начал их отслеживать.
Проверить работу фильтра очень просто. Достаточно создать в текстовом редакторе файл с искомым именем или в наблюдаемой папке, и Process Monitor моментально отреагирует на это.
Дополнительные фильтры
Запись и открытие лога
Учтите, что при длительном отслеживании размер лога может измеряться гигабайтами. По умолчанию Process Monitor записывает лог в файл подкачки. Если у вас маленький системный раздел, имеет смысл сохранять лог в файл на другом разделе диска.
Для сохранения лога в файл нажмите сочетание клавиш CTRL+B и укажите имя и желаемое расположение файла.
Изменения вступают в силу после перезапуска захвата активности. Теперь можно смело оставить Process Monitor включенным на длительное время, не опасаясь за лимит дискового пространства.
Остановить отслеживание активности можно сочетанием клавиш CTRL+E.
Впоследствии вы всегда сможете загрузить в утилиту лог из сохраненного файла. Закройте Process Monitor и дважды щелкните файл лога с расширением PML. Содержимое лога отобразится в окне Process Explorer.
Человек, обратившийся на форум с проблемой, так и не вернулся сообщить, помог ли ему мой совет. Но он был с таким вопросом не первый и, наверняка, не последний. Если вопрос возникнет у вас, вы сможете ответить на него с помощью Process Monitor.
О видео
Читатели блога выразили поддержку моей идее дополнять статьи видеоматериалами. Я подумал, что этот случай очень хорошо подходит, и записал ролик длиной менее 4 минут.
Если честно, создание такого видео занимает намного больше времени, чем написание статьи. Поэтому я в любом случае не готов заменять печатный текст видеоматериалами. Но мне кажется, что в данном случае видео интереснее и понятнее. А что вы думаете по этому поводу?
Видео длится около четырех минут, и я старался сделать его быстрым и емким. Ведь в реальности подготовка к поимке приложения занимает буквально одну минуту. Вас устраивает скорость изложения?
Более подробный рассказ о Process Monitor и другие примеры его практического использования вы можете посмотреть в видео моего коллеги Василия Гусева, если у вас есть свободные 40 минут 🙂
Об авторе
Вас также может заинтересовать:
Я в Telegram
Подпишитесь на канал и читайте интересные записи чаще! Есть вопросы? Задайте их в чате.
комментариев 19
Вадим.
Может стоит упомянуть еще и Filemon он тоже позволит решить задачу.
sergm, не вижу смысла, т.к. Process Monitor объединяет функционал Regmon и Filemon. Эти две утилиты больше не распространяются автором.
Я сторонник того к чему привык 🙂 т.е. набору своего инструментария…
а то чего не хватает дописываю сам.
PS надо будет обновиться.
Vadim Sterkin, спасибо!
Хоть для меня буквы информативнее, в видео я увидел один плюс — когда читал, пропустил строчку
Достаточно щелкнуть по процессу правой кнопкой мыши и выбрать из контекстного меню пункт
начало абзаца прочиталось, выделенное жирным тоже, а эта часть «выпала». В видео оно увиделось.
sergm, понятно, что у каждого свой привычный набор утилит (и о моем я планирую рассказать в скором времени 🙂 Но Process Monitor уже достаточно давно заменил две отдельные утилиты и расширил их функционал. Так что да, обновляться надо 🙂
Morpheus, я рад, что ты нашел мое видео полезным, ибо твое скептическое отношение к ним мне известно 🙂 В этом и есть главное преимущество коротких видео. Статью мы часто читаем по диагонали, цепляясь глазом за якоря (заголовки, жирный шрифт, картинки, код). А видео удерживает внимание непрерывно, когда автору это удается, конечно 🙂
Просмотр длинного ролика вряд ли обойдется без перемотки «говорильни» к следующему фрагменту действия. Но с коротким видео, нашпигованным действиями, такого не происходит.
Да, скептическое 🙂 но только когда кино заменяет собой текст и длится более 20 минут. Сути там минуты на 3, всё остальное — это «эээ», «ааа» и гигалитры воды. Я не готов 30 минут из 40 смотреть на презентационные шаблоны и рабочий стол показывающего, выискивая там нужные кусочки.
К короткому видео, когда оно дополняет текст (а не заменяет его), претензий нет. Это может быть полезно, если сделано со вкусом. Тебе удаётся делать интересно. Спасибо!
Твои статьи я читаю внимательно, но видимо глаз уже сам перематывает многабукф.
З.Ы. А почему нет ссылки «цитировать» для самого материала, как для комментов?
Morpheus: Это может быть полезно, если сделано со вкусом. Тебе удаётся делать интересно. Спасибо! »
Morpheus: А почему нет ссылки «цитировать» для самого материала, как для комментов? »
Ссылки «Ответить» и «Цитировать» — это плагин Quote Comments. Без него в постах только ссылка «Ответ», создающая древовидную структуру, которая мне не нравится. В статьях такого нет, да и не нужно особо. Я хочу, чтобы мои статьи воспринимались как единое целое, а не раздирались на цитаты 😉
Спасибо Вадим! Очень интересно, но я с таким не сталкивался пока.
Видео суперски, кратко и ясно, такое редкость. Но и описание с нормальным количеством скринов, даже лучше.
Спасибо за Ваш блог. Читаю с удовольствием :Beer:
А я Вадим сразу вам и написал- очень будет полезно если будут хоть коротелькие ролики!! Как писал выше- нажал на паузу и разобрался)..Да и мне как то зрительно более понятно(имхо).
Андрей, спасибо за отзыв — я рад, что мои труды над созданием видео получают высокую оценку моих читателей зрителей 🙂
Алекс, ваши пожелания воплощаются в жизнь 😉 Но, как я сказал, видео более затратно по времени, хотя я все еще оптимизирую процесс его создания. Но при любом раскладе это дольше написания статьи, если придерживаться таких стандартов подачи материала, а не просто лепить 20-минутный ролик с мычанием 🙂
Хорошая статья и самое главное (я преподаватель информатики) с хорошими примерами.
Вадим понятно! но в любом случае будем надеяться хоть на редкие небольшие ролики:).
Logvinov Vladimir, спасибо за отзыв. Похоже, вы оценивали материал с точки зрения дидактического пособия 🙂
Полезная статья. Просмотрел и прочитал, к сожалению, не помогло. Дело в том, что у меня утекает дисковое пространство со скоростью 1-2 мега в секунду, причём я не могу найти, куда. утекает с системного диска. Аваст последний. Сканировал и спайдером, и авастом, шиш. ВСё чисто, по их мнению. Свободного места 30 гиг, если утром комп включил, и даже не логинишься, то к вечеру, после просто стояния в экране приветствия, при входе в систему обязательно вылезет окно, что нет дискового пространства на диске С. Понятно, что какая-то служба косячит, но вот какая? Причём после перезагрузки — места снова 30 гиг, и потихоньку утекает. ФАРом хорошо видно утекание. Темпы вычищены, и прочие восстановления системы уже давно отключены, а всё равно утекает. При этом файл подкачки не пухнет более 0,5 гига, да и оперативка не заполняется полностью. Впрочем, своп я отключал, не помогло. Как бы сделать «фото» размеров файлов вначале работы, потом через некоторое время, и когда место кончится? Кто может захапывать под себя 30 гиг, а уверен, и больше? Комп в домашней сети, за NAT, сетевые дырки прикрыты. Переустновить винду можно, но гиморно. Кроме того, спортивный интерес. Винда хп лицензия со всеми апдейтами. Месяц уже голову ломаю. Как сломаю, перейду на линукс 🙂
Yuri, диагностику нужно проводить в два этапа:
1. Выявление папок, в которых записываются файлы.
2. Определение приложения, записывающего их.
Для первого этапа используйте специализированные утилиты. См. номер 5 в списке 10 лучших бесплатных программ для быстрой диагностики Windows. В комментариях упоминались и другие программы этого типа.
Просто спасибо. Такой труд дорогого стоит.
Дмитрий, спасибо на добром слове.
Сергей Валерьевич
Сделал всё как показано. Создал в процесс мониторе фильтр для файла с именем «123». Создаю его в блокноте, сохраняю с именем «123» — ноль реакции. Создал фильтр на Process name «CMD» — запускаю командную строку — срабатывает, показывает процесс. Что я делаю не так в первом случае?
Мне отсюда не видно, но похоже, что не включено отслеживание файловой активности (cmd — процесс).
Как узнать какая программа создала файл
Добрый день. Появилась такая проблема. На сервере freebsd
ежедневно создается архив /usr/backup/dp_2015-09-30.tar и этот архив занимает все свободное место. Сколько бы его не было.
Попробовалничего не нашло в конфигах, файл принадлежит root, подскажите как можно вычислить что за процесс его создает. Посмотреть что в архиве нет возможности, потому что, архив до конца не создается, видимо места не хватает, и по этому не открывается и не читается.
Заранее благодарен за помощь.
1. «Как узнать какая программа создает файл» | + / – | |
Сообщение от ipmanyak (??) on 30-Сен-15, 11:47 | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
2. «Как узнать какая программа создает файл» | –1 + / – | |
Сообщение от eRIC (ok) on 30-Сен-15, 12:47 | ||
значит этот бекап не настроен в обычных конфиг файлах, а в какой нить программе/сервисе которая крутится на сервере и делает бекап, а конфиг его в другом формате сохранен. или же по сети подает туда бекап какие сервисы работают на сервере? бд, прокси, и т.д. и т.п. или путь описан относительным путем. | ||
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору |
3. «Как узнать какая программа создает файл» | +1 + / – | |
Сообщение от DeerFriend on 30-Сен-15, 14:33 | ||
| ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
4. «Как узнать какая программа создает файл» | + / – | |
Сообщение от eRIC (ok) on 30-Сен-15, 14:49 | ||
#lsof +D /usr/backup/ (если lsof установлен) | ||
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору |
5. «Как узнать какая программа создает файл» | +1 + / – | |
Сообщение от anonymous (??) on 30-Сен-15, 20:09 | ||
а что, в freebsd нет ничего похожего на inotify?
Нету, ни inotyfy, ни dnotify, ни fanotify. Они очень обижаются по этому поводу, А ваще, уже лет 20 точно, есть мультиплатформеный File Access Monitor от Sillicon Graphics: http://search.cpan.org/ | ||
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору |
6. «Как узнать какая программа создает файл» | +1 + / – | |
Сообщение от Square1 on 30-Сен-15, 22:07 | ||
Разрешите вам не поверить что нельзя посмотреть содержимое.
Да. Шикарная западлянка. /dev/random бэкапится 🙂 Как определить происхождение файла (doc, xls, pdf) (создан на этом компе или принесли)Offline отображение Doc, XLS, PDF файлов Посоветуйте библиотеку для формирования отчетов в *.pdf, *.doc, *.xls Онлайн просмотр файлов в форматах doc, xls, pdf, jpg 2007 году, на компьютере, Windows 7, Office 2010, редактировался на этом ноутбуке Windows 7, Office 2010 с 2011 года, был перенесён на флешке на комп на работу, редактировался там, сейчас в облаке, т.к. на работе Windows10, Office 2019, свойства открыты на этом ноутбуке Windows 7 office 2010 (см. скрин 1). С помощью такого метода ничего нельзя выяснить. Создал файл на другом ноутбуке, через флешку перенёс на этот ноутбук. В свойствах указан создатель. Это пользователь на втором ноутбуке. См. на вордовский файлах, там как правило есть Авторы и Кем сохранён. Как отследить изменения в системе после установки программы?Существует специальная утилита SysTracer специально разработанная для отслеживания изменений в системе, осуществляя это сравнением двух «снимков системы» — до и после. В итоге получаем представленные в удобном виде данные по изменениям в трех категориях «Реестр», «Файлы», «Прочие настройки» (н/п групповые политики, трасе системных утилит aka netsh) А уж если Вы «боритесь со PS: Единственное — внимательно ознакомьтесь с документацией в отношении фильтрации, так как Process Monitor by default протоколирует все события. В первую очередь Вам нужно нацелить его на ID процесса инсталятора, а так же (если он не используется в процессе установки — отключить сетевой дамп в нем очень много «мусора» сильно мешает разобраться). Как определить на чем написана программа?Т.к. вы неавторизованы на сайте. Войти. Т.к. тема является архивной. Т.к. вы неавторизованы на сайте. Войти. Т.к. тема является архивной. Т.к. вы неавторизованы на сайте. Войти. Т.к. тема является архивной. Т.к. вы неавторизованы на сайте. Войти. Т.к. тема является архивной. Т.к. вы неавторизованы на сайте. Войти. Т.к. тема является архивной. Т.к. вы неавторизованы на сайте. Войти. Т.к. тема является архивной. Т.к. вы неавторизованы на сайте. Войти. Т.к. тема является архивной. Т.к. вы неавторизованы на сайте. Войти. Т.к. тема является архивной. Я сказал там будет нужная информация. Т.к. вы неавторизованы на сайте. Войти. Т.к. тема является архивной. Т.к. вы неавторизованы на сайте. Войти. Т.к. тема является архивной. Т.к. вы неавторизованы на сайте. Войти. Т.к. тема является архивной. Т.к. вы неавторизованы на сайте. Войти. Т.к. тема является архивной. Да, но обычно не напрямую, должны быть биндинги к библиотеке. Т.е. например, если из ненативной программы нужно работать с zip файлами, для использования zip.dll должен существовать биндинг к этой библиотеке на этом языке (класс на java, в питоне это модули и т.д.). Хотя, некоторые языки позволяют напрямую использовать сишные библиотеки. Но в любом случае, например программа на VB, например, обязательно использует какие-то специальные библиотеки, зависимость от которых явно указывает что программа на VB, аналогично с другими языками. То есть, можно исследуя зависимости от библиотек, выяснить, написана ли программа на C или C++.
|