Файл: Руссинович М., Маргозис А. Утилиты Sysinternals. Справочник администратора 2012.pdf
Добавлен: 29.10.2018
Просмотров: 33051
Скачиваний: 742

Process Explorer
Глава 3 67
Поиск процесса — владельца окна
С помощью Procexp можно быстро найти процесс, которому принадлежит
любое окно на рабочем столе. Перетащите значок инструмента в виде пе-
рекрестья прицела с панели инструментов на интересующее вас окно. При
этом окно Procexp может скрыться, а нужное окно будет подсвечено рамкой.
Отпустите кнопку мыши — откроется окно Procexp с процессом, владеющим
выбранным окном. Эта функция особенно удобна для поиска источника со-
общений об ошибках.
Строка состояния
В строке состояния отображаются значения ключевых параметров системы:
загруженности ЦП, число процессов и использование памяти. Если авто-
матическое обновление Procexp отключено, в строке состояния выводится
слово «Paused» («Приостановлено»).
Если щелкнуть строку состояния правой кнопкой и выбрать Select Status
Bar Columns (Выбрать поля строки состояния), можно настроить отобра-
жаемые параметры (рис. 3-17). Доступны некоторые общесистемные пара-
метры и параметры отдельных процессов, работающих под одной учетной
записью с Procexp. Команда Refresh Time (Время обновления) отображает
время последнего обновления Procexp.
Рис. 3-17. Вкладка Status Bar в окне Select Columns
Динамически подключаемые библиотеки
и описатели
Нижняя панель Procexp позволяет заглянуть внутрь процесса, выбранного
в верхней панели, и увидеть его содержимое. В режиме просмотра DLL ото-
бражаются все библиотеки и другие файлы, отображаемые в адресное про-
SIN_ch_03.indd 67
27.12.2011 14:14:25

68 Часть
II
Работа с утилитами
странство процесса, а в режиме просмотра описателей видны все объекты
ядра, открытые процессом. Режим просмотра DLL (рис. 3-18) активируется
нажатием Ctrl + D, а режим просмотра описателей — нажатием Ctrl+H; на-
жатия Ctrl+L открывают и закрывают нижнюю панель. Для изменения от-
носительных размеров панелей нужно перетащить разделитель панелей.
Рис. 3-18. Нижняя панель Procexp в режиме просмотра DLL
Поиск DLL и описателей
К наиболее удобным функциям Procexp относится возможность быстрого
поиска процессов, в которые загружена некоторая DLL или открыт опреде-
ленный объект. Это полезно, например, когда при попытке удалить какую-
нибудь папку Windows не дает сделать это, сообщая, что папка «открыта
другой программой», но не называет эту программу.
Рис. 3-19. Окно Search Process Explorer
Нажмите Ctrl + F, чтобы открыть окно Search (рис. 3-19), введите имя
или часть имени DLL либо объекта, который вы хотите найти, а затем щел-
SIN_ch_03.indd 68
27.12.2011 14:14:25

Process Explorer
Глава 3 69
кните кнопку Search. Procexp сверит введенное вами имя со списком DLL,
типом и именем доступных описателей, а затем покажет список процессов
и принадлежащих им DLL и объектов, соответствующих критерию поиска.
Щелкните результат, чтобы открыть его на верхней и нижней панелях. При
двойном щелчке результаты выделяются, а окно Search закрывается.
Если результатов найдено очень много, щелкните заголовок столбца,
чтобы отсортировать его — так легче найти нужные объекты. Столбец Type
(Тип) определяет, чем является найденный объект — DLL (точнее, проеци-
руемым файлом) или описателем объекта. Столбец Handle или DLL содер-
жит имя описателя или путь к DLL. Имя описателя может отсутствовать,
если в меню View активен параметр Show Unnamed Handles And Mappings
(Отображать безымянные описатели и проекции), а искомое имя совпада-
ет с типом описателя.
Режим просмотра DLL
Как ясно из его названия, в режиме просмотра DLL отображаются все DLL,
загруженные выбранным процессом. В нем отображаются и другие проеци-
руемые файлы, в том числе файлы данных, а также файл исполняемого образа
(EXE-файл). Применительно к процессу System, в режиме просмотра DLL
отображаются образы, спроецированные в память ядра, в том числе, ntoskrnl.
exe и все загруженные драйверы устройств. Для процесса System Idle и псев-
допроцессов Interrupts в режиме просмотра DLL не отображается ничего.
Procexp требует прав администратора для просмотра DLL, загруженных
в процессы, работающие под другой учетной записью, для просмотра обра-
зов, загруженных в процесс System, администраторских прав не требуется.
Настройка режима просмотра DLL
Откройте режим просмотра DLL, щелкните правой кнопкой заголовок столб-
ца на нижней панели и выберите Select Columns — откроется окно Select
Columns с вкладкой DLL (рис. 3-20). На этой вкладке можно выбрать атрибу-
ты DLL и проецируемых файлов, отображаемые в режиме просмотра DLL:
Рис. 3-20. Вкладка DLL в окне Select Columns
SIN_ch_03.indd 69
27.12.2011 14:14:26

70 Часть
II
Работа с утилитами
• Description Информация из внедренного в файла ресурса (если имеет-
ся).
• Version Информация о версии из внедренного в файла ресурса (если
имеется).
• Time Stamp Время последнего изменения файла по данным файловой
системы.
• Name Имя DLL или проецируемого файла либо — для безымянной
проекции файла —строка <Pagefile Backed> (объект, сохраненных в стра-
ничном файле). Наведите указатель мыши на имя файла — откроется
всплывающая подсказка, содержащая его полный путь.
• Path Полный путь к DLL или проецируемому файлу либо строка
<Pagefile Backed> для безымянного проецируемого файла.
• Company Name Информация из внедренного в файла ресурса (если
имеется).
• Verified Signer Показывает, был ли образ исполняемого файла заверен
цифровой подписью с сертификатом от корневого центра сертификации,
доверяемого на этом компьютере (подробнее о подписании образов см.
ниже).
• Image Base Address Базовый адрес. Для файлов, загруженных как ис-
полняемые образы, это адрес виртуальной памяти из заголовка испол-
няемого образа, который показывает, по какому адресу следует загрузить
образ. Если этот адрес уже занят, образ загружается по другому адресу.
• Base Address Базовый адрес (адрес виртуальной памяти), по которому
файл фактически загружен.
• Mapped Size Размер непрерывной области (в байтах), начиная с базо-
вого адреса, занятой проекцией файла.
• Mapping Type Тип проекции: «image» для исполняемых файлов-образов
и «Data» для файлов данных, включая DLL, содержащие только ресур-
сы (например, значки и локализованный текст) и безымянные проекции
файлов.
• WS Total Bytes Общий размер рабочего набора (байтов физической па-
мяти, занятой в настоящее время проекциями файлов).
• WS Private Bytes Объем физической памяти, занятой проецируемы-
ми файлами, и преданной данному процессу для монопольного (а не со-
вместного с другими процессами) использования.
• WS Shareable Bytes Объем физической памяти, занятой проецируе-
мыми файлами, для которой разрешено совместное с другими процесса-
ми использование.
• WS Shared Bytes Объем физической памяти, занятой файлами, спрое-
цированными в адресное пространство нескольких процессов.
• Image Type (64 vs 32-bit) (только в 64-разрядных версиях Windows)
Тип образа, указанный в заголовке файла: 64- или 32-разрядный.
SIN_ch_03.indd 70
27.12.2011 14:14:26

Process Explorer
Глава 3 71
• ASLR Enabled (только в Windows Vista и выше) В заголовке образа
файла указано, что он поддерживает рандомизацию адресного простран-
ства. Если образ не поддерживает ASLR, то столбец остается пустым, для
файлов данных отображается строка «n/a».
Хотя DLL, загруженные по адресу, отличному от заданного для них базо-
вого адреса, по умолчанию не подсвечиваются, их можно включить, выбрав
пункт Relocated DLLs (Перемещенные DLL) в окне Configure Highlighting
(см. выше). DLL, которые не удается загрузить по стандартному для них ба-
зовому адресу из-за того, что эта область уже занята (туда спроецированы
другие файлы), загрузчик перемещает в другие области памяти. Этот про-
цесс дополнительно загружает ЦП, к тому же совместное использование
перемещенных DLL становится невозможным, что снижает эффективность
управления памятью Windows.
Если в меню View выбран пункт Show Unnamed Handles And Mappings,
то в режиме просмотра DLL отображаются и безымянные проекции фай-
лов, помеченные в столбцах Name и Path (если те не скрыты) как <Pagefile
Backed>. Для безымянных проекций многие поля, в том числе отображаемые
по умолчанию, не содержат полезной информации. Сведения о безымянных
проекциях содержатся в столбцах Base address, Mapped size и Working set
metrics.
В режиме просмотра DLL меню DLL содержит следующие пункты для
именованных файлов:
• Properties Открывает окно Properties для выбранного файла. Подроб-
нее об этом — следующем разделе.
• Search Online Procexp запускает поиск в Интернете по имени выбран-
ного файла, используя браузер и поисковую систему по умолчанию. Это
удобно при поиске вредоносного ПО или идентификации неизвестной
DLL.
• Launch Depends Если установлена утилита Dependency Walker (De-
pends.exe, о ней см. выше), Procexp запускает ее, передавая путь к вы-
бранному файлу как аргумент командной строки. Depends. exe показы-
вает DLL, зависимые от данной библиотеки, и DLL, которые зависят от
нее.
Анализ DLL
Дважды щелкните именованный элемент в режиме просмотра DLL, чтобы
отобразить для него окно Properties (рис. 3-21). Вкладка Image отображает
о проецируемом файле следующую информацию: описание, название ком-
пании, версию, путь, базовый адрес и размер в памяти процесса, а также (в
64-системах) тип (32- или 64-разрядный). Можно выделить эти поля и ско-
пировать в буфер обмена их содержимое.
SIN_ch_03.indd 71
27.12.2011 14:14:26