Procmon24 sys что это за драйвер
Перейти к содержимому

Procmon24 sys что это за драйвер

  • автор:

Ошибка: Unable to load process monitor device driver при запуске Process Monitor

Ошибка: Unable to load process monitor device driver при запуске Process Monitor

Process Monitor (сокращенно Procmon.exe или Procmon64.exe) — очень популярная утилита, которая имеет огромное количество различных функций и очень помогает в процессе использования ОС Windows, но при ее запуске, может появляться вот такая вот ошибка:

Unable to load process monitor device driver

Если в этот момент посмотреть в просмотр событий, то увидим вот такую вот ошибку:

Средство проверки целостности кода обнаружило, что хэш образа файла недопустим. Файл может быть поврежден после его несанкционированного изменения, или недопустимый хэш может указывать на потенциальную ошибку дискового устройства.
Имя файла: \Device\HarddiskVolume2\Windows\System32\drivers\PROCMON24.SYS

Code integrity determined that the image hash of a file is not valid. The file could be corrupt due to unauthorized modification or the invalid hash could indicate a potential disk device error
Filename: \Device\HarddiskVolume2\Windows\System32\drivers\PROCMON24.SYS

Исправляем ошибку

Данная ошибка связана с тем, что в 64-битных версиях Windows майкрософт добавили проверку цифровой подписи и из-за этого, Windows не дает загружать необходимый драйвер, т.к. он не проходит проверку на валидность. Ошибка решается очень просто, путем установки обновления KB3033929, которое добавляет поддержку SHA-2 для проверки валидности сертификатов. Скачать данное обновление можно по следующей ссылке:
https://www.microsoft.com/ru-ru/download/details.aspx?id=46148

После того, как мы скачали Windows6.1-KB3033929-x64.msu, необходимо его запустить и дождаться окончания установки.


После окончания установки не забываем нажать кнопку «Перезагрузить сейчас»

После перезагрузки Process Monitor должен запускаться нормально, а ошибка исчезнуть.

Диагностика медленной загрузки Windows с помощью Process Monitor

date13.02.2017
useritpro
directoryWindows 10, Windows 7
commentsОдин комментарий

Для диагностики причин медленной загрузки ОС Windows существует ряд довольно мощных утилит и методик анализа журналов событий, позволяющих выполнить детальную отладку всех этапов процесса загрузки системы и запуска служб (xperf/xbootmgr из Windows Performance Toolkit / Analyzer). Но их использование может вызвать ряд трудностей, особенно для начинающего системного администратора. В этой статье мы покажем, как с помощью Process Monitor можно довольно просто и быстро определить, какие программы, службы и драйвера долго выполняются при старте системы, увеличивая тем самым общее время загрузки для пользователя.

Безусловно, всем системным администраторам Windows, должна быть знакома утилита Process Monitor из комплекта системных утилит Sysinternals. Утилита Process Monitor позволяет в реальном времени отслеживать активность запущенных процессов, обращения к файловой системе и реестру. Одной из малоизвестной функцией Process Monitor является возможность включения режима мониторинга процессов запускаемых во время загрузки Windows.

Для диагностики этапа загрузки, Process Monitor создает отдельную службу в разделе реестра HKLM\SYSTEM\CurrentControlSet\Services. Данная служба загружает драйвер режима загрузки procmon23.sys, стартующий после запуска Winload.exe, который протоколирует активность всех, процессов выполняющихся во время запуска системы и входа пользователя.

  1. Скачайте и распакуйте архив с ProcessMonitor (http://download.sysinternals.com/files/ProcessMonitor.zip)
  2. Запустите с правами администратора файл procmon.exe
  3. В меню Options выберите пункт Enable Boot LoggingEnable Boot Logging журналирование загрузки в Process Monitor
  4. В появившемся окне выберите опцию Generate thread profiling events -> Every second. В этом режиме драйвер procmon будет перехватывать состояние всех процессов каждую секундуenerate thread profiling events -> Every second
  5. Перезагрузите компьютер и дождитесь появления рабочего стола
  6. Драйвер procmon23.sys будет записывать все события до тех пор, пока пользователь не запустит утилиту Process Monitor . После этого режим протоколирования загрузки отключается.
  7. В окне Process Monitor соглашаемся с предложение сохранить собранные данные в файл.Сохранить журнал с акивностью при загрузки в файл

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

Как правило, этот анализ поможет выявить «тормозящие» процессы, засевший в системе троян (в первую очередь нужно анализировать дочерние процессы Winlogon.exe), принять решение о необходимости удалить/обновить проблемное ПО или драйвер устройства, отключить некоторые службы или изменить тип их запуска (отложенный запуск или ручной по запросу), убрать программы из автозагрузки. Чаще всего в этом списке оказываются антивирусы и другое «тяжелое» ПО.

Предыдущая статьяПредыдущая статья Следующая статья Следующая статья

Использование procmon от sysinternals для диагностики проблемных мест в исполняемом коде

Сразу хочу сказать, что это только демонстрация возможностей procmon для определения проблемных мест в программном обеспечении. 1С83 была выбрана для опытов из-за неочевидности способа поиска точки входа в процедуру проверки наличия установленных эмуляторов ключа. Она выполняется через различное время после старта порядка 3

10 мин, и вызывает появление окна «нарушение целостности системы» с последующим закрытием приложения. Я призываю всех использовать только лицензионное программное обеспечение. Рассматривать эту статью, как описание возможности взлома, нет смысла. Хотя бы потому, что 1С83 давно взломана и без меня. Любой 1с-ник за секунду вам скажет, как ее запустить без ключа.

Если кто не в курсе procmon от sysinternals умеет ставить перехватчик на системные события работы процессов с файлами и регистром виндуза. И хотя любой процесс плодит гигантское количество обращений к файлам и регистру при старте, да и в процессе работы тоже, использование фильтров и поиска по событиям упрощает нахождение нужного. Интересной особенностью procmon является сохранение стека вызовов у каждого события. Таким образом можно проследить какие модули и в каком месте породили то или иное событие.

Итак, ставим фильтр по имени процесса 1с.

Запускаем 1с, и потом только включаем захват событий. Таким образом мы пропустим большое количество ненужных нам событий, случающихся при старте. Ждем появления сообщения о нарушении целостности.

Останавливаем захват событий и начинаем просмотр с конца в поисках чего-то подозрительного. Практически сразу наталкиваемся на что-то интересное.

Щелкаем на любое событие и идем на вкладку Стек.

Все что выше горизонтальной черты очевидно уже принадлежит модулям ядра виндуза, а вот три адреса ниже представляют интерес. Какой-то из них наверняка есть адрес возврата в тело процедуры проверки. Запустим же 1с заново и приатачимся отладчиком из Visual Studio, для простоты, т.к. оно уже у нас есть под рукой.

Остановим процесс и введем искомый адрес в окно дизассемблера, например, самый первый в порядке вызовов.

Ведущие нули в таком количестве оно нам дописало, т.к. это 64-бит процесс. Вот он и вызов из которого предполагается возврат на искомый адрес. Поставим точку останова, запустим остановленный процесс, и будем ждать.

Через какое-то время точка останова действительно срабатывает. Проходим вызов одним шагом вперед по F10 и смотрим содержимое регистра AX, все знают, что вызовы функций чаще всего возвращают результат именно в нем. Видим какую-то подозрительную константу, которая совпадает с далее следующей командой сравнения CMP.

Запускаем выполнение дальше и убеждаемся, что ничего не поменялось, программа ругается как обычно и вылетает. Что ж, а что будет при отсутствии эмулятора? Запускаем 1с заново, останавливаем, переходим по нашему адресу, ставим точку останова. Все, как и раньше. Заходим в менеджер устройств виндуза и выключаем устройство эмулятора, переименовываем раздел регистра с дампами и файл драйвера в System32, так как в списке захваченных событий выше мы видели обращения к соответствующим именам. Запускаем процесс из Visual Studio и ждем.

Видим, что в данном случае возвращается другая константа, которая тоже рядом проверяется. Запускаем выполнение дальше и убеждаемся, что прога работает без проблем. Предположим, что 0xa19d это проверка пройдена нормально, а 0x91cb это нарушение целостности. Двумя строчками выше видим безусловный переход JMP и понимаем, что предыдущий перед точкой останова вызов call, это точка входа в процедуру проверки и, видимо, предыдущий вызов проверяет регистр виндуза, а вызов в точке останова — файлы, что вполне согласуется с порядком захваченных событий. Проходя отладчиком путь от точки входа до выхода из процедуры в режиме с включенным эмулятором, убеждаемся, что переход на адрес 0x10e67dfb1 приводит к аварийному завершению. Таким образом, если попробовать перескочить сразу из точки входа на адрес 0x10e67df99, то, возможно, проверка будет пройдена.

Лезть в справочники за кодами инструкций не придется, т.к., к счастью, сразу выше точки входа мы видим двухбайтовую инструкцию безусловного относительного перехода JMP. Понятно, что код инструкции это EB, а второй байт означает смещение. Т.к. все знают, что регистр адреса текущей инструкции всегда содержит адрес следующей за исполняемой в данный момент, то к адресу точки входа нам надо прибавить 2 и от этого места посчитать количество байтов до целевого адреса, так у нас получится нужное смещение (второй байт инструкции) 2E. Открываем окно дампа памяти и по адресу входа в процедуру проверки меняем два байта на нашу инструкцию.

Запускаем программу выполняться дальше. И что мы видим? Нам повезло и это работает 🙂

Здесь можно было бы сказать, что теоретически можно использовать функцию виндуз API WriteProcessMemory, и автоматизировать внесение изменений в оперативную память процесса после его старта, но исследования в этом направлении я не продолжал, так как не было такой цели.

Как пользоваться Process Monitor?

Здравствуйте, расскажите, пожалуйста, как пользоваться программой для мониторинга процессов Process Monitor? Как в ней фильтровать процессы.

Илья, прошрамма Process Monitor — позволяет отслеживать активность процессов Windows.

Общие сведения о программе Process Monitor .

Process Monitor — программа от компании Sysinternals для наблюдения в реальном масштабе времени за действиями различных процессов в среде операционной системы Windows. После приобретения Sysinternals компанией Майкрософт, в разделе технической поддержки появился раздел Windows Sisinternals где можно найти описание и ссылки для скачивания большинства программных продуктов Sysinternals.

Утилита Process Monitor, включает в себя возможности программы мониторинга обращений к реестру Regmon и программы мониторинга обращений к файловой системе Filemon, и дополнительно, позволяет получать более подробную информацию о взаимодействии процессов, использовании ресурсов, сетевой активности и операциях ввода-вывода.
Авторы — Марк Руссинович (Mark Russinovich) и Брюс Когсуэлл (Bryce Cogswell)
Программа работает во всех версиях ОС Windows (проверено на Windows 2000 и старше), не требует инсталляции, однако должна выполняться под учетной записью с правами администратора. В архиве также присутствует файл документации на английском языке procmon.chm и текстовый файл с кратким описанием и лицензионным соглашением.
Для своей работы, Process Monitor устанавливает в системе собственный драйвер PROCMON20.SYS , с помощью которого выполняется перехват контролируемых монитором системных функций и сбор данных подлежащих мониторингу. Наблюдение выполняется для следующих классов операций — обращения к файловой системе (file system), обращение к реестру (Registry), работа с сетью (Network), и активность процессов (Process).
При первом запуске на экран будет выдано лицензионное соглашение, требующее подтверждения пользователя. Затем, после старта программы Process Monitor, выводится окно с фильтрами для исключения из процесса наблюдения событий стандартной активности системы и самого монитора.

Process Monitor от Sysinternals
Созданию фильтров будет посвящен отдельный раздел статьи, поэтому пока можно просто закрыть это окно и продолжить знакомство с программой.
После запуска исполняемого файла procmon.exe начинается сбор, обработка и вывод данных об отслеживаемых событиях в основном окне программы:
Process Monitor от Sysinternals
Интерфейс программы состоит из 3-х частей — строка меню (menu bar), панель инструментов (toolbar) и область вывода данных в виде списка. Программа перехватывает отслеживаемые события, связанные с активностью процессов и выдает данные в соответствии с заданными критериями фильтрации и пользовательскими настройками отображаемых колонок. Для остановки мониторинга нужно щелкнуть мышкой по кнопке с лупой на панели инструментов, так, чтобы ее изображение стало перечеркнутым красной линией. Повторный щелчок вернет режим перехвата.
Каждому событию, перехваченному программой Process Monitor, соответствует одна строка в окне вывода данных. Двойной щелчок на отдельной строке вызовет окно просмотра свойств события (Event Properties). Порядок следования строк соответствует последовательности выполнения операций. Информация в окне вывода данных разделена на несколько столбцов, состав которых можно выбрать с помощью контекстного меню Select Columns, вызываемого правой кнопкой мышки на поле описания колонок или через главное меню — Options — Select Columns.
Выбор колонок в окне данных утилиты Process Monitor от Sysinternals
Возможен вывод колонок, разбитых на 3 категории:
Application Details — сведения о процессе
Event Details — сведения о событии
Process Management — данные о родительском процессе, порождаемых потоках и контексте учетной записи безопасности исследуемого процесса.
Вывод всех колонок на экран неудобен, поэтому лучше ограничиться их минимально необходимым количеством, а более детализированную информацию получать двойным щелчком на строке отображаемого события.
В последних версиях Process Monitor при первом запуске выводятся колонки, наиболее подходящие для быстрого анализа информации и дающие представление о том, какой процесс, какую операцию выполнил, и с каким результатом.:
Sequence — номер строки (порядок следования события по времени) с начала сессии перехвата отслеживаемых событий.
Process Name — имя процесса, вызвавшего событие.
Operation — выполняемая операция. Значение зависит от типа обращения и представляет собой краткое описание, как , например, открытие ключа реестра RegOpenKey или отправка TCP пакета TCP Send
Path — путь, связанный с используемым ресурсом. Это может быть файл, ключ реестра, данные TCP соединения и т.п.
Result — результат выполнения запроса:
END OF FILE — обнаружен признак конца файла (EOF)
NAME NOT FOUND — файл, каталог или данные реестра не найдены
NAME COLLISION — была попытка создать новый файл, но файл с таким именем уже существует.
FILE LOCKED -файл открыт для монопольного доступа.
SUCCESS — операция выполнена успешно.
INVALID DEVICE REQUEST — неверный запрос к устройству.
FAST I/O DISALLOWED — операция ввода/вывода с использованием устаревшего запроса к драйверу запрещена (интерфейс «fast I/O» в большинстве современных драйверов не поддерживается и заменен на интерфейс IRP — I/o Request Packet — пакет запроса на ввод/вывод).
Detail — дополнительная информация о событии, описывающая тип запроса, права доступа, свойства файла или каталога, тип данных, значение ключа реестра и т.п.

Панель Инструментов Process Monitor от Sysinternals
Панель инструментов позволяет быстро выполнить наиболее необходимые и часто используемые в практической работе с программой, действия. Кнопки панели инструментов выполнены в стиле, характерном для большинства программных продуктов Sysinternals и, в основном, имеют схожее предназначение.
Кнопки панели инструментов Process Monitor от SysinternalsOpen — открыть ранее сохраненные данные мониторинга. Комбинация клавиш Ctrl+O
Кнопки панели инструментов Process Monitor от SysinternalsSave — сохранить текущие данные мониторинга в файл. Имеется возможность сохранить все события (All Events), события, отфильтрованные текущими фильтрами (Events displayed using current filter) или события выделенные подсветкой (Highlighted events). Можно также использовать различный формат сохраняемых данных — обычный формат утилиты Process Monitor (PML), файл с разделителями (CSV), файл в формате XML.. Комбинация клавиш Ctrl+S
Кнопки панели инструментов Process Monitor от SysinternalsCapture — Включение / выключение режима перехвата событий. Если значок лупы перечеркнут — мониторинг активности процессов остановлен. Комбинация клавиш Ctrl+E
Кнопки панели инструментов Process Monitor от SysinternalsAutoscroll — Включение / выключение режима автоматической прокрутки экрана данных. При включении, в окне данных будут отображаться последние по времени выполнения операции. Если значок перечеркнут — прокрутка не будет выполняться. Комбинация клавиш Ctrl+E
Кнопки панели инструментов Process Monitor от SysinternalsClear — очистить текущие данные перехвата событий активности процессов. Комбинация клавиш Ctrl+X
Кнопки панели инструментов Process Monitor от SysinternalsFilter — вызвать окно настройки фильтров. Комбинация клавиш Ctrl+L
Кнопки панели инструментов Process Monitor от SysinternalsHighlight — вызвать окно настройки подсвечиваемых событий. Комбинация клавиш Ctrl+H
Кнопки панели инструментов Process Monitor от SysinternalsInclude Process From Window — Позволяет включить в мониторинг процесс, связанный с определенным окном. Для выбора окна нужно нажать левую кнопку мышки на значке мишени и (не отпуская кнопку) переместить указатель на нужное окно.
Кнопки панели инструментов Process Monitor от SysinternalsShow Process Tree — отобразить окно с деревом процессов. Информация отображается в виде иерархической структуры, отображающей зависимости между родительскими и порожденными процессами. Процессы, имеющие одного и того же родителя, отображаются в порядке, соответствующем времени запуска. Так, например, процесс wininit.exe c идентификатором ( PID ) равным 364 запустил services.exe с идентификатором 420, который, в свою очередь породил несколько процессов svchost.exe и т.д.
Дерево процессов, отображаеое Process Monitor
При отображении дерева процессов для каждого из них выводится информация с именем, описанием, путем исполняемого файла, владельцем, командной строкой запуска и временем старта. При установке указателя мыши на строку конкретного процесса, в нижней части окна будет выведена подробная информация о нем.
Кнопки панели инструментов Process Monitor от SysinternalsFind — стандартный диалог поиска строки Windows . Комбинация клавиш Ctrl+F
Кнопки панели инструментов Process Monitor от SysinternalsJump To Object — Стандартная для многих приложений от Sysinternals возможность быстрого перехода к исследуемому объекту — ключу или разделу в редакторе реестра, папке или файлу в проводнике Windows. Комбинация клавиш Ctrl+J
Следующая группа кнопок панели инструментов задает тип отображаемых событий (класс событий). Если кнопка «утоплена» — события данного типа будут отображаться:
Кнопки панели инструментов Process Monitor от SysinternalsShow Registry Activity — отображать информацию об обращениях к реестру Windows
Кнопки панели инструментов Process Monitor от SysinternalsShow File System Activity — отображать информацию об обращениях к файловой системе Windows
Кнопки панели инструментов Process Monitor от SysinternalsShow Network Activity — отображать информацию о сетевой активности процессов
Кнопки панели инструментов Process Monitor от SysinternalsShow Process and Thread Activity — отображать информацию об активности процессов, связанной с загрузкой библиотек, созданием и завершением других процессов или потоков.
Кнопки панели инструментов Process Monitor от SysinternalsShow Process and Thread Activity — отображать информацию об активности процессов, связанной с загрузкой библиотек, созданием и завершением других процессов или потоков.
Кнопки панели инструментов Process Monitor от SysinternalsShow Profiling Events — Отображать события класса Profiling. Применяется для определения степени использования центрального процессора (CPU) отдельными процессами и их компонентами.
Open CTRL+O — открыть из файла ранее сохраненный отчет и просмотреть его
Save CTRL+S — сохранить содержимое окна в файл отчета .
Backing Files CTRL+B — файл для записи информации о событиях. По умолчанию, используется файл подкачки (pagefile.sys).
Capture Events CTRL+E — Включить/выключить режим перехвата событий.
Export Configuratuion — экспорт конфигурации. Позволяет сохранить текущие настройки Process Monitor в специальном файле конфигурации (.PMC)
Import Configuration — загрузить настройки Process Monitor из сохраненного файла конфигурации.
Пункты основного меню Edit
Copy CTRL-C — скопировать в буфер обмена выделенные строки.
Find CTRL+F — поиск строки с заданным текстом.

Свойства события

Auto Scroll CTRL+A — автоматическая прокрутка в окне отображения событий.
Clear Display CTRL+X — очистить список перехваченных данных. Удаляются все строки, записанные с момента начала перехвата.
Пункты основного меню Event
Properties CTRL-P — отобразить свойства выбранного события.
Отображается окно свойств события Event Properties

Вкладка Event содержит подробную информацию о событии — время, класс события, выполняемая операция, результат и некоторые данные, зависящие от типа выполняемой операции.
Вкладка Process позволяет просмотреть подробную информацию о процессе — имя, версию, путь исполняемого файла, параметры командной строки, PID самого процесса и PID его родителя, список загруженных библиотек.
Вкладка Stack — информация о вызовах функций модулей ядра (помечены буквой K) и модулей среды пользователя (помечены буквой U).
Jump to CTRL+J — быстрый переход к просмотру источника события.
Search Online — поиск в Интернет информации, связанной с описанием события..
Include — добавление в список отслеживаемых событий по имени процесса, пути исполняемого файла, параметров командной строки и т.д.
Exclude — исключение из списка отслеживаемых событий по имени процесса, пути исполняемого файла, параметров командной строки и т.д.
Highlight — выделение из списка отслеживаемых событий по имени процесса, пути исполняемого файла, параметров командной строки и т.д.
Последние три пункта меню позволяют быстро сформировать фильтры для обработки данных Process Monitor.
Пункты основного меню Filter
Enable Advanced Output — расширенный вывод данных события. Касается, в основном, представления информации о выполненной операции.
Filter CTRL+L — вызов окна настройки фильтров.
Reset Filter CTRL+R — сброс текущих настроек фильтров.
Load Filter — загрузить ранее созданный фильтр.
Save Filter — сохранить текущий фильтр.
Organize Filter — удалить, переименовать, экспортировать или импортировать фильтр.
Highlight CTRL+H — вызов окна настройки выделения (подсвечивания) событий.
Пункты основного меню Tools
System Details — показать информацию о системе — имя компьютера, операционную систему, корневой каталог ОС, количество процессоров (CPU), объем оперативной памяти, разрядность 32/64 бит..
Process Tree CTRL+T — вывести дерево процессов.
Process Activity Summary — суммарные данные активности процессов. По каждому процессу выдается суммарная таблица количества операций ввода-вывода, обращений к файлам и реестру, степени использования процессора.
File Summary — суммарные данные использования файловой системы. С помощью выбора вкладок можно получить статистику по использованию путей, каталогов, файлов с определенными расширениями.
Registry Summary — суммарные данные по обращениям к реестру Windows. Общее количество обращений, количество операций открытия, закрытия, чтения, записи. Статистика обращений к различным разделам и ключам.
Stack Summary — суммарные данные по использованию функций Windows.
Network Summary — суммарные данные по использованию сети Число установлений соединений, число разрывов, число передач и приемов, количество принятых и переданных байт, сетевые пути.
Cross Reference Summary — суммарные данные по совместному использованию ресурсов Windows разными процессами. Информация о файлах, в которые одни процессы выполняют запись, а другие — чтение.
Count Occurrences — можно получить суммарные данные по выбранным колонкам. Название колонки нужно выбрать в поле Column и нажать кнопку Count В поле данных будет выведена статистическая информация об использовании различных значений выбранной колонки.
Пункты основного меню Options
Always on Top — всегда отображать окно программы Process Monitor поверх всех остальных окон.
Font — выбор шрифта для окна
Highlight Colors — выбор цвета для фона и текста записей, выбранных в качестве подсвечиваемых.Позволяет задать цвет текста (кнопка FG) и цвет фона (кнопка BG) для выделяемых подсветкой событий
Configure Symbols — конфигурирование источника для определения имен функций. .
History Depth — Позволяет задать степень использования виртуальной памяти (количество запоминаемых в течении сессии записей — от 1 до 199 миллионов). В случае, когда монитор процессов работает длительное время, часть записей о событиях может быть отброшена, но в любом случае наиболее часто регистрируемая активность будет сохранена.
Profiling Events — интервал перехвата состояния выполняющихся процессов.
Enable Boot Logging — установить режим мониторинга процессов во время загрузки ОС.
Show Resolved Network Addresses CTRL+N — установить режим отображения сетевых имен вместо IP-адресов.

Установка фильтров программы Process Monitor .

Process Monitor запоминает последний используемый набор фильтров и применяет его при следующем запуске программы. Задать условия фильтрации можно сразу после старта утилиты или вызвав окно настройки фильтров ( Process Monitor Filters ) в любой момент времени с использованием меню программы или комбинации клавиш CTRL+L. Кроме непосредственного создания правил фильтрации вручную, возможно использование кнопок панели инструментов и контекстного меню, вызываемого правой кнопкой мышки.
Контекстное меню Process Monitor
Меню позволяет выполнять действия фильтров Include, Exclude и Highlight с использованием данных выбранного события. Так, например, выбор пункта меню Exclude «PTStartmon.exe» приведет к созданию правила фильтра для исключения из наблюдения процесса с именем PTStartmon.exe. Выбор Highlight — выпадающее меню — Result вызовет подсвечивание всех записей, в поле результата выполнения отслеживаемой операции которых, будет такое же значение, как и в текущем событии.
Exclude и Category — исключить из выходных данных события, категория которых совпадает с категорией выбранной записи.
Обычно, используется исключение операций, путей и процессов, информация о которых не нужна в выходных данных.
Создание фильтров вручную позволяет получать более гибкие правила, основанные на использовании логических выражений.
Критерии фильтров Process Monitor
Запись правила фильтрации состоит из 4-х колонок:
Column — колонка (содержимое поля описания события) записи события. Можно выбрать одно из возможных полей отображаемого в окне данных программы события.
Relation — логическое выражение. Is — равно, принимает значение
Is not — не равно
Less then — меньше чем
More then — больше чем
Begin with — начинается с
Ends with — заканчивается на
Contains — содержит
Excludes — не содержит
Value — значение. Зависит от свойств выбранного поля в первой колонке (Columns)
Action — действие. Exclude — исключить событие, соответствующее условиям данного фильтра. Include — включить событие, соответствующее условиям данного фильтра.
Выпадающие меню позволяют выбрать элемент события (признак по которому будет срабатывать правило фильтрации), логическую операцию над ним и действие, выполняемое при удовлетворении условий фильтрации. Например, для того, чтобы не отслеживались события, связанные с процессами компании Microsoft, можно создать следующее правило:
Column (колонка) — выбираем значение Company
Relation (выражение — можно выбрать is (равно) или, более универсально — contain (содержит)
Value (значение) — выбираем Microsoft Corporation
Action (действие) — выбираем Exclude — исключить.
В итоге, получаем правило — «не отображать события, в поле имени компании которых присутствует значение Microsoft Corporation».
Необходимо учитывать, что Procces Monitor, при завершении работы, запоминает последний активный фильтр и при следующем запуске применяет его в качестве текущего. Для сброса фильтра используется комбинация клавиш CTRL+R.

Практика применения утилиты Process Monitor .

Одно из основных применений Process Monitor — определение причин аварийного завершения приложений в случае отсутствия или неверного расположения файлов, каталогов, разделов и ключей реестра. Иногда программа используется для исследования работы конкретного приложения, например для определения местонахождения настроек обозревателя Mozilla Firefox.
При исследовании поведения конкретного приложения, желательно создать такие условия фильтрации, чтобы не отображалась лишняя информация и не потерялась нужная. Как правило, настройки приложений хранятся либо в реестре, либо в файле, поэтому, нужно отсеять отображение событий, не связанных с данным приложением (имя процесса не равно firefox.exe) и нужным видом активности Event Class (исключить события сетевой активности Network и класса Profiling и включить события классов Registry и File System).
После настройки фильтра, желательно очистить активный буфер (CTRL+X) и вызвать выполнение исследуемого события — т.е. перейти в окно Firefox.exe, изменить и сохранить какую-либо из настроек. После чего нужно вернуться в окно Process Monitor, остановить процесс перехвата событий и приступить к анализу полученных данных.
Конечно, в случае сложной программы, количество операций обращения к реестру и файловой системе может исчисляться сотнями или даже тысячами, и в подобных случаях, придется разбираться исходя из здравого смысла и возможной логики работы приложения. Так, наиболее вероятно, что
— настройки любого приложения не могут храниться во временных файлах, поэтому их можно сразу исключить из анализа.
— настройки обозревателя Firefox индивидуальны для каждого пользователя, и следовательно, связаны с его профилем ( каталог C:\documents And Settings\пользователь для Win2k/XP, C:\Users\Пользователь для Windows Vista/7) и раздел реестра HKEY CURRENT USER (HKCU) )
— можно также выделить тот факт, что сохранение настроек — это операция записи.
В результате таких предположений, круг поиска будет значительно сужен и процесс анализа событий станет проще.
В качестве ответа для задачи поиска места хранения настроек Firefox — пользовательские настройки хранятся не в реестре, а файле с именем prefs.js. Анализ содержимого файла подтверждает предположение, что это именно настройки. В первых строках содержится текст:
Из перевода становится понятно, что настройки, внесенные вручную в данный файл, при запущенном обозревателе, не будут сохранены, поскольку будут перезаписаны при его завершении. И для ручного изменения настроек следует в адресной строке Mozilla Firefox набрать about:config . За дополнительной информацией предлагается перейти по ссылке на сайт mozilla.org.
А также, понятно, что для сохранения текущих настроек обозревателя, можно скопировать содержимое файла prefs.js в файл с другим именем и при необходимости, в любой момент, восстановить их из сохраненной копии.
Возможности Process Monitor позволяют также получать суммарные показатели использования ресурсов системы (меню Tools — : Summary)
Пример отображения суммарных показателей использования файловой системы (меню Tools — File Summary):

Статистика активности ввода/вывода
При необходимости получения данных о статистике использования отдельных каталогов можно перейти на вкладку By Folder
Статистика активности ввода/вывода
При необходимости получения статистики использования файлов по расширениям нужно перейти на вкладку By Extensions
Статистика активности ввода/вывода
Пример отображения суммарных показателей использования реестра (меню Tools — Registry Summary):

Статистика обращений к реестру

Отображается статистика
Total — общее число обращений к реестру
Opens — число выполнений операций открытия
Closes — число выполнений операций закрытия
Reads — число выполнений операций чтения
Writes — число выполнений операций записи
Others — число выполнений других операций
Paths — Путь раздела или ключа реестра

Пример отображения суммарных показателей активности процессов (меню Tools — Process Summary):

Статистика активности процессов

Отображается информация о количестве событий отдельных категорий — обращений к реестру, обращений к файловой системе, сетевой активности и т.п.
Пример отображения суммарных показателей использования различных вызовов (меню Tools — Stack Summary):

Статистика вызовов функций.
Позволяет получить данные об использовании различными процессами пользовательских функций и функций ядра. По сути, позволяет определить наиболее используемые процессами в период мониторинга библиотеки, службы, драйверы. Нажатие кнопки Go to Event позволяет перейти к событию, связанному с текущим вызовом в окне вывода данных Process Monitor.
Еще одна очень полезная возможность утилиты Process Monitor — получить журнал активности процессов в ходе загрузки операционной системы.
Для этого выбираете меню Options — Enable Boot Logging. Программа выдаст сообщение, что Procmon сконфигурирован для записи событий мониторинга в процессе следующей перезагрузки системы:
Process Explorer - включение мониторинга в процессе загрузки Windows.
В данном окне можно также включить режим периодического перехвата состояния всех процессов (Profiling) с интервалом в 1 секунду или 100 миллисекунд.
Режим записи информации в журнал мониторинга начнется в ходе загрузки Windows с момента запуска драйвера программы ( PROCMON20.SYS ) и будет продолжаться до тех пор, пока утилита Process Monitor не будет запущена вновь вошедшим в систему пользователем. Данный режим выполняется только для одной перезагрузки системы.
После нового запуска Process Monitor, пользователь получит сообщение о том, что имеется журнал с данными мониторинга активности в процессе загрузки Windows, созданный предыдущим экземпляром программы и запрос на сохранение собранных данных.
Process Explorer - завершение мониторинга в процессе загрузки Windows.
После ответа «Да» файл отчета будет сохранен, и можно приступать к анализу полученной информации.
Необходимо учитывать тот факт, что процесс записи данных мониторинга продолжается после завершения загрузки системы и регистрации пользователя, и если не выполнить запуск Process Monitor, то файл журнала ( C:\Windows\procmon.pmb ) будет продолжать расти в размере и, в конце концов, может вызвать переполнение диска.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *