AutoRuns

AutoRuns 11.21

Позволяет контролировать автозагрузку запускающихся при старте операционной системы сервисов, приложений и других компонентов. Также показывает полный перечень путей в реестре и на диске, где может быть настроен автоматический запуск приложений. Утилита очень полезна, и с ее помощью вы можете не только отследить назойливые модули от некогда поставленных и забытых программ, но и отловить какой-нибудь "троянский" модуль (если у вас минимально защищенная система). Утилита AutoRuns отслеживает загружаемые модули и драйверы в локациях. Кроме того, утилита AutoRuns дает возможность просматривать информацию не в обобщенном виде, а по конкретному приложению – для этого в ней реализованы различные закладки.

Обзор утилиты AutoRuns

В продолжение цикла статей о свободно распространяемых на Sysinternals.com утилитах вашему вниманию предлагается обзор утилиты AutoRuns, которая позволяет контролировать автозагрузку при старте системы компонентов, сервисов и приложений.

Утилита не требует установки. Достаточно распаковать архив и запустить AutoRuns.exe. Пример главного окна утилиты показан на рисунке ниже.

После запуска утилиты в главном окне перечислены объекты, которые автоматически запускаются при старте системы. Чтобы отключить запуск определенного объекта достаточно снять отметку напротив его имени. Отключение не удаляет автозапуск, а лишь отключает его. В последствии можно будет включить автозапуск, вернув отметку около названия, отключенного ранее автозагружаемого компонента.

Чтобы удалить компонент из автозагрузки можно воспользоваться контекстным меню, которое вызывается щелчком правой кнопки мыши на названии объекта или выделить объект и нажать Ctrl+D.

Чтобы просмотреть ярлык для запуска приложения или ключ реестра, который его запускает, можно воспользоваться пунктом меню Entry – Jump to. Откроется Проводник или редактор реестра и будет выполнен переход в то место, откуда запускается приложение.

AutoRuns позволяет легко получить дополнительную информацию о приложении или сервисе, которые показаны в главном окне программы. Для этого нужно выделить интересующее приложение и нажать Ctrl+G или выбрать в меню Entry – Google. Autorun сформирует запрос и отправит его на поисковую систему Google, результаты которого можно будет просмотреть браузером.

Для просмотра свойств файла, автоматический запуск которого выполняется при загрузке системы, достаточно выделить интересующий пункт в главном окне AutoRuns и выбрать в меню Entry – Properties. Откроется окно свойств файла, такое же, как то, которое открывается щелчком правой кнопки по файлу в Проводнике и выбора Свойства.

При необходимости можно просмотреть информацию об автозагружаемых библиотеках, расширениях Проводника, службах, библиотеках, которые зарегистрированы для отображения событий, возникающих при входе в систему. Для получения всей этой информации нужно отметить один из пунктов Show AppInit DLLs, Show Explorer Addons, Show Services, Show Winlogon Notifications в меню View. Управлять автозапуском перечисленных объектов можно так же, как описывалось выше.

AutoRuns позволяет просмотреть те папки и ключи реестра, которые могут использоваться для автозапуска приложений, но в данный момент не задействованы. Для отображения этих мест нужно выбрать в меню View – Include Empty Locations.

При большом количестве записей в главном окне программы может быть полезно скрыть те из них, которые имеют цифровую подпись Microsoft (View – Hide Signed Microsoft Entries). Отключение показа таких записей позволит быстрее найти автозагружаемый объект.

Утилита AutoRuns может работать и из командной строки. Для этого предназначен файл AutoRunsc.exe, который находится в том же архиве, что и AutoRuns.exe. Ключи для работы с AutoRuns из командной строки приведены в документации к утилите.

AutoRuns может быть очень полезна при «чистке» компьютера от самостоятельно установившихся модулей, которые могут открывать страницы, подменять стартовую страницу в браузере, при лечении от некоторых типов вирусов и при оптимизации скорости загрузки системы в целом. Утилита снимает с пользователя необходимость иметь перед глазами список мест, откуда приложение может запускаться при загрузке системы и избавляет его от необходимости вручную проверять все подобные места.


FileMon

FileMon 7.03

Утилита, позволяющая вести мониторинг всех операций с файлами. Она контролирует и отображает всю деятельность файловой системы на компьютере. Программа имеет расширенную и возможность поиска, которые делают ее мощным инструментом для исследования работы Windows, наблюдения, какие приложения используют файлы и DLL, или контроля проблем в системных или прикладных конфигурациях. Имеет удобный фильтр, может сохранять отчет в файле.
Теперь вы знаете, как «подловить» хитрые программы и проследить за их «подпольной» деятельностью. Ведь программы иногда совершают «непотребства» - мусорят временными файлами, множеством ключей в реестре, и даже размещают на диске «шпионов», которые собирают информацию о пользователе, а затем высылают ее через Интернет.

Обзор Монитора файловой системы FileMon

В продолжение цикла статей об утилитах, свободно распространяемых на www.sysinternals.com, обзор Монитора файловой системы FileMon.

Утилита очень проста в использовании, имеет небольшой размер и предоставляет полный контроль над обращениями к файловой системе. FileMon позволяет собрать всю информацию об обращении к файлам системы, программ, показывает какие библиотеки используют приложение и является отличным средством для диагностики проблем, которые могут возникать в работе приложений и системы. Гибкая настройка фильтра позволяет получить сведения об обращениях к файловой системе определенной программы, что значительно облегчает диагностику неисправностей в работе программы. Совместимость со всеми версиями Windows делает FileMon универсальным инструментом.

Внешний вид FileMon показан на рисунке ниже.

При помощи пункта меню File – Path Properties можно получить информацию о свойствах файла, к которому было зафиксировано обращение. При помощи File – Process Properties – информацию о процессе, выполнявшем обращение к файлу.

Пункты меню Edit – Include Process и Edit – Exclude Process служат для быстрой настройки фильтра и либо включают, либо исключают из мониторинга обращения определенных процессов к файловой системе. Пункты Edit – Include Path и Edit – Exclude Path включают или отключают мониторинг обращений любого процесса к определенному файлу.

Пункт меню Edit – Explorer Jump, либо двойной щелчок по строке в окне программы, открывает Проводник и делает текущей ту папку, в которой находится объект, попытка доступа к которому была зафиксирована FileMon.

Окно настройки фильтра FileMon можно открыть при помощи Options – Filter/Highlight. Внешний вид окна настройки фильтра показан на рисунке ниже.

По умолчанию, при первом запуске утилиты, она начинает сбор информации обо всех обращениях к файловой системе. Чтобы включить (Include) или исключить (Exclude) в мониторинг определенный(е) процесс(ы) или путь(и), необходимо прописать их в настройках фильтра. Имена процессов или путей разделяются точкой с запятой. Поле Highlight позволяет указать имя процесса или путь, обращения которых или к которым будет подсвечено в главном окне программы определенным цветом. Это упрощает дальнейшую работу с результатами мониторинга и позволяет оперативно находить интересующую информацию.

Три чек–бокса внизу окна настройки фильтра позволяют настроить протоколирование только определенных действий над объектом, как то Открытие (Open), Чтение (Reads) или Запись (Writes). Эти настройки разрешают максимально сократить объем лишней информации, собираемой монитором, и значительно облегчают поиск необходимых значений в логе работы.

Пункт меню Options – Advanced Output включает протоколирование процесса System и позволяет отслеживать работу диспетчера памяти и протоколировать обращения системы к файлу подкачки.

Пункт меню Volumes позволяет включать или отключать мониторинг обращений только к определенным томам.

В качестве примера работы с FileMon можно решить задачу определения места хранения файлов почтовой базы данных Outlook Express. Для этого нужно настроить фильтр следующим образом:

Т.е. FileMon будет протоколировать только чтение данных процессом msimn.exe. Для сбора информации достаточно настроить фильтр, проверить, что включено протоколирование (отмечен пункт File – Capture Events) и открыть Outlook Express. Пример окна утилиты с собранными данными показан ниже.

Теперь нужно остановить протоколирование и в столбце Path главного окна утилиты найти имя файла базы данных. Например, Входящие.dbx. Двойной щелчок по этой строке откроет Проводник на той папке, где хранятся почтовые базы данных.


Справка по FileMon

Краткая cправка по FileMon-у

Если расчитывать на то, что мою небольшую справку по RegMon-у Вы уже прочитали, то кажется, что достаточно написать только о том, чем они между собой отличаются. Так я сразу и собирался сделать, но после передумал. Скажу честно, побоялся вконец запутаться, тем более, что FileMon я знаю меньше. Да и, кроме того, если кому-нибудь нужна будет информация только об этой утилите, ему не придется читать описание обоих. Так что будем писать все по порядку.

Написанное в наибольшей мере будет соответствовать 7-ой версии программы (недавно авторы объявили, что эта версия станет последней, а далее последует выпуск нового продукта Process Monitor, объединяющего в себе функции RegMon и FileMon). Обращаю Ваше внимание на тот весьма странный факт, что описание функциональности программы сделано мною применительно к уже уходящей в прошлое операционной системе Windows 98. Я расссчитываю, что Вы самостоятельно разберетесь в расширенных возможностях работы программы (а они действительно существенны) в системах на базе NT.

Ни в коем случае не устанавливайте программу в папку, в полном имени которой содержатся нелатинские символы! Будут проблемы...

Назначение FileMon-а в отслеживании обращений к файловой системе Вашего компьютера. При этом пользователю FileMon-a можно будет увидеть, какие файлы открывала некая программа (или даже только пыталась это делать), из какого фрагмента файла происходило чтение и каков был размер прочитанных блоков данных. Аналогично и для операций записи в файлы. Но об этом, как и о других возможностях программы, будет написано далее. А пока рассмотрим, что именно можно увидеть в окне программы.

    Итак, для каждого перехваченного обращения к объектам файловой системы в столбцах таблицы последовательно показаны:
  1. # - номер текущей записи (в том порядке, в котором были перехвачены обращения к файлам). Пропуски номеров обыкновенно означают, что FileMon не справляется с потоком данных. Выход один - фильтровать сообщения (ну, или покупать комп помощнеее).
  2. Time - время перехвата (можно выбрать или текущее время или время в секундах (восемь разрядов после запятой) отсчитываемое от запуска программы или последней очистки окна).
  3. Process - иконка программы, имя и 32-битный идетификатор того процесса, из которого происходит вызов функции обращения к файлам. Для случая, когда мы следим за каким-то EXE-файлом, обычно имя его процесса будет отображаться не более чем 8-ю первыми буквами имени этого файла. В любом случае, что бы не забивать отчет ненужными Вам сведениями, следует отфильтровать все процессы, кроме исследуемого. Об этом несколько подробнее будет дальше.
  4. Request - фактически это эквивалент имени функции, которую запросил текущий процесс для проведения некоторых файловых операций.
  5. Path - путь к файлу или каталогу, на который воздействовала функция. Часть пути может быть представлена и некоей файловой маской (например c:\*.tmp), что обычно означает, что происходит поиск (перебор) файлов, имена которых соответсвует некоторому шаблону.
  6. Result - результат, который возвратила функция. Результат вызова API-функции может содержать не только успешную информацию, но и, например, номер произошедшей ошибки. FileMon показывает этот номер в виде имени константы, соответствующей этой ошибке. Наиболее частые результаты в FileMon-e: SUCCESS, NOTFOUND, NOMORE, ACCDENIED и, я думаю, они говорят сами за себя.
  7. Other - информация о других используемых или возвращаемых функцией данных. Что именно покажет FileMon, сильно зависит от конкретной функции и от решения авторов программы о важности этой информации. Например, при открытии файла (Open) всегда сообщается о режиме в котором файл будет открыт (например наборчик CREATENEW REPLACEEXISTING WRITEONLY означает приблизительно следующее: "Открыть файл только для операций записи, если файла еще не существует, создать новый, если файл есть, то полностью переписать его содержимое"). Некоторые функции (например Delete) при выполнении ничего в поле Other не помещают (а че писать-то - померла так померла...).

------------------------------------------------------------------------------------------------------------------------------------------------------

Теперь Вы знаете, что нам показывает программа в отчете-таблице. Сейчас немного о командах меню и соответствующих им кнопочкам панели инструментов.

Панель инструментов

    File
  • Load - Можно открыть из файла ранее сохраненный отчет и просмотреть его.
  • Save - Вы можете сохранить содержимое окна в файл отчета (текст, разделенный табуляторами). Вы можете просматривать отчет, открыв его, например в Excell. На панели инструментов - кнопочка в виде дискетки.
  • Save As... - можете выбрать другое расположение и имя для файла отчета.
  • Path Properties... - показывает свойства выделенного файла или папки (если использована маска, то команда обламывается).
  • Process Properties... - можно посмотреть на некоторые свойства выделенного в таблице процесса (негусто там их).
  • Capture Events - включает/выключает режим перехвата обращений к файлам. На панели инструментов это кнопка-лупа.
  • Exit - дело сделано, уходим.
    Edit
  • Copy - скопировать в буфер только выделенные части таблицы (строки копируются целиком).
  • Delete - удалить из таблицы выделенные записи.
    Далее идут несколько команд для фильтрации, причем по вашему желанию измененные фильтры могут быть применены и к уже отмониторенным операциям.
  • Iclude Process - добавляет выделенный процесс в группу отслеживаемых.
  • Exlude Process - добавляет выделенный процесс в группу игнорируемых.
  • Include Path - добавляет путь из выделенной строки в список отслеживаемых.
  • Exlude Path - добавляет путь из выделенной строки в список игнорируемых.
  • Find... - поиск строки, содержащей указанный Вами текст (производится по всем столбцам). Если есть в списке выделенная строка, то поиск начнется c нее, если нет, то c начала списка. Кнопка в виде бинокля.
  • Explorer Jump... - быстрый переход в Проводнике к файлу или папке, соответствующими графе Path. Если путь не существует, то переход будет осуществлен по возможности как можно ближе к запрошенному месту. Удобно вызывать также двойным щелчком мыши или нажатием на кнопку в виде значка, стандартного для Проводника.
  • Clear Display - удаляет все записи из таблицы. Если записей уж очень много, лучше не использовать эту команду, а закрыть программу и открыть ее снова. Этим вы сэкономите уйму времени и иногда предотвратите зависание FileMon-a. Команде соответствует кнопочка, изображающая ластик, уже почти стерший полсписка (и тут он не слишком быстр).
    Options
  • Font... - выбор шрифта для окна.
  • Highlight Colors... - выбор двух цветов FG-цвета текста и BG-цвета фона для подсвечиваемых записей.
  • Filter/Highlight... - определение фильтров для отображения и подсветки (подробности позже). Значок - воронка, через которую что-то льется.
  • History Depth... - возможность ограничить максимальное число перехватываемых обращений к файлам (0 - без ограничений). Значок на панели инструментов - усеченный список.
  • Auto Scroll - включить/отключить автопрокрутку содержимого окна, так чтобы всегда можно было видеть последнюю запись. Значок - список со стрелочкой, направленной в конец списка.
  • Clock Time - если включено, то для перехваченного события фиксируется текущее время (по системным часам компьютера). Значок переключается от часов до секундомера соответственно выбранному режиму.
    •
  • Show Milliseconds - дополнительно в цифре времени показывать и миллисекунды (только для режима фиксации системного времени).
  • Always On Top - поместить окно программы поверх всех окон.
    Help
  • Help... - вызов очень краткой справки на английском языке.
  • About... - скромное напоминание о том, кто это все для нас соорудил. И спасибо им за это!

------------------------------------------------------------------------------------------------------------------------------------------------------

А теперь (я еще не надоел Вам?) коротко об некоторых функциях, которые можно увидеть в окне отчета:

GetDiskInfo

Название говорит само за себя: получение информации о логическом диске. В графе Other я все время вижу Free Space, что означает, по видимому, что процессу была нужна информация о доступном свободном пространстве на этом диске.

Attributes

Функция объединяет в себе все операции с атрибутами файла и его датами. Если в поле Other указано GetAttributes, то значит функция только вычитывала атрибуты, а вот если там SetAttributes, то значения атрибутов функцией изменялись. Если же Вы видите в поле Other одно из этих значений: Get Creation, Get Access или Get Modify, значит функция применялась для определения даты файла (соответственно даты создания, последнего доступа и модификации). Наличие одного из этих значений Set Creation, Set Access или Set Modify в Other однозначно говорит о том, что функция изменяла одну из этих дат. Не буду повторять их, но зато для новичков в ентом деле сообщу (уж придется поверить мне на слово), что любые измения атрибутов и дат файла никак не затрагивают его самого, а вся эта информация записывается не в файл, а в специально отведенные места на диске. Именно к этим местам и обращается впоследствии операционная система для получения нужной ей информации о файловых атрибутах и датах (в принципе даже возможна и такая ситуация: файла уже нет в помине, а получить информацию о нем не составляет труда).

Directory

Группа операций над директориями. Смотрим в последнее поле и если CREATE, значит речь идет о создании нового каталога, если DELETE, то об удалении существующего, если CHECK или QUERY, то... спросите у кого-нибудь другого.

Open

Открывает файл для дальнейших операций над ним.

Seek

Функция задает текущую позицию в файле для операций чтения и записи. В поле Other сначала указывается запрашиваемая позиция (если Beginning, то от начала файла, End - от конца), а через дробь новая позиция (всегда относительно начала файла) уже после выполнения функции. Для тех, кто не знаком с азами программирования: все позиции отсчитываются от нуля.

Read

Понятно, что эта функция читает некоторый непрерывный блок данных из файла. В последней графе при этом видно с какой позиции началось чтение (Offset) и какова длина блока прочитанных данных (Length).

Write

Аналогично предыдущей функции, но только уже для записи данных в файл.

Close

Функция закрывает ранее открытый файл. Если после этой команды файл все еще остается открытым для какого-нибудь другого процесса, то в графе Other будет информация CLOSE_FOR_PROCESS, в противном случае там будет CLOSE_FINAL.

Rename

Неужели и это требует пояснений? Новое имя для файла можно будет увидеть в графе Other. Обратите внимание, что файл при этом может быть так же перемещен в другой каталог.

Delete

Провожает файл в последний путь (сорри, удаляет)

.
FindOpen

Эта функция начинает поиск файлов/каталогов с заданной маской имени в определенной папке. После успешного выполнения этой функции в поле Other помещается имя первого файла/каталога, соответствующего маске.

FindNext

Используется для продолжения поиска, начатого предыдущей функцией. Если больше файлов не найдено, результат вызова будет NOMORE. Кстати, надо сказать, что описанные функции поиска позволяют выяснить о найденном файле не только какое у него имя, но и множество иной информации. Например, можно узнать даты создания, модификации и последнего доступа для этого файла, а также его размер и атрибуты. К сожалению вся эта информация не видна пользователю FileMon.

FindClose

Как Вы уже догадались, эта функция завершает ранее начатый цикл поиска файлов/папок.

Ioctl

Э-э-э...м-м-м... Кто бы мне это самому толком обяснил: "выполняет заданную операцию с устройством". Other содержит что-то вроде Subfunction: 08h (похоже, конкретный номер операции).

------------------------------------------------------------------------------------------------------------------------------------------------------

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

Первый элемент фильтра это Include, то есть фильтр того, что мы хотели бы включить в отчет. Важно знать, что фильтрация происходит не по отдельным колонкам, а по строкам таблицы отчета целиком за исключением только номера записи и времени перехвата. Например, внесение в это поле названия функции приведет к перехвату именно этой функции, а ввод имени процесса позволит следить именно только за этим процессом. Допустимо использование символа подстановки * для определения произвольного фрагмента строки (например, фильтр ms*.dll дает возможность следить за любыми упоминаниями DLL файлов с имена, начинающмимся с букв ms /обычно это продукция компании MicroSoft/). Можно вводить любое количество фильтров, разделяя их между собой точками с запятой. Регистр при фильтрации не учитывается.

Второй элемент фильтра это Exclude:, то есть фильтр того, что мы не хотели бы видеть в отчете. Таким способом можно исключить из отчета какие-нибудь программы, очень уж активные в обращениях к файлам и этим сильно захламляющие наш отчет, или отключить некую папку из мониторинга, если нам не неинтересна активность внутри ее и тд. Синтаксис аналогичен фильтру Include.

Третий элемент, Highlight, это вообщем-то и не фильтр вовсе. Он не влияет на то, будет или нет отображаться вызов некоторой функции, а влияет лишь на то, будет ли он подсвечен (не забыли выбрать цвета подсветки?). Подсветка позволяет среди большого количества строк найти то, что Вас сейчас интересует. Синтаксис аналогичен фильтру Include. Этот фильтр можно менять на лету и изменения будут применены для уже отображенных ранее записей.

Удобно, что программа запоминает историю ввода фильтров, и Вы позже сможете вновь воспользоваться ими. Кстати, при перезапуске программа восстанавливает последний набор фильтров. Имейте это ввиду!

Кроме строковых фильтров в диалоге есть несколько переключателей, которые могут производить фильтрацию по несколько другим критериям. Так например можно отслеживать только открытие файлов - надо включить только Log Opens.

Можно отключить фиксацию операций чтения (выключить Log Reads) и следить только за тем, что в него записывается (включить Log Writes). Пусть вас не смущает, если одни и те же строки будут попадать в отчет при абсолютно разных позициях переключателей. Например, и для того, чтобы прочесть что-нибудь из файла и для того, чтобы в него записать что-нибудь, все равно ведь надо файл этот открыть, ну а после и закрыть. Вот и получаются такие накладочки, но фильтры эти тем не менее очень нужные. Можно применить новый фильтр даже не закрывая диалоговое окно, просто нажав на кнопку Apply. А чтобы сбросить все фильтры в значение по умолчанию, предусмотрена кнопка Defaults в диалоговом окне фильтра.

------------------------------------------------------------------------------------------------------------------------------------------------------

Если Вы все усвоили, можно приступать к исследованиям. Напоследок одно из возможных применений FileMon-a: настроив фильтры на слежку за какой-либо конкретной программой, не желающей запускаться и выбрасывающей что-то вроде "File not found!/Файл не найден!", можно, обратив внимание на то, что именно она пытается открыть и при этом не находит, определить недостающие или неверно расположенные файлы. Ну и, конечно, не забудьте, попробовать применить FileMon в более полезных исследованиях...

Copyright © 2002-2005 SNC


Sysinternals Suite

Help and FAQ
 Содержание
  • Sysinternals Suite
  • Windows Sysinternals Suite
  • AutoRuns
  • Process Explorer
  • Process Monitor
  • FileMon
  • Справка по FileMon
  • RegMon
  • Справка по RegMon
  • TCPView
  • PageDefrag
  • RootkitRevealer


PageDefrag

PageDefrag 2.32

Утилита для дефрагментации системного реестра. Кроме этого, программа умеет дефрагментировать системные файлы - например pagefile.sys и hiberfil.sys, которые на отрез отказывается оптимизировать стандартный дефрагментатор. Программа очень проста и удобна, работает без инсталляции, а также есть поддержка командной строки. Собственно говоря, эта утилита предназначена только для этого и делает она это хорошо.

Обзор утилиты PageDefrag

В продолжение цикла статей о свободно распространяемых на Sysinternals.com утилитах вашему вниманию предлагается обзор утилиты PageDefrag, которая оптимизирует файлы реестра, файл подкачки, лог–файлы работы системы и файл в котором сохраняется содержимое оперативной памяти при использовании спящего режима (hibernate.sys).

Утилита не требует установки. Достаточно распаковать архив и запустить pagedfrg.exe. Пример главного окна утилиты представлен ниже.

Стандартный дефрагментатор Windows не дефрагментирует файлы, которые открыты системой. Эти файлы наиболее активно используются системой и их большая фрагментация может снижать общее быстродействие. Учитывая, что файл подкачки обычно большого размера, его фрагментация может быть очень существенной. Дефрагментировав файл подкачки, файлы реестра и журналов работы системы можно повысить скорость обращения к ним и получить прирост производительности. Это особенно актуально для компьютеров со старыми винчестерами или малым объемом оперативной памяти. Дефрагментация файла hibernate.sys, в котором система сохраняет содержимое оперативной памяти при переходе в спящий режим, позволит сократить время переключения в этот режим и обратно.

Утилита Sysinternals System Defragmenter очень проста в использовании. После ее запуска на экран будет выведено главное окно программы. В поле File будет перечислены все файлы, которые может дефрагментировать утилита и указано количество фрагментов этих файлов. Чтобы выполнить дефрагментацию нужно установить переключатель в группе Defragmentation Control в положение Defragment at next boot (дефрагментировать при следующей загрузке) или Defragment every boot (дефрагментировать при каждой загрузке) и указать в поле Defragment abort countdown количество секунд, в течение которых при загрузке системы дефрагментация может быть отменена. После выбора одного из этих типов дефрагментации нужно перезагрузить компьютер. Во время загрузки будет запущен процесс дефрагментации.

Чтобы отключить дефрагментацию при каждой загрузке нужно выбрать пункт Don`t defragment (не дефрагментировать).

Следует помнить, что для эффективной дефрагментации системных файлов, на диске, где они находятся, должно быть свободно не менее 15% места. Перед запуском дефрагментации системных файлов необходимо дефрагментировать системный диск при помощи стандартного дефрагментатора (Пуск – Выполнить – dfrg.msc).


Process Explorer

Process Explorer 15.12

Process Explorer - компактная и мощная программа с удобным интерфейсом для мониторинга в режиме реального времени работающих в системе процессов с функциями отладчика. Выдает подробнейшую информацию обо всех запущенных процессах, включая владельца, использование памяти, задействованные библиотеки и т.д. Среди его возможностей просмотр стека процесса, текстовых строк в образе, управление параметрами безопасности (ACL), просмотр переменных среды, драйверов, хэндлов и загружаемых процессом библиотек, сетевых соединений установленных процессом, управление приоритетом, графический контроль производительности процесса и многое другое, включая полное управление сеансами пользователей в системе. Имеет мощную систему поиска, позволяющую искать процессы, открывающие специфический дескриптор или загружающую определенную DLL. Это делает Process Explorer мощным инструментом для понимания внутреннего поведения приложений, также прослеживающего утечки информации маркера и DLL, несоответствий версий и даже косвенное определение вирусов. Кроме этого, Process Explorer допускает изменение приоритетов процессов, их приостановку (пауза исполнения, "замораживание") и удаление ("убийство") включая дерево запущенных им дочерних процессов. Возможен поиск описания по имени модуля в Google и MSN. Не требует установки.

Работает без инсталляции. Полная поддержка процессорных архитектур x86, x64-86 (включая AMD64 и EM64T), IA64 (Itanium, Itanium 2), 32/64-bit Windows ХР и выше, встроенная интеграция с системным отладчиком, декодирование функций используя механизм Microsoft Symbols (небходима установка).

Новая версия программы больше не поддерживает старые системы Windows 95/98/ME/NT4/2000. Для них Вам потребуется версия 11.33 или более ранняя.

Обзор утилиты Process Explorer

Этот обзор - продолжение цикла статей о свободно распространяемых на Sysinternals.com утилитах. В этом обзоре будет рассмотрен интерфейс и основные возможности утилиты Process Explorer, которая окажет неоценимую помощь в просмотре и управлении процессами.

Утилита не требует установки. Достаточно распаковать архив и запустить файл procexp.exe. Откроется главное окно утилиты, которое показано на рисунке ниже.

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

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

Для любого процесса при помощи щелчка правой кнопки мыши по имени процесса можно изменить его приоритет, завершить его выполнение или завершить выполнение процесса и его дерева. Полезная особенность Process Explorer заключается в том, что работу любого процесса можно приостановить (suspend), а потом возобновить (resume). Приостановка работы процесса может временно освободить занятые им ресурсы (процессор, сеть, жёсткий диск) для использования другими приложениями. Приостановив выполнение процесса можно определить, например, какой процесс открывает окна или проявляет повышенную сетевую активность. Это бывает необходимо сделать при подозрении на заражение компьютера вирусом или для пресечения работы рекламного программного обеспечения, которое устанавливается на компьютер без ведома пользователя.

Process Explorer предоставляет в распоряжение пользователя удобный инструмент, с помощью которого очень просто определить то, каким процессом открыто определённое окно. Для этого следует перетащить с панели инструментов Process Explorer кнопку [image] в любое место открывшегося окна. После этого в верхней части главного окна Process Explorer будет подсвечено имя искомого процесса.

При помощи пункта меню Options - Replace Task Manager можно заменить стандартный Диспетчер задач Windows на Process Explorer. После такой замены по нажатию комбинации клавиш Ctrl+Shift+Esc будет открываться Process Explorer. Информация о системе, вызываемая из Process Explorer при помощи Ctrl+I, более полная, чем аналогичная вкладка Диспетчера задач Windows. Её пример показан на рисунке ниже.

Process Explorer может вывести скрытое окно приложения на экран. Некоторые программы не восстанавливают свой значок в трее, и если оболочка по каким-то причинам перезагружается, то после этого доступ к интерфейсу свёрнутой в трей программы получить будет невозможно. Придется завершать её через Диспетчер задач и запускать заново с потерей всех несохранённых данных. Воспользовавшись пунктом контекстного меню Bring to Front можно получить доступ к такому окну и сохранить данные.

Помимо прочего, при помощи Process Explorer можно выгрузить в текстовый файл список всех процессов с описаниями и объёмом занятой каждым из них памяти, запустить любое приложение, выключить, перезагрузить или заблокировать компьютер, найти используемые библиотеки и хэндлы, включить подсветку цветом определённых процессов и так далее. Всё это помогает контролировать работающие процессы и получать исчерпывающую информацию об использовании системных ресурсов.


Process Monitor

Process Monitor 2.96

Программа для мониторинга файловой системы, реестра и процессов в оперативной памяти в реальном времени. Эта утилита объединяет в себе возможности программ FileMon (мониторинг файловой системы), RegMon (мониторинг реестра) и Process Explorer (мониторинг процессов). Process Monitor конролирует и следит за всей работой операционной системы и отображает всё происходящие процессы, работающие библиотеки, различные драйвера устройств, а также все изменения, происходящие с файлами и выводит сообщение об их удалении или открытии. Включает в себя инструмент для мониторинга системного реестра и показывает какие программы обращаются к нему, какие ключи читают и пытаются в них что-либо записать. Ко всему прочему, утилита может предоставить детальную информацию о каждом процессе, какой пользователь её запустил или полный путь к каталогу.
Process Monitor поддерживает расширенную и безвредную фильтрацию, всеобъемлющие свойства событий, такие как ID сессий и имена пользователей, достоверную информацию о процессах, полноценный стек потока со встроенной поддержкой всех операций, одновременную запись информации в файл и многие другие возможности. В утилите доступен просмотр всех загруженных библиотек и внутренних kernel-драйверов различных устройств, вывод детальной информации о каждом процессе (полный путь к файлу, ID сессии, имя пользователя). Каждая колонка с данными, отображаемыми в программе, может перемещаться и удаляться, присутствует возможность устанавливать на каждый тип данных фильтр. Мощная система ведения логов позволяет обрабатывать десятки миллионов различных параметров процессов, происходящих в системе, а весь журнал событий сохранить в файл до 1 гигабайта. Эти уникальные возможности делают программу Process Monitor ключевым инструментом для устранения неполадок и избавления от вредоносных программ.

Пользовательский интерфейс программы Process Monitor и параметры схожи с интерфейсом и параметрами программ FileMon и RegMon, но в программе Process Monitor есть ряд существенных улучшений, таких как:
- отслеживание запуска и завершения работы процессов и потоков, включая информацию о коде завершения;
- отслеживание загрузки образов (библиотек DLL и драйверов устройств, работающих в режиме ядра);
- больше собираемых данных об параметрах операций ввода и вывода;
- безвредные фильтры позволяют устанавливать фильтры, которые не будут приводить к потере данных;
- сбор стеков потоков для каждой операции позволяет в большинстве случаев определить исходную причину выполнения операции;
- достоверный сбор информации о процессах, включая путь к образу процесса, командную строку, а также ID пользователя и сессии;
- настраиваемые и перемещаемые колонки для каждого свойства события;
- фильтры можно установить на любое поле с данными, включая поля, которые не являются колонками;
- усовершенствованная архитектура записи журналов расширяет возможности программы до десятков миллионов зарегистрированных событий и гигабайтов записанных данных о событиях;
- дерево процессов отображает отношения между всеми процессами, перечисленными в сведениях трассировки;
- основной формат журнала сохраняет все данные, чтобы их можно было загрузить в другом экземпляре программы Process Monitor;
- подсказки к процессам для простого просмотра информации об образе процесса;
- детальные подсказки позволяют получить удобный доступ к форматированным данным, которые не помещаются в колонке;
- прекращаемый поиск;
- запись в журнал всех операций во время загрузки системы.


RegMon

RegMon 7.03

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

Обзор Монитора реестра RegMon

Свободно распространяемая на www.sysinternals.com утилита Registry Monitor предоставляет возможность собрать информацию об обращениях к реестру Windows. Утилита RegMon записывает в log-файл абсолютно все обращения к реестру, включая обращения самой системы и всего программного обеспечения, которое работает на момент сбора данных. Программа имеет настраиваемый фильтр, при помощи которого можно собрать информацию об обращениях к реестру только одной или нескольких программ, либо исключить из наблюдения определенные программы.

Интерфейс утилиты RegMon достаточно прост и будет подробно рассмотрен в этой статье. Будут даны рекомендации по способам фильтрации собранной информации, по решению конкретных вопросов, связанных с определением конкретных разделов реестра, к которым обращается программа.

Внешний вид Registry Monitor показан на рисунке ниже.

  • File:
    • Open — открывает ранее собранный и сохраненный лог-файл для анализа в Registry Monitor-е. Будьте внимательны, открывая лог, текущие собранные данные будут потеряны, поэтому, если они нужны, то сохраните предварительно собранные данные в файл.
    • Save — сохраняет собранные данные в файл.
    • Save as... — сохраняет собранные данные в файл.
    • Process Properties... — свойства процесса. Если в окне, где отображены собранные данные, выделить любую строку, то данный пункт меню станет доступен и при его выборе откроется окно с информацией о том процессе, обращение которого к реестру выделено. Пример окна с информацией о процессе показан ниже.

    • Capture Events — переключатель, который включает или приостанавливает сбор сведений об обращениях к реестру.
    • Exit — выход.
  • Edit:
    • Copy — копирует в буфер обмена выделенную строку.
    • Delete — удаляет выбранную строку.
    • Include Process — быстрая настройка фильтра. После применения этого пункта меню будут отслеживаться обращения к реестру только указанного процесса. Чтобы отменить эту настройку исправьте фильтр (о чем будет рассказано ниже).
    • Exclude Process — исключить процесс. Обращения данного процесса более не будут попадать в собранные данные и он, таким образом, будет исключен из мониторинга.
    • Include Patch — будут собираться данные только при обращении к выделенному в момент применения команды меню разделу реестра и его подразделам. Для отмены отслеживания только определенного раздела реестра исправьте фильтр, о чем более подробно будет рассказано далее.
    • Find... — поиск строки в собранных данных в окне Registry Monitor.
    • Regedit Jump... — если выделить в окне Registry Monitor строку и выбрать этот пункт меню, то будет запущен редактор реестра RegEdit и в нем будет автоматически развернуто дерево разделов того раздела, имя которого находится в выделенной строке Registry Monitor-а. Двойной клик мышью по любой строке собранных данных в RegMon выполняет такое же действие, т.е. открывает RegEdit сразу на том ключе, к которому было зафиксировано обращение процесса.
    • Clear Display — очищает экран от собранных данных. Будьте осторожны, если данные представляют интерес, то не забудьте предварительно сохранить их в файл.
  • Options:
    • Font... — открывает диалоговое окно выбора шрифта, которым будет отображаться собранная информация в окне Registry Monitor.
    • Highlight Colors... — открывает диалоговое окно выбора цвета для строк и текста, которые необходимо подсвечивать в собранных данных. Более подробно о подсветке строк смотрите ниже, в настройках фильтра.
    • Filter/Highlight... — открывает окно настройки фильтра и подсветки строк. Пример этого окна показан ниже.

      В данном примере собирается информация об обращениях к реестру всех процессов, за исключением IEXPLORE.EXE и Explorer.EXE, причем, все обращения к реестру процесса csrss.exe подсвечиваются в окне другим цветом. Галки внизу окна позволяют собирать только определенные события, как то:

      • Log Opens — включает или отключает сбор информации о процессах, которые открывают ключи реестра.

      • Log Reads — включает или отключает сбор информации о процессах, которые читают ключи реестра.
      • Log Writes — включает или отключает сбор информации о процессах, которые пишут в ключи реестра.
      • Log Successes — включает или отключает сбор информации о процессах, любое обращение которых к реестру было удачно (т.е., к примеру, процесс смог успешно считать или записать значение).
      • Log Errors — включает или отключает сбор информации о процессах, любое обращение которых к реестру закончилось ошибкой (например, процесс не нашел определенный ключ реестра).

      В этом же окне кнопка Defaults сбрасывает все сделанные настройки фильтра в значениях, при которых будут собираться все данные.

    • History Depth... — позволяет настроить количество строк, которые будут запоминаться Registry Monitor-ом. Именно такое количество строк затем будет сохранено в лог-файле работы RegMon-а. Для хранения всех строк используется значение 0.
    • Always On Top — включение этого параметра позволит всегда видеть окно RegMon-а выше всех окон, что весьма удобно при сборе данных от нескольких приложений, между которыми необходимо переключаться.
    • Auto Scroll — этот параметр позволяет включить прокрутку окна с собранными данными. Последнее обращение к реестру всегда будет видно на экране.
    • Clock Time — если этот параметр выключен, то в лог будет записано время обращения процесса к реестру, относительно времени запуска Registry Monitor. Если включен, то будет записано системное время.
    • Show Milliseconds — если предыдущий параметр включен, т.е. в лог записывается системное время, то имеет смысл включить и этот параметр. В этом случае, к системному времени будут записываться и миллисекунды, что повысит точность определения времени обращения процесса к реестру.
    • Log Boot — выбор этого параметра включает мониторинг обращения к реестру во время загрузки системы. Т.е. после его выбора надо перезагрузиться и Registry Monitor запишет в лог-файл с именем REGMON.LOG, находящийся в папке, где установлена Windows, все обращения к реестру на протяжении загрузки системы. Такой лог-файл будет иметь размер в несколько десятков мегабайт. Запись обращений к реестру будет продолжаться до тех пор, пока не будет запущен RegMon или до следующей перезагрузки системы.

RegMon может быть применен для решения практически любых задач, когда есть интерес узнать, куда, к каким ключам реестра программа обращается в ходе своей работы. Иногда требуется выяснить, где хранятся настройки программы, какие ключи используются в ходе ее работы. Это бывает полезно для решения проблем при настройке безопасности, при настройке экспорта ключей реестра для создания резервных копий настройки программного обеспечения, для внесения изменений в настройки программы, которые не документированы производителем, и доступ к которым есть только через реестр и т.д.

Для примера я решил выяснить, где Outlook Express хранит правила для сортировки сообщений. Это позволит настроить автоматический экспорт нужной ветки реестра и всегда иметь архивную копию правил сортировки. Наличие такой копии позволит восстановить правила сортировки за пару минут, что при большом количестве правил сэкономит очень много времени.

Итак, запустим RegMon. Настраивать пока фильтр не будем. Включим опцию Always On Top, чтобы окно RegMon не «убегало» на задний план. При запущенном RegMon-е откроем Outlook Express. Сразу после окончания его загрузки нажмем кнопку Capture или выберем пункт меню File — Capture Events, чтобы остановить сбор данных. Пример окна Registry Monitor после запуска Outlook Express с остановленным процессом сбора информации показан ниже.

В данном случае интересны обращения к реестру только процесса msimn.exe, поэтому щелкнем на нем правой кнопкой и выберем Include Process, либо выберем в меню Edit — Include Process. На запрос о том, хотим ли мы применить этот фильтр к уже собранным данным можно ответить и положительно и отрицательно, это не имеет значения. Теперь нужно очистить окно Registry Monitor. Для этого выберите Edit — Clear Display. Последний штрих в подготовке сбора данных — донастройка фильтра. Для этого выберем Options — Filter/Highlight. В настройке фильтра, внизу, снимем все галки за исключением Log Writes и Log Successes, настроив, таким образом, отсеивание всех обращений к реестру за исключением успешной записи в реестр значений процессом msimn.exe. Пример настройки фильтра показан ниже.

После того, как фильтр настроен, нужно создать в Outlook Express правило для почты. Чтобы создать правило в Outlook Express, выберите Сервис — Правила для сообщений — Почта. В открывшемся окне создайте правило. Пример уже созданного правила показан на следующем рисунке.

После того, как правило настроено, нажмите OK в этом окне. Вы вернетесь в окно, показанное ниже.

Теперь проверьте, что в Registry Monitor включен сбор данных и окно очищено от собранных ранее данных. После нажатия в окне, показанном на рисунке 4, кнопки OK Outlook Express запишет в реестр созданное правило. Нажмите OK. Registry Monitor соберет данные об успешной записи в реестр процессом msimn.exe информации. Окно RegMon-а с собранной информацией показано на следующем рисунке.

Таким образом, мы получили информацию о разделе, в котором Outlook Express хранит настройки правил. Сохранение одного правила потребовало записи 23 значений. Теперь нужно найти самый верхний раздел реестра из тех, имена которых сейчас находятся в столбце Patch Registry Monitor. Подведите курсор по очереди к каждому значению в столбце Patch и во всплывающей подсказке будет выведен путь к разделу реестра. Найдите самую короткую запись. В данном случае это HKEY_CURRENT_USER\Identities\{D7691494-4CF1-4D7F-9A0F-A700B85345C2}\Software\Microsoft\Outlook Express\5.0\Rules\Mail\000. Щелкните в окне Registry Monitor по записи с самым коротким путем два раза левой кнопкой мыши. Откроется редактор реестра, в котором автоматически будет развернуто дерево разделов до раздела, по которому был выполнен двойной щелчок. Окно реестра показано на следующем рисунке.

Таким образом, мы выяснили где Outlook Express хранит настройки правил. Теперь при написании скрипта для ежедневного бэкапа можно будет включить в него строку, которая выполнит экспорт правил Outlook Express в reg-файл, который затем будет помещен в резервную копию на сервер или на другой носитель.

Рассмотренный пример не самый сложный, он призван показать методику работы с Registry Monitor, поняв которую найти все ключи программы в реестре становится не такой уж и сложной задачей.


Справка по RegMon

Краткая cправка по RegMon-у

Несмотря на некоторую внешнюю простоту программ-мониторов FileMon и RegMon, их возможности просто незаменимы в случаях, когда нужно отследить за действиями некоей программы. Смущает и даже отпугивает то, что они поставляются фактически без справки и какого-либо детального описания методик настройки, да и просто интерпретации отображаемых результатов. Возможно виной тому уверенность авторов в предназначении их детищ лишь программистам для отладки и поиска багов в их приложениях.

Желая немного заполнить этот вакуум и уменьшить собственные проблемы по постоянному растолковыванию на ходу, что да как нужно делать, пишу вот эту заметку.

Начну с описания RegMon-а, как наиболее популярного и востребованного инструмента. Написанное будет соответствовать версии 7.0 программы (недавно авторы объявили, что эта версия станет последней, а далее последует выпуск нового продукта Process Monitor, объединяющего в себе функции RegMon и FileMon). Обращаю Ваше внимание на тот весьма странный факт, что описание функциональности программы сделано мною применительно к уже уходящей в прошлое операционной системе Windows 98. Я расссчитываю, что Вы самостоятельно разберетесь в расширенных возможностях работы программы (а они действительно существенны) в системах на базе NT.

Ни в коем случае не устанавливайте программу в папку, в полном имени которой содержатся нелатинские символы! Будут проблемы...

Будем считать, что Вам уже известно (в общих чертах) назначение Реестра Windows (сохранение операционной системой и приложениями необходимой информации о настройках и т.п.) и то, что он имеет древовидную иерархическую структуру (при просмотре в редакторе Реестра Regedit-e очень напоминающую файловую структуру дисков), и даже то, что для использования Реестра все программы должны использовать определенный набор функций, реализуемый принадлежащей операционной системе библиотекой ADVAPI32.dll). Остается только добавить, что именно вызов этих функций и перехватывается RegMon-ом и в наглядном и доступном виде отображается в окне программы.

    Итак, в окне для каждого перехваченного обращения к Реестру в табличных столбцах последовательно показаны:
  1. # - номер текущей записи (для порядку и чтобы ориентироваться в этой куче...информации). Пропуски номеров означают, что из-за переполнения буфера RegMon не справляется с потоком. Выход - фильтровать сообщения.
  2. Time - время перехвата (можно выбрать или текущее время или время в секундах (восемь разрядов после запятой) отсчитываемое от запуска программы или последней очистки окна).
  3. Process - иконка программы, имя и 32-битный идетификатор того процесса, из которого происходит вызов функции обращения к Реестру. Для случая, когда мы следим за каким-то EXE-файлом, обычно имя его процесса будет отображаться не более чем 8-ю первыми буквами имени этого файла. В любом случае, что бы не забивать отчет ненужными Вам сведениями, следует отфильтровать все процессы, кроме исследуемого. Об этом несколько подробнее будет дальше.
  4. Request - фактически это имя функции, которую запросил текущий процесс для проведения некоторых действий с Реестром.
  5. Path - путь к ключу или значению, на который воздействовала функция. Путь принято отсчитывать не от корневого ключа Реестра, а от того ключа, который был предварительно открыт для некоторой операции до этого момента. Тогда путь этот будет выглядеть так: "0xC29A9FD0\{21B22460-3AEA-1069-A2DC-002B30309D}\InProcServer32". 0xC29A9FD0 - это так называемый hKey, манипулятор ключа Реестра - некое 32-битное число. Не хочется лезть в дебри, но поверьте мне на слово: Windows очень любит все нумеровать и когда некая функция создает ключ Реестра или открывает уже существующий, ему немедленно присваивается некий уникальный на данный момент номер, и дальнейшее обращение к ключу и его подключам и значениям идет только с использованием этого номера. Этот номер останется действительным до момента закрытия ключа с помощью функции CloseKey. Ключи вида HKCR\CLSID\{21B22460-3AEA-1069-A2DC-08002B30309D} выглядит как исключение из описанного выше правила, но на самом деле это просто упрощение авторов RegMon-a. Дело в том что корневые ключи являются постоянно открытыми после запуска Windows и их hKey-и имеют уже предопределенные значения, поэтому авторы решили для краткости заменить их аббревиатурными названиями этих ключей. Ух...запарился я писать. Тем не менее дальше:
  6. Result - результат, который возвратила функция. Функции API устроены таким образом, что после завершения работы передают в вызывавшую их программу результат своей работы. Можно рассматривать функции API, как подобие армейских команд, типа "Рядовой Иванов, к разборке автомата приступить!", тогда в этой аналогии результатом можно считать бодрый ответ солдата: "Рядовой Иванов задание выполнил!" (хотя возможны и варианты, вроде: "Товарищ прапорщик, дык вы ж вчерась последний автомат продали..." и т.п.). Аналогично результат вызова API-функции может содержать не только успешную информацию, но и, например, номер произошедшей ошибки. RegMon показывает этот номер в виде имени константы, соответствующей этой ошибке. Наиболее частые результаты в RegMon-e: SUCCESS, NOTFOUND, NOMORE и, я думаю, они достаточно понятны.
  7. Other - информация о других используемых или возвращаемых функцией данных. Продолжая армейскую аналогию, это может соответствовать уточнению "Разборка проведена за 40 секунд" или "Товарищ прапорщик, жуть какая-то: в стволе застряла серебряная пуля!". Что именно покажет RegMon сильно зависит от конкретной функции и от решения авторов программы о важности этой информации. Например, CreateKey при успешном завершении всегда сообщает о том hKey, который присвоен созданному/открытому ключу, а функция CloseKey вообще не содержит дополнительной информации.

------------------------------------------------------------------------------------------------------------------------------------------------------

Ну вот, теперь Вы уже знаете, что нам показывает программа в отчете-таблице. Сейчас немного о командах меню и соответствующих им кнопочкам панели инструментов.

Панель инструментов

    File
  • Open - Можно открыть из файла и поисследовать ранее сохраненный отчет.
  • Save - Вы можете сохранить содержимое окна в файл отчета (текст, разделенный табуляторами). Вы можете просматривать отчет, открыв его, например в Excell. На панели инструментов - кнопочка в виде дискетки.
  • Save As... - можете выбрать другое расположение и имя для файла отчета.
  • Process Properties... - можно посмотреть на некоторые свойства выделенного в таблице процесса (негусто там их).
  • Capture Events - включает/выключает режим перехвата обращений к Реестру. На панели инструментов это кнопка-лупа.
  • Exit - дело сделано, уходим.
    Edit
  • Copy - скопировать в буфер только выделенные части таблицы (строки копируются целиком).
  • Delete - удалить из таблицы выделенные записи.
    Далее идут несколько команд для фильтрации, причем по вашему желанию измененные фильтры могут быть применены и к уже отмониторенным операциям.
  • Iclude Process - добавляет выделенный процесс в группу отслеживаемых.
  • Exlude Process - добавляет выделенный процесс в группу игнорируемых.
  • Include Path - добавляет путь из выделенной строки в список отслеживаемых.
  • Exlude Path - добавляет путь из выделенной строки в список игнорируемых.
  • Find... - поиск строки, содержащей указанный Вами текст (производится по всем столбцам). Если есть в списке выделенная строка, то поиск начнется c нее, если нет, то c начала списка. Кнопка - в виде бинокля.
  • Regedit Jump... - быстрый переход в Regedit к ключу или значению, соответствующему графе Path (кстати, срабатывает не всегда). Если ключ или значение не существует, то переход будет осуществлен по возможности максимально близко к запрошенному месту. Удобно вызывать также двойным щелчком мыши или нажатием на кнопку в виде зеленого доломанного кубика, надо полагать символа стабильности системы.
  • Clear Display - удаляет все записи из таблицы. Если записей уже очень много рекомендую не использовать эту команду, а закрыть программу и открыть ее снова. Этим вы сэкономите уйму времени и иногда предотвратите зависание RegMon-a. Команде соответствует кнопочка, изображающая ластик, уже почти стерший полсписка (и тут он не слишком быстр).
    Options
  • Font... - выбор шрифта для окна.
  • Highlight Colors... - выбор двух цветов FG-цвета текста и BG-цвета фона для подсвечиваемых записей.
  • Filter/Highlight... - определение фильтров для отображения и подсветки (подробности позже). Значок - воронка, через которую что-то льется.
  • History Depth... - возможность ограничить максимальное число перехватываемых обращений к Реестру (0 - без ограничений). Значок - усеченный список.
  • Always On Top - окно программы поместить поверх всех окон.
  • Auto Scroll - включить/отключить автопрокрутку содержимого окна, так чтобы всегда можно было видеть последнюю запись. Значок - список со стрелочкой, направленной в конец списка.
  • Clock Time - если включено, то для перехваченного события фиксируется текущее время (по системным часам компьютера). Значок переключается от часов до секундомера соответственно выбранному режиму.
  • Show Milliseconds - дополнительно в цифре времени показывать и миллисекунды (только для режима фиксации системного времени).
  • Log Boot - эта команда присутствует в меню только при работе на Windows NT/2K/XP. Если Вы отметите этот пункт меню,то при следующей загрузке операционной системы вся активность по отношению к Реестру будет автоматически отслеживаться и записываться в файл REGMON.LOG в корневой директории системного диска. При этом в отчет попадут даже самые ранние обращения к Реестру всех системных драйверов и сервисов. Учитывая, что записывается практически все и вся, неплохо бы убедиться, что на диске достаточно места для размещения лог-файла очень большого размера (несколько десятков мегабайт!) Остановить запись в лог-файл можно только запустив его нормально, с графическим интерфейсом, при этом описываемый пункт меню уже не будет отмечен. Запись в лог прекращается также при выгрузке операционной системы.
    Help
  • Help... - вызов очень краткой справки на английском языке.
  • About... - скромное напоминание о том, кто это все для нас соорудил. И спасибо им за это!

------------------------------------------------------------------------------------------------------------------------------------------------------

А теперь (я еще не надоел Вам?) коротко об основных функциях, которые можно увидеть в окне отчета:

CreateKey

Создает ключ для дальнейших действий с ним. Если ключ уже существует, то только открывает его.

DeleteKey

Удаляет указанный ключ со всем его содержимым из Реестра. На компьютерах с основанными на NT операционными системами, удаление ключа, содержащего подключи невозможно, поэтому можно наблюдать каскадное удаление, начинающееся с подключей самого низшего уровня.

DeleteValue

Удаляет указанное значение из Реестра.

EnumKey

Перечисляет подключи указанного открытого ключа Реестра (по одному за каждый вызов). Other содержит имя очередного подключа.

EnumValue

Перечисляет значения указанного открытого ключа Реестра (по одному за каждый вызов). Заканчиваются все перечисления обычно при получении результата NOMORE.

OpenKey

Открывает ключ для дальнейших действий с ним.

QueryValue

Возвращает значение по умолчанию (Default) данного ключа (тип - только строка). Other содержит прочитанную строку.

QueryValueEx

Возвращает данные и тип указанного значения ключа. Other содержит прочитанные данные.

QueryMultVal

Возвращает данные и тип для одного или более значений ключа (используется очень редко).

SetValue

Устанавливает значение по умолчанию (и только строковое!) для указанного ключа.

SetValueEx

Сохраняет некоторые данные (тип - любой допустимый) в указанном значении ключа. Other содержит записываемые данные.

QueryKey

Получает информации о ключе Реестра: кол-во подключей, кол-во значений в ключе и др. Хоть REGMON и выдает дополнительную информацию об этой функции в колонку Other, но по неизвестным мне причинам всегда указывает некоторое бессмысленное количество ключей и подключей.

CloseKey

Закрывает ранее открытый ключ Реестра и записывает его данные в Реестр.

FlushKey

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

------------------------------------------------------------------------------------------------------------------------------------------------------

Вряд ли Вам захочется видеть сразу всё, что имеет хоть какое-нибудь отношение к Реестру. И здесь очень пригодится фильтр монитора. Откроем его диалоговое окно.

Первый элемент фильтра это Include, то есть фильтр того, что мы хотели бы включить в отчет. Важно знать, что фильтрация происходит не по отдельным колонкам, а по строкам таблицы отчета целиком за исключением только номера записи и времени перехвата. Например, внесение в это поле названия функции приведет к перехвату именно этой функции, а ввод имени процесса позволит следить именно только за этим процессом. Допустимо использование символа подстановки * для определения произвольного фрагмента строки (например, фильтр HKLM*Microsoft дает возможность следить за любыми упоминаниями Microsoft в ветви Реестра HKLM). Можно вводить любое число фильтров, разделяя их между собой точками с запятой. Регистр при фильтрации не учитывается.

Второй элемент фильтра это Exclude:, то есть фильтр того, что мы не хотели бы видеть в отчете. Таким способом можно исключить из отчета какие-нибудь очень активные по отношению к Реестру программы, захламляющие наш отчет или отключить некую ветвь Реестра, если нам не интересна активность в ней и тп. Синтаксис аналогичен фильтру Include.

Третий элемент, Highlight, это вообщем-то и не фильтр вовсе. Он не влияет на то, будет или нет отображаться вызов некоторой функции, а влияет лишь на то, будет ли он подсвечен (вы уже выбрали цвета подсветки?). Подсветка позволяет среди большого количества строк найти то, что Вас сейчас интересует. Синтаксис аналогичен фильтру Include. Этот фильтр можно менять на лету и изменения будут применены для уже отображенных ранее записей.

Удобно, что программа запоминает историю ввода фильтров, и Вы позже сможете вновь воспользоваться ими. Кстати, при перезапуске программа восстанавливает последний набор фильтров. Имейте это ввиду!

Кроме строковых фильтров в диалоге есть несколько переключателей, которые могут производить фильтрацию по несколько иным критериям. Так например можно отслеживать только открытие ключей Реестра - надо включить только Log Opens. Можно отключить фиксацию операций чтения из Реестра (выключить Log Reads) и следить только за тем, что в него записывается (включить Log Writes). Переключатели позволяют Вам также выбирать для наблюдения только успешно завершившиеся вызовы функций (включить Log Successes) или, наоборот, только ошибочные (включить только Log Errors). Я часто использую последний вариант фильтра для поиска несуществующих записей в Реестре, к которым исследуемая программа пытается обратиться, но не находит их. А последний переключатель (Log Other) предлагает отключить мониторинг ДРУГИХ действий с Реестром, надо полагать тех, что нельзя отнести ни к операциям чтения, ни к операциям записи. Возможно в эту группу попадают очень часто происходящие ошибочные обращения к дисковым файлам так, как будто это ветви Реестра. Дык и ну их, убогих. Только не удивляйтесь, если одни и те же строки будут попадать в отчет при абсолютно разных позициях переключателей. Например, и для того, чтобы прочесть что-нибудь из Реестра и для того, чтобы туда чего записать, все равно надо ключ Реестра открыть, а потом закрыть. Вот и получаются такие накладочки, но фильтры все едино полезные. Можно применить новый фильтр даже не закрывая диалоговое окно, просто нажав на кнопку Apply. А чтобы сбросить все фильтры в значение по умолчанию, предусмотрена кнопка Defaults в диалоговом окне фильтра.

------------------------------------------------------------------------------------------------------------------------------------------------------

Если Вы все усвоили, можно приступать к делу. Напоследок одно из возможных применений RegMon-a: настроив фильтры на слежку за какой-либо конкретной программой, можно, обратив внимания на ключи и значения Реестра, что она пытается прочесть и не находит, отыскать скрытые настройки программы. Для начала попробуйте сделать это с обычным Блокнотом Windows. Но это так, игрушки. RegMon imho можно использовать и для более серьезных дел...

Copyright © 2002-2005 SNC


RootkitRevealer

RootkitRevealer 1.71

Авторы: Брайс Когсвелл (Bryce Cogswell) и Марк Руссинович (Mark Russinovich)
Опубликовано 1 ноября 2006 г.

RootkitRevealer - патентованное средство Sysinternals для удаления руткитов. Термин RootKit исторически пришел из мира Unix, и под этим термином понимается набор утилит, которые хакер устанавливает на взломанном им компьютере. В системе Windows под RootKit обычно считают программу, которая внедряется в систему и перехватывает системные функции (API). Перехват и модификация низкоуровневых API функций в первую очередь позволяет такой программе достаточно качественно маскировать свое присутствие в системе, а также любых описанных в его конфигурации процессов, папок и файлов. Руткит практически невозможно просто так найти в системе. Его нельзя случайно заметить, его надо целенаправлено искать.
Rootkit Revealer работает под Windows NT и выше и в процессе работы показывает ключи реестра и API-функции, позволяющие обнаружить руткиты. Обнаруживает их как в пользовательском режиме, так и в режиме ядра. Успешно справляется со всеми руткитами, опубликованными на сайте www.rootkit.com, включая: AFX, Vanquish и HackerDefender. Не требует установки.

Удаление руткита потребует от вас загрузки в другой операционной системе (ЭТО ОБЯЗАТЕЛЬНО), (ну хоть с CD реаниматор или еще что-то в этом роде) подмонтирования системного диска хакнутой системы и удаления тех файлов \ ключей реестра которые выявил RootKit Revelar (RKR). Имейте ввиду, что если RKR выявил хотя бы один ФАЙЛ с пометкой Hidden from Windows API -> у вас явно кто-то сидит. Рекомендуется куда-нибудь сохранить удаленные файлы, на случай если система не загрузится. Если она не грузится НУЖНО ГДЕ-ТО ДОСТАТЬ версии этих файлов для вашей операционки. Кстати у меня RKR говорил что mstcp.dll был не таким, хотя на самом деле, после того как я удалил явный лишний TInject.dll система загрузилась и новый прогон RKR не выявил ни одного файла а версия mstcp.dll стала гораздо более старой - т.е. этот TInject.dll подменял mstcp.dll другой, которую экстрактировал из себя.

Введение

Программа RootkitRevelader является программой с расширенными возможностями для обнаружения rootkit-программ. Она работает под управлением ОС Windows NT 4 и более поздних версий. Программа выводит список несоответствий результатов работы API-интерфейсов файловой системы и реестра реальным данным. Эти несоответствия могут означать наличие rootkit-программы, работающей в пользовательском режиме или в режиме ядра. Программа RootkitRevealer успешно обнаруживает все постоянные rootkit-программы, включая такие, как AFX, Vanquish и HackerDefenter. Обратите внимание, что RootkitRevealder не предназначена для определения вредоносных программ вроде программы Fu, которые не пытаются скрывать свои файлы и разделы реестра. Пожалуйста, сообщите нам, если вы используете эту программу для обнаружения присутствия rootkit-программ.

Программа RootkitRevealer больше не является консольной, потому что авторы вредоносных программ начали определять наличие сканера RootkitRevealer по имени исполняемого файла. Теперь сканирование вызывается из копии программы RootkitRevealer со случайным именем файла, запущенной как служба Windows. Такой тип запуска делает процесс недоступным из командной строки. Тем не менее, можно использовать параметры командной строки для запуска автоматического сканирования с записью результатов сканирования в файл. Это эквивалентно поведению версии программы для командной строки.

Что такое rootkit-программа

Термин “rootkit” обозначает механизмы и приемы, с помощью которых вредоносные программы, такие как вирусы, программы-шпионы и трояны, пытаются скрыть свое присутствие от приложений, блокирующих программы-шпионы, антивирусов и средств управления системой. Rootkit-программы подразделяются на несколько классов в зависимости от способности сохранять работоспособность после перезагрузки компьютера и типа запуска (в пользовательском режиме или в режиме ядра).

Постоянные rootkit-программы
Постоянные rootkit-программы запускаются после каждого запуска системы. Такие программы содержат код, который должен выполняться при каждом запуске системы или при каждом выполнении входа в систему пользователем, поэтому этот код должен располагаться в постоянном хранилище, таком как файловая система или реестр, и должен быть способ запуска этого кода без участия пользователя.

Rootkit-программы в оперативной памяти
Rootkit-программы в оперативной памяти не обладают хранимым кодом и потому после перезагрузки пропадают.

Rootkit-программы режима пользователя
Есть много способов, с помощью которых rootkit-программы пытаются избежать обнаружения. К примеру, rootkit-программы, работающие в пользовательском режиме, могут перехватывать все вызовы к функциям Windows FindFirstFile и FindNextFile. На этих вызовах основано перечисление содержимого папок файловой системы в приложениях для просмотра содержимого диска, включая проводник Windows и командную строку. Когда приложение осуществляет вывод содержимого папки, в результатах которого можно будет обнаружить файлы этой скрытой вредоносной программы, она перехватывает вызов и удаляет записи о своих файлах из результатов вывода содержимого папки.

Собственный API-интерфейс Windows служит промежуточным звеном между клиентскими приложениями, работающими в пользовательском режиме, и службами, работающими в режиме ядра. Более сложные rootkit-программы, работающие в пользовательском режиме, перехватывают вызовы перечисления содержимого файловой системы, реестра и списка процессов собственного API-интерфейса Windows. Это препятствует обнаружению таких программ сканерами, которые сравнивают результаты перечисления содержимого с помощью обычного API-интерфейса Windows с результатами перечисления с помощью собственного API-интерфейса Windows.

Rootkit-программы режима ядра
Rootkit-программы, работающие в режиме ядра, обладают еще более широкими возможностями. Помимо перехвата вызовов собственного API-интерфейса Windows в режиме ядра они также могут напрямую управлять структурами данных ядра. Распространенным способом сокрытия присутствия вредоносного процесса является удаление этого процесса из списка ядра, в котором перечислены активные процессы. В API-интерфейсах для управления процессами используется содержимое этого списка, поэтому такая вредоносная программа не будет отображаться в списке активных процессов в приложениях для управления процессами, таких как диспетчер задач Windows или Process Explorer.

Принцип работы программы RootkitRevealer

Так как постоянные rootkit-программы изменяют результаты работы вызовов прикладных программных интерфейсов, результат работы этих вызовов не соответствует реальному содержимому хранилищ. Программа RootkitRevealer сравнивает результаты сканирования системы высокоуровневыми и низкоуровневыми средствами. Самым высоким уровнем является интерфейс Windows API, самым низким — реальное содержимое тома файловой системы или куста реестра (файла куста реестра, хранящегося на диске). Таким образом программа RootkitRevealer без проблем обнаружит rootkit-программы, работающие как в пользовательском режиме, так и в режиме ядра, и перехватывающие вызовы интерфейсов Windows API для удаления себя из результатов работы этих вызовов. Присутствие этих программ проявится виде несоответствий между информацией, полученной с помощью интерфейсов Windows API, и результатами прямого анализа структур данных файловых систем FAT и NTFS.

Может ли rootkit-программа избежать обнаружения программой RootkitRevealer?
Теоретически сокрытие rootkit-программы от обнаружения программой RootkitRevealer возможно, но для этого потребуется перехватывать вызовы программы RootkitRevealer на чтение данных кустов реестра или данных файловой системы и модифицировать содержимое этих данных таким образом, чтобы скрыть информацию о вредоносной программе. На сегодняшний день вредоносные программы такой сложности не встречались. Для модификации данных необходимы глубокие знания о форматах структур данных файловых систем FAT и NTFS и о формате кустов реестра, а также необходима возможность модифицировать эти данные таким образом, что скрыть присутствие вредоносной программы, но сохранить при этом целостность структур данных, иначе эти несоответствия будут обнаружены программой RootkitRevealer.

Существуют ли гарантированные способы обнаружения rootkit-программ?
В общем случае невозможно гарантировать обнаружение этих программ во время работы системы. Rootkit-программы, работающие в режиме ядра, могут полностью контролировать поведение системы, поэтому они могут подменять информацию, получаемую с помощью прикладных программных интерфейсов, включая прямое чтение кустов реестра и данных файловой системы, осуществляемое программой RootkitRevealer. Сравнение результатов сканирования во время работы системы с результатами сканирования выключенной системы из безопасной среды, например с помощью загрузки операционной системы с компакт-диска, является более надежным способом обнаружения rootkit-программ. Тем не менее, они могут быть реализованы таким образом, чтобы скрывать свое присутствие даже от таких инструментов.

Универсального средства для обнаружения rootkit-программ нет и не будет, но наибольшими возможностями обладают и будут обладать сканеры, интегрированные с антивирусными системами, сравнивающие данные сканирования работающей системы с данным сканирования выключенной.

Использование программы RootkitRevealer

Для работы программы RootkitRevelaer требуется, чтобы учетной записи, с правами которой выполняется программа, были назначены привилегии резервного копирования файлов и папок, загрузки драйверов и выполнения задач обслуживания томов (в ОС Windows XP и более поздних версиях). По умолчанию члены группы “Администраторы” обладают этими привилегиями. Для уменьшения количества ошибочных результатов запускайте программу RootkitRevealer на простаивающей системе.

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

При возникновении вопросов или проблем посетите форум компании Sysinternals, посвященный программе RootkitRevealer.

Ручное сканирование

Для выполнения сканирования запустите программу RootkitRevealer и нажмите кнопку “Начать сканирование”. Программа выполнит сканирование системы. Во время сканирования действия программы будут отображаться на панели состояния внизу окна программы, а обнаруженные несоответствия в списке результатов. Ниже приведен список доступных для настройки параметров:
• Hide NTFS Metadata Files (скрывать файлы метаданных NTFS): программа не отобразит стандартные файлы метаданных NTFS, которые скрыты от интерфейса Windows API. Этот параметр по умолчанию активен;
• Scan Registry (сканировать реестр): этот параметр по умолчанию активен. Если его деактивировать, программа не будет производить сканирование реестра.

Запуск автоматического сканирования

Программа RootkitRevealer позволяет настроить некоторые параметры автоматического сканирования.

Синтаксис: rootkitrevealer [-a [-c] [-m] [-r] файл_результатов]

-a
Выполнить автоматическое сканирование и выйти после завершения сканирования.

-c
Вывести данные в формате CSV.

-m
Показать файлы метаданных NTFS.

-r
Не выполнять сканирование реестра.

Примечание: файл с результатами сканирования должен располагаться на локальном томе.

Если указать параметр -c, программа не будет отображать состояние выполнения сканирования, а найденные несоответствия будут выведены в CSV-файл для упрощения последующего импортирования результатов сканирования в базу данных. Для выполнения сканирования на удаленных системах можно воспользоваться служебной программой Sysinternals PsExec. Ниже приведен пример команды для осуществления такого сканирования:

psexec \\remote -c rootkitrevealer.exe -a c:\windows\system32\rootkit.log

Интерпретация выходных данных

Ниже приведен снимок экрана, на котором программой RootkitRevealer обнаружена распространенная rootkit-программа HackerDefender. В списке несоответствий разделов реестра видно, что разделы реестра, в которых хранится драйвер устройства и параметры службы программы HackerDefender, скрыты от вызовов интерфейса Windows API, но присутствуют в результатах непосредственного сканирования данных куста реестра. Подобным же образом файлы программы HackerDefender невидны вызовам интерфейса Windows API, выводящим содержимое папок, но присутствуют в результатах непосредственного сканирования данных файловой системы.

Необходимо изучить все несоответствия и определить вероятность того, что то или иное несоответствие является знаком присутствия rootkit-программы. К сожалению, не существует гарантированного способа указать на наличие или отсутствие таких программ, основываясь на данных результата сканирования. Поэтому все перечисленные несоответствия необходимо проанализировать, чтобы убедиться в объяснимости причин их наличия. Если вы определили, что у вас в системе присутствует rootkit-программа, необходимо осуществить поиск инструкций в Интернете по ее удалению. Если вы не знаете, как удалить эту программу, необходимо переформатировать жесткий диск и переустановить ОС Windows.

Ниже приведена информация о возможных несоответствиях, которые обнаруживает программа RootkitRevealer. Обнаруженные rootkit-программы и отдельные ложные обнаружения обсуждаются на форуме Sysinternals, посвященном программе RootkitRevealer.

Сокрытие от вызовов интерфейсов Windows API

Это наиболее распространенный способ сокрытия присутствия, используемый большинством rootkit-программ. Тем не менее, если не установить флажок “скрывать файлы метаданных NTFS”, в результатах сканирования будет присутствовать несколько подобных записей для каждого раздела NTFS, поскольку NTFS скрывает от вызовов интерфейса Windows API свои файлы метаданных, например $MFT и $Secure. Перечень файлов метаданных разделов NTFS зависит от версии файловой системы и различных дополнительных возможностей, активных на конкретном разделе. Также ряд антивирусных систем, например Антивирус Касперского, используют rootkit-технологии сокрытия своих данных, храня их в дополнительных потоках данных NTFS. Если вы используете подобное антивирусное приложение, в списке несоответствий будут записи о сокрытии от интерфейса Windows API дополнительных потоков данных для каждого файла NTFS. Программа RootkitRevealer не поддерживает фильтрацию результатов, потому что скрытые вредоносные программы могут воспользоваться ею. Также в списке несоответствий можно увидеть файлы, удаленные во время сканирования.

Ниже приведен перечень файлов метаданных NTFS, используемый ОС Windows Server 2003:
$AttrDef
$BadClus
$BadClus:$Bad
$BitMap
$Boot
$LogFile
$Mft
$MftMirr
$Secure
$UpCase
$Volume
$Extend
$Extend\$Reparse
$Extend\$UsnJrnl
$Extend\$UsnJrnl
$Extend\$UsnJrnl:$Max
$Extend\$Quota
Отказ в доступе.

Это несоответствие никогда не должно присутствовать в результатах работы программы RootkitRevealer, потому что в программе используются механизмы, позволяющие получить доступ к любому файлу, папке или разделу реестра в системе.

Файл видим для интерфейса Windows API, присутствует в индексе папки, но отсутствует в таблице MFT.
Файл видим для интерфейса Windows API, но отсутствует в таблице MFT и в индексе папки.
Файл видим для интерфейса Windows API, присутствует в таблице MFT, но отсутствует в индексе папки.
Файл присутствует в индексе папки, но невидим для интерфейса Windows API и отсутствует в таблице MFT.

Сканирование файловой системы осуществляется с помощью трех модулей: модуль сканирования интерфейса Windows API, модуль сканирования таблицы NTFS MFT и модуль сканирования индексных структур папок NTFS. Перечисленные выше несоответствия показывают, что файл присутствует в результатах работы лишь одного или двух из трех перечисленных выше модулей. Наиболее распространенной причиной возникновения такого несоответствия является создание или удаление файла во время сканирования. Ниже приведен пример несоответствия, которое возникает при создании файла во время сканирования:

C:\newfile.txt
01.03.2005 17:26
8 байт
Файл видим для интерфейса Windows API, но отсутствует в таблице MFT и индексе папки.

Размер значения реестра, видимый из интерфейса Windows API, не соответствует реальному размеру в файле данных куста реестра.

Rootkit-программы могут попытаться скрыть свое присутствие, сообщая неверный размер значения реестра, благодаря чему содержимое этого значения недоступно с помощью интерфейса Windows API. Необходимо изучить каждое такое несоответствие, хотя оно может являться и результатом изменения содержимого значения реестра во время сканирования.

Несоответствие типа значения, видимого из интерфейса Windows API, типу значения в файле данных куста реестра.

У значений реестра есть тип, например DWORD или REG_SZ. Несоответствие типа означает, что тип значения, который определяется интерфейсом Windows API, отличается от реального типа значения в файле данных куста реестра. Rootkit-программа может замаскировать свои данные, которые реально хранятся в значении типа REG_BINARY, вернув для интерфейса Windows API тип REG_SZ. Если в начале этих данных будет храниться 0, интерфейс Windows API не сможет получить доступ к остальным данным этого значения.

В названии раздела реестра содержатся нулевые символы.

Интерфейс Windows API представляет все имена разделов реестра как строки, оканчивающиеся нулевым символом, в то время как ядро представляет их как строки с заданной длиной. Благодаря этому можно создать такие разделы реестра, которые будут видны операционной системе, но таким средствам управления реестром, как Regedit, они будут видны лишь частично. В исходном коде программы Reghide продемонстрировано использование этого приема, который также используется вредоносными и rootkit-программами для сокрытия данных в реестре. Для удаления разделов реестра, имена которых содержат нулевые символы, можно воспользоваться программой Sysinternals Regdellnull.

Несоответствие содержимого значения реестра, видимого из интерфейса Windows API, содержимому значения в файле данных куста реестра.

Это несоответствие возникает, если содержимое значения реестра изменяется в процессе выполнения сканирования реестра. К часто изменяющимся значениям относятся такие значения, как различные временные метки, например время работы сервера Microsoft SQL Server (см. пример ниже), или время последнего сканирования антивируса. Каждое перечисленное значение реестра необходимо проверить, чтобы убедится, что оно относится к реальному приложению или операционной системе.

HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\RECOVERYMANAGER\MSSQLServer\uptime_time_utc
01.03.2005 16:33
8 байт

Сайт: http://technet.microsoft.com/uk-ua/sysinternals/bb897445(en-us).aspx
Ссылка на закачку: http://download.sysinternals.com/Files/RootkitRevealer.zip


Sysinternals Suite

Sysinternals Suite Portable

Портабельная версия в оболочке - NirLauncher.
Представляет из себя самораспаковывающийся rar-архив (распаковывается во временную папку), принятие EULA не требуется.

Sysinternals Suite - большой набор полезных системных утилит от Марка Руссиновича. Утилиты устранения неполадок Sysinternals собраны в единый набор инструментов, содержащий отдельные инструменты устранения неполадок и файлы помощи. Сервисные программы Sysinternals помогают как специалистам по информационным технологиям, так и разработчикам управлять, находить и устранять неисправности и выполнять диагностику приложений и операционных систем Windows.

Включает в себя:
• AccessChk - Отображает разрешения доступа к файлам, разделам реестра или службам Windows для конкретного пользователя или группы пользователей.
• AccessEnum - Предназначена для анализа безопасности. Выводит список пользователей и групп, у которых есть доступ к файлам, папкам и разделам реестра, благодаря чему можно искать уязвимости в настройках разрешений доступа.
• AD Explorer - Active Directory Explorer представляет собой продвинутое средство для просмотра и редактирования Active Directory (AD).
• AdRestore - Позволяет восстанавливать удаленные (помеченные на удаление) объекты службы Active Directory системы Server 2003.
• Autologon - Предназначена для автоматического выполнения входа в систему без ввода пароля. Позволяет включать и отключать автоматический вход в систему.
• AutoRuns - Средство с интерфейсом командной строки позволяет контролировать автозагрузку запускающихся при старте операционной системы сервисов, приложений и других компонентов. Также показывает полный перечень путей в реестре и на диске, где может быть настроен автоматический запуск приложений.
• AutoRuns - AutoRuns в командной строке.
• BgInfo - Полностью настраиваемая программа автоматически генерирует фоновые рисунки рабочего стола, включающие важную информацию о системе, такую как IP адреса, имя компьютера, сетевые адаптеры и многое другое.
• CacheSet - Позволяет управлять параметрами рабочего набора системного кэша при помощи собственных функций NT. Совместима со всеми версиями ОС NT.
• ClockRes - Показывает разрешение системных часов (это значение совпадает с максимальным разрешением таймера).
• Contig - Позволяет произвести быструю дефрагментацию регулярно применяемых файлов, оптимизировать отдельные файлы и создавать новые, размещенные в смежных кластерах.
• Coreinfo - Выдает информацию, помогающую изучению взаимосвязей процессоров, кэша, NUMA узлов и сокетов вашей системы.
• Ctrl2cap - Драйвер-фильтр клавиатуры используемый для преобразования CapsLock символов в командные символы, что позволяет включать верхний регистр при нажатии контрольных клавиш.
• DebugView - Позволяет контролировать вывод отладочной информации о вашей локальной системе, или любого компьютера в сети без активного отладчика.
• Desktops - Позволяет создавать до четырех виртуальных рабочих столов, переключаться между которыми можно либо с помощью комбинаций клавиш, либо с помощью значка в системном трее.
• DiskExt - Выводит данные о распределении разделов тома по дискам (тома с несколькими разделами могут быть размещены на нескольких дисках) и размещении разделов на этих дисках.
• DiskMon - Фиксирует все операции с жестким диском. Кроме того, может исполнять роль индикатора активности в системном трее при обращении программ к жёсткому диску.
• DiskView - Выводит графическую схему диска, на которой можно определить, какие группы кластеров заняты конкретным файлом или по каким кластерам распределён тот или иной файл (для этого нужно щелкнуть кластер мышью).
• Disk Usage (DU) - Выводит сведения об использовании дискового пространства в указанном каталоге. По умолчанию выполняет рекурсивный просмотр каталога и указывает его общий размер, а также размер его подкаталогов.
• EFSDump - Выводит список учетных записей, имеющих доступ к зашифрованным файлам.
• FileMon - Предназначена для мониторинга в режиме реального времени всей активности файловой системы.
• Handle - Выводит сведения об открытых дескрипторах для любого процесса в системе. Позволяет посмотреть, какие программы открыли файл, а также увидеть тип объектов и имена всех дескрипторов программы.
• Hex2dec - Конвертирует шестнадцатеричные числа в десятичные и наоборот.
• Junction - Создание символических ссылок NTFS в среде Win2K. Позволяет создавать точки соединения NTFS и проверять, исполняют ли те или иные файлы и каталоги роль точек повторной обработки.
• LDMDump - Позволяет выгружать из памяти содержимое БД диспетчера логических дисков, в которой описывается схема разметки динамических дисков Windows 2000.
• ListDLLs - Выводит перечень всех загруженных в данный момент библиотек DLL, их версии и пути, откуда они были загружены.
• LiveKd - Отладчики ядра от корпорации Майкрософт упрощают анализ действующей системы.
• LoadOrder - Позволяет определить порядок загрузки драйверов устройств в системе WinNT/2K.
• LogonSessions - Выводит список активных сеансов входа в систему.
• MoveFile - Планирование команд переименования и удаления на время следующей перезагрузки. Может быть полезной при удалении устойчивых и активных файлов вредоносных программ.
• NewSID - Для смены идентификатора безопасности компьютера позволяет решить известную проблему с совпадением идентификаторов.
• NTFSInfo - Позволяет получить подробные сведения о томах NTFS, в том числе о размере и местоположении основной таблицы файлов (MFT) и зоны MFT, а также о размере файлов метаданных NTFS.
• PageDefrag - Позволяет произвести дефрагментацию системных файлов и кустов реестра, то есть файлов подкачки (pagefile.sys), спящего режима (hiberfil.sys), журнала событий.
• PendMoves - Просмотр списка файлов, удаление и переименование которых запланировано на момент следующей перезагрузки системы.
• PipeList - Программа перечисления созданных именованных каналов.
• Portmon - Предназначена для отслеживания активности последовательных и параллельных портов. Поддерживает все стандартные команды управления (IOCTL) для последовательных и параллельных портов и даже отображает часть принимаемых и передаваемых данных.
• ProcDump - Позволяет произвести слежение за пиковой нагрузкой на CPU со стороны конкретного приложения. Генерирует дампы после сбоев для дальнейшего изучения проблемы. Также ведётся слежение за "зависаниями" окон и неперехваченными исключениями.
• Process Explorer - Предназначена для мониторинга в режиме реального времени работающих в системе процессов с функциями отладчика. Выдает подробнейшую информацию обо всех запущенных процессах, включая владельца, использование памяти, задействованные библиотеки и т.д.
• ProcFeatures - Выводит сведения о поддержке со стороны процессора и ОС Windows расширения физических адресов и защиты от переполнения буфера путем запрета исполнения.
• Process Monitor - Предназначена для мониторинга файловой системы, реестра и процессов в оперативной памяти. Эта утилита объединяет в себе возможности программ FileMon (мониторинг файловой системы) и RegMon (мониторинг реестра), но при этом Process Monitor обладает более широкими возможностями.
• PsExec - Позволяет удаленно запускать процессы.
• PsFile - Позволяет увидеть, какие файлы открыты удаленно.
• PsGetSid - Выводит идентификатор безопасности (SID) компьютера или пользователя.
• PsInfo - Выводит сведения о системе.
• PsKill - Позволяет завершать процессы по имени или идентификатору процесса, как на локальной, так и на удаленной системе.
• PsList - Выводит подробную информацию о процессах и потоках.
• PsLoggedOn - Выводит список пользователей, вошедших в систему как в локальном режиме, так и через ресурсы локального или удаленного компьютера.
• PsLogList - Выводит содержимое журнала событий локального или удаленного компьютера.
• PsPasswd - Позволяет менять пароли учетных записей.
• PsService - Позволяет просматривать информацию о службах и управлять ими.
• PsShutdown - Позволяет выключить и при необходимости перезагрузить компьютер.
• PsSuspend - Позволяет приостанавливать и продолжать работу процессов на локальной или удаленной машине.
• RegDelNull - Сканирует и удаляет ключи реестра, содержащие некорректные символы, которые невозможно удалить обычными средствами редактирования реестра.
• RegJump - Переводит Вас по пути, указанному в Regedit.
• RegMon - Предназначена для мониторинга в режиме реального времени всей активности реестра.
• RootkitRevealer - Осуществляет поиск rootkit-программ.
• SDelete - Позволяет перезаписать уязвимые данные и очистить свободное пространство от ранее удаленных файлов. Программа соответствует стандартам безопасности министерства обороны США.
• ShareEnum - Выполняет сканирование общих ресурсов в сети и позволяет просматривать их параметры безопасности для устранения уязвимостей.
• ShellRunas - Позволяет запускать программы от имени других пользователей.
• Sigcheck - Выводит информацию о версиях файлов и позволяет удостовериться, что образы в системе подписаны цифровой подписью.
• Streams - Отображает дополнительные потоки данных файловой системы NTFS.
• Strings - Поиск строк в формате ANSI и Юникод в двоичных образах.
• Sync - Сброс кэшированных данных на диск.
• TCPView - Средство с интерфейсом командной строки для просмотра активных сокетов. Предназначена для мониторинга сетевых подключений, которая выводит на экран списки конечных точек всех установленных в системе соединений по протоколам TCP и UDP с подробными данными.
• TCPView - TCPView в командной строке.
• VMMap - Инструмент для анализа работы запущенного процесса с физической и виртуальной памятью.
• VolumeID - Назначение меток томов на дисках FAT или NTFS.
• Whois - Позволяет узнать, кто является владельцем адреса в Интернете.
• Winobj - Предназначена для анализа пространства имен диспетчера объектов.
• ZoomIt - Предназначена для презентаций, используемая для масштабирования изображения на экране.

Список русифицированных утилит:
AutoRuns 11.21 - "Редактор автозагрузки"
ProcExp 15.12 - "Диспетчер задач"
ProcMon 2.96 - "Мониторинг процессов" (объединяет в себе функции FileMon и RegMon)
FileMon 7.03 - "Мониторинг файловых операций"
RegMon 7.03 - "Мониторинг операций с реестром"
DiskView 2.4 - "Просмотр фрагментации диска"
TCPView 3.05 - "Мониторинг сетевых подключений"
PageDfrg 2.32 - "Дефрагментация системных файлов"

AutoRuns
Позволяет контролировать автозагрузку запускающихся при старте операционной системы сервисов, приложений и других компонентов. Также показывает полный перечень путей в реестре и на диске, где может быть настроен автоматический запуск приложений. Утилита очень полезна, и с ее помощью вы можете не только отследить назойливые модули от некогда поставленных и забытых программ, но и отловить какой-нибудь "троянский" модуль (если у вас минимально защищенная система). Утилита AutoRuns отслеживает загружаемые модули и драйверы в локациях. Кроме того, утилита AutoRuns дает возможность просматривать информацию не в обобщенном виде, а по конкретному приложению – для этого в ней реализованы различные закладки.

Process Explorer
Process Explorer - компактная и мощная программа с удобным интерфейсом для мониторинга в режиме реального времени работающих в системе процессов с функциями отладчика. Выдает подробнейшую информацию обо всех запущенных процессах, включая владельца, использование памяти, задействованные библиотеки и т.д. Среди его возможностей просмотр стека процесса, текстовых строк в образе, управление параметрами безопасности (ACL), просмотр переменных среды, драйверов, хэндлов и загружаемых процессом библиотек, сетевых соединений установленных процессом, управление приоритетом, графический контроль производительности процесса и многое другое, включая полное управление сеансами пользователей в системе. Имеет мощную систему поиска, позволяющую искать процессы, открывающие специфический дескриптор или загружающую определенную DLL. Это делает Process Explorer мощным инструментом для понимания внутреннего поведения приложений, также прослеживающего утечки информации маркера и DLL, несоответствий версий и даже косвенное определение вирусов. Кроме этого, Process Explorer допускает изменение приоритетов процессов, их приостановку (пауза исполнения, "замораживание") и удаление ("убийство") включая дерево запущенных им дочерних процессов. Возможен поиск описания по имени модуля в Google и MSN.

Process Monitor
Программа для мониторинга файловой системы, реестра и процессов в оперативной памяти в реальном времени. Эта утилита объединяет в себе возможности программ FileMon (мониторинг файловой системы), RegMon (мониторинг реестра) и Process Explorer (мониторинг процессов). Process Monitor конролирует и следит за всей работой операционной системы и отображает всё происходящие процессы, работающие библиотеки, различные драйвера устройств, а также все изменения, происходящие с файлами и выводит сообщение об их удалении или открытии. Включает в себя инструмент для мониторинга системного реестра и показывает какие программы обращаются к нему, какие ключи читают и пытаются в них что-либо записать. Ко всему прочему, утилита может предоставить детальную информацию о каждом процессе, какой пользователь её запустил или полный путь к каталогу.
Process Monitor поддерживает расширенную и безвредную фильтрацию, всеобъемлющие свойства событий, такие как ID сессий и имена пользователей, достоверную информацию о процессах, полноценный стек потока со встроенной поддержкой всех операций, одновременную запись информации в файл и многие другие возможности. В утилите доступен просмотр всех загруженных библиотек и внутренних kernel-драйверов различных устройств, вывод детальной информации о каждом процессе (полный путь к файлу, ID сессии, имя пользователя). Каждая колонка с данными, отображаемыми в программе, может перемещаться и удаляться, присутствует возможность устанавливать на каждый тип данных фильтр. Мощная система ведения логов позволяет обрабатывать десятки миллионов различных параметров процессов, происходящих в системе, а весь журнал событий сохранить в файл до 1 гигабайта. Эти уникальные возможности делают программу Process Monitor ключевым инструментом для устранения неполадок и избавления от вредоносных программ.

FileMon
Утилита, позволяющая вести мониторинг всех операций с файлами. Она контролирует и отображает всю деятельность файловой системы на компьютере. Программа имеет расширенную и возможность поиска, которые делают ее мощным инструментом для исследования работы Windows, наблюдения, какие приложения используют файлы и DLL, или контроля проблем в системных или прикладных конфигурациях. Имеет удобный фильтр, может сохранять отчет в файле.
Теперь вы знаете, как «подловить» хитрые программы и проследить за их «подпольной» деятельностью. Ведь программы иногда совершают «непотребства» - мусорят временными файлами, множеством ключей в реестре, и даже размещают на диске «шпионов», которые собирают информацию о пользователе, а затем высылают ее через Интернет.

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

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

TCPView
Программа для мониторинга сетевых подключений, которая выводит на экран списки конечных точек всех установленных в системе соединений по протоколам TCP и UDP с подробными данными, в том числе с указанием локальных и удаленных адресов и состояния TCP-соединений. В операционных системах Windows NT, 2000 и XP программа TCPView также сообщает имя процесса, которому принадлежит конечная точка.
Она показывает детальный листинг программ и портов, вызывающих TCP и UDP соединения, включая удаленный адрес и статус соединений. При запуске TCPView перечисляет все соединения TCP и UDP, конвертирует все IP адреса в названия доменов, привязанных к ним. По умолчанию программа обновляет листинг каждую секунду, но в настройках можно изменить время обновления. Соединения, которые были обновлены с предыдущего состояния, выделаются желтым цветом, удаленные выделяются красным, а новые - зеленым цветом. Программа TCPView является дополнением программы Netstat, поставляемой вместе с ОС Windows, и предоставляет расширенный набор сведений в более удобной форме. В комплект загрузки программы TCPView входит программа Tcpvcon с теми же функциональными возможностями, предназначенная для работы в режиме командной строки.

PageDefrag
Утилита для дефрагментации системного реестра. Кроме этого, программа умеет дефрагментировать системные файлы - например pagefile.sys и hiberfil.sys, которые на отрез отказывается оптимизировать стандартный дефрагментатор. Программа очень проста и удобна, работает без инсталляции, а также есть поддержка командной строки. Собственно говоря, эта утилита предназначена только для этого и делает она это хорошо.

Сайт: http://technet.microsoft.com/ru-ru/sysinternals/default.aspx
Сайт: http://technet.microsoft.com/en-us/sysinternals/0e18b180-9b7a-4c49-8120-c47c5a693683.aspx


TCPView

TCPView 3.05

Программа для мониторинга сетевых подключений, которая выводит на экран списки конечных точек всех установленных в системе соединений по протоколам TCP и UDP с подробными данными, в том числе с указанием локальных и удаленных адресов и состояния TCP-соединений. В операционных системах Windows NT, 2000 и XP программа TCPView также сообщает имя процесса, которому принадлежит конечная точка.
Она показывает детальный листинг программ и портов, вызывающих TCP и UDP соединения, включая удаленный адрес и статус соединений. При запуске TCPView перечисляет все соединения TCP и UDP, конвертирует все IP адреса в названия доменов, привязанных к ним. По умолчанию программа обновляет листинг каждую секунду, но в настройках можно изменить время обновления. Соединения, которые были обновлены с предыдущего состояния, выделаются желтым цветом, удаленные выделяются красным, а новые - зеленым цветом. Программа TCPView является дополнением программы Netstat, поставляемой вместе с ОС Windows, и предоставляет расширенный набор сведений в более удобной форме. В комплект загрузки программы TCPView входит программа Tcpvcon с теми же функциональными возможностями, предназначенная для работы в режиме командной строки. Не требует установки.

Using TCPView

When you start TCPView it will enumerate all active TCP and UDP endpoints, resolving all IP addresses to their domain name versions. You can use a toolbar button or menu item to toggle the display of resolved names. On Windows XP systems, TCPView shows the name of the process that owns each endpoint.

By default, TCPView updates every second, but you can use the Options|Refresh Rate menu item to change the rate. Endpoints that change state from one update to the next are highlighted in yellow; those that are deleted are shown in red, and new endpoints are shown in green.

You can close established TCP/IP connections (those labeled with a state of ESTABLISHED) by selecting File|Close Connections, or by right-clicking on a connection and choosing Close Connections from the resulting context menu.

You can save TCPView's output window to a file using the Save menu item.
Tcpvcon Usage

Tcpvcon usage is similar to that of the built-in Windows netstat utility:

Usage: tcpvcon [-a] [-c] [-n] [process name or PID]

-a
Show all endpoints (default is to show established TCP connections).
-c
Print output as CSV.
-n
Don't resolve addresses.

Утилиты мониторинга портов TCPView и TCPVCon

Преодолеваем ограничения Netstat

Администраторам Windows то и дело приходится проверять порты TCP/IP, выясняя, какие порты сетевых приложений сервера являются активными, чтобы убедиться, что нет нерегламентированного открытия портов, и выяснить, с какими удаленными системами взаимодействует компьютер. Самый простой способ — воспользоваться для получения такой информации встроенным в Windows инструментом Netstat. Однако у Netstat есть несколько ограничений. Версия, поставляемая с Windows 2000 и более ранними операционными системами, не выдает сведений о процессе, запущенном на конечной точке; версия, поставляемая с Windows Server 2003 и Windows XP, показывает идентификатор (PID) активного процесса, но не отображаемое имя процесса. Эти ограничения мешают понять, какой процесс владеет открытым сетевым портом. Кроме того, при работе с Netstat неудобно следить за изменениями в использовании порта TCP/IP.

TCPView компании Sysinternals – бесплатное приложение с графическим интерфейсом, работающее на версиях Windows начиная с NT 4.0, отображает расширенный набор сведений по сравнению с информацией, выдаваемой Netstat, и предоставляет удобный способ следить за изменениями в использовании порта TCP/IP.

Как работать с конечной точкой

Когда выполняется Netstat без аргументов, команда выводит список конечных точек TCP, которые находятся в состоянии установленного соединения, вместе с набором локальных IP-адресов каждого соединения и IP-адресом удаленного компьютера для этого соединения. Поскольку TCP представляет собой протокол, ориентированный на соединение, TCP-коммуникация требует двустороннего обмена данными для установления соединения на время обмена.

Ключ -a утилиты Netstat отображает все активные конечные точки TCP и UDP, включая конечные точки TCP в других состояниях, таких как LISTENING (ожидание соединения) и TIME_WAIT (закрыто). UDP не ориентирован на соединения, поэтому UDP-сообщения могут быть отправлены на любые удаленные IP-адреса. Таким образом, конечные точки UDP не имеют статусов и к ним неприменимо понятие статического связывания удаленных IP-адресов.

Версия Netstat, поставляемая с Windows 2003 и XP, располагает ключом -o, который выдает информацию об идентификаторах процессов (PID), открывших каждую конечную точку. Но при использовании ключа -o необходим еще один инструмент, такой как Task Manager, для того чтобы связать PID с отображаемым именем.

В XP Service Pack 2 (SP2) представлен еще один ключ Netstat, -b, который также будет использоваться в Windows 2003 SP1. Этот ключ выводит отображаемое имя активного процесса внизу строки вывода конечной точки. Для конечных точек, открытых процессами svchost.exe или rundll.exe, он выводит имена DLL-файлов, которые были в стеке выполняемых задач, открывших конечную точку. Нужно иметь в виду, что в тексте справки по Netstat файлы DLL называются компонентами. Поскольку Svchost — главный процесс, который загружает службы Windows, реализованные в DLL, а Rundll32 — главный процесс Control Panel для элементов DLL из Control Panel, информация о DLL может помочь определить, какая служба или приложение Control Panel открыли конечную точку. К сожалению, ошибка в способе, которым Netstat исследует стек данных, настолько замедляет вывод результатов, что ключ -b почти бесполезен.

TCPView

Окно TCPView, показанное на экране 1, выдает основную информацию по конечной точке, как и Netstat. Но следует обратить внимание на столбец Process, который содержит пиктограмму, имя и PID процесса, владеющего каждой конечной точкой.

Экран 1. Окно TCPView

В тех случаях, когда отображаемое имя малосодержательно, TCPView предоставляет дополнительную информацию о процессе. Для того чтобы просмотреть эту информацию, следует дважды щелкнуть конечную точку, задействованную данным процессом, или выделить конечную точку и выбрать в меню процесса пункт Process Properties, в результате чего откроется диалоговое окно свойств, показанное на экране 2. Это диалоговое окно содержит полный путь к файлу образа процесса, команду, которая использовалась для запуска процесса, и те сведения, которые TCPView извлекает из версии образа (если она доступна): описание образа, наименование поставщика и номер версии.

Экран 2. Дополнительная информация о процессе

Чтобы преобразовать имя DNS (например, www.winnetmag.com:http) в соответствующий IP-адрес и номер порта, нужно просто нажать Ctrl+R, щелкнуть кнопку преобразования адресов утилиты или выбрать Resolve Addresses в меню Options. TCPView переключится в режим отображения всех адресов в цифровом виде; тем же способом можно перейти обратно в режим имен.

Если понаблюдать за работой TCPView, можно заметить, что строки с конечными точками ненадолго подсвечиваются красным, зеленым или желтым цветом. Это делается для того, чтобы привлечь внимание пользователя к происходящим изменениям. Вновь открытые конечные точки будут подсвечиваться зеленым, конечные точки, которые были закрыты, будут подсвечиваться красным, а конечные точки TCP, у которых изменился статус, будут окрашены желтым. Эти цвета остаются неизменными, пока не произойдет три обновления экрана. Интервал обновления TCPView по умолчанию равен 1 секунде, но пользователь может изменить его или даже совсем приостановить обновление, выбрав в меню пункт View, Update Speed.

Также с помощью данного инструмента можно закрыть установленное приложением TCP-соединение. Для этого следует выделить строку соединения и выбрать File, Close Connections; другой способ – щелкнуть правой кнопкой на записи и выбрать в контекстном меню Close Connections.

TCPVCon

TCPVCon — это вариант TCPView для командной строки. Так же, как и Netstat, будучи выполненным без указания аргументов, TCPVCon просто выводит перечень подключенных конечных точек TCP или показывает перечень всех конечных точек, когда добавляется ключ -a. Но в отличие от Netstat, TCPVCon выводит данные в формате стандартного 80-позиционного окна командной строки (см. экран 3) для облегчения чтения. Другое отличие TCPVCon от Netstat состоит в том, что TCPVCon всегда выводит полный путь и PID процесса для каждой конечной точки, а не только имя процесса. Если пользователя интересуют конечные точки TCP/IP конкретного процесса, можно указать имя процесса или PID в командной строке TCPVCon, и инструмент отфильтрует конечные точки только этого процесса. С помощью ключа -c можно организовать вывод в формате с разделителем в виде запятой (CSV). Эта функция превращает TCPVCon в простой инструмент аудита, собирающий данные для хранения в базе, к которой потом можно делать запросы.

Экран 3. Результаты работы TCPVCon

Инструменты изнутри

При работе с TCPView и TCPVCon на Windows 2003 или XP инструменты используют недокументированные функции (представленные в XP), которые получают информацию о конечных точках TCP/IP, включая PID процесса, открывшего каждую конечную точку. Инструменты также используют документированные функции нумерации процесса, получающие список процессов и позволяющие конвертировать идентификаторы PID в имена процессов. Чтобы получить подробную информацию о процессе, необходимо запускать утилиты от имени учетной записи, имеющей привилегию Debug programs.

В Windows 2000 и NT инструменты задействуют недокументированные интерфейсы для запроса информации о конечных точках. Поскольку эти ранние интерфейсы не поддерживают информацию о PID, утилиты применяют встроенный драйвер устройства, который они устанавливают во время запуска для привязки конечных точек к процессам. Следовательно, для использования инструментов в Windows 2000 и NT учетная запись должна иметь и привилегию Debug programs, и привилегию Load drivers.

В целом TCPView и TCPVCon позволяют успешно преодолеть ограничения Netstat и могут стать отличным дополнением к набору инструментов системного администратора. Способность этих инструментов показывать отображаемые имена процессов и другую информацию о процессах, разрывать соединения и использовать выделение цветом в зависимости от произошедших изменений поможет сэкономить время и получить ясное представление о работе сети.

Автор: Марк Руссинович
Опубликована - 25.08.2005


Windows Sysinternals Suite

Веб-узел Sysinternals был создан в 1996 г. Марком Руссиновичем (Mark Russinovich) и Брюсом Когсвеллом (Bryce Cogswell) для размещения созданных ими усовершенствованных сервисных программ и технической информации. В июле 2006 г. корпорация Microsoft приобрела компанию Sysinternals. Сервисные программы Sysinternals помогают как специалистам по информационным технологиям, так и разработчикам управлять, находить и устранять неисправности и выполнять диагностику приложений и операционных систем Windows. При наличии вопросов о каком-либо инструменте или его использовании можно воспользоваться форумом Sysinternals Forum , чтобы получить ответы и помощь других пользователей и модераторовю

Служебные программы для работы с файлами и дисками

Служебные программы для просмотра и наблюдения за доступом к файлам и дискам и их использованием.

Сеть

Инструменты для сети: от мониторов подключений до анализаторов безопасности ресурсов.

Процессы и потоки

Сервисные программы, позволяющие заглянуть "под капот" и определить задачи, выполняемые теми или иными процессами и потребляемые ими ресурсы.

Сервисные программы системы безопасности

Сервисные программы для настройки и управления системой безопасности, в том числе средства обнаружения rootkit и охотники за программами-шпионами.

Сведения о системе

Сервисные программы для просмотра и настройки использования системных ресурсов.

Разное

Собрание разнообразных сервисных программ, в том числе заставок, средств представления и инструментов отладки.

ГИПЕРССЫЛКИ ОТ НАИМЕНОВАНИЙ ФАЙЛОВ (в развернутых описаниях) ведут к прикрепленным файлам, скчанным с офсайта Sysinternals 04.06.2009г.

Если что-то не запустилось (их очень мало) из-за непортабельности, скачайте с офсайта по крайней правой ссылке и после распаковки со своей рабочей средой все будет работать.

Файловые и дисковые программы

* AccessChk

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

* AccessEnum

Небольшая, но мощная программа для анализа безопасности. Выводит список пользователей и групп, у которых есть доступ к файлам, папкам и разделам реестра, благодаря чему можно искать уязвимости в настройках разрешений доступа.

* CacheSet

Программа CacheSet позволяет регулировать размер рабочего набора диспетчера кэша при помощи собственных функций NT. Совместима со всеми версиями ОС NT.

* Contig

Актуальна быстрая дефрагментация регулярно применяемых файлов? Программа Contig позволяет оптимизировать отдельные файлы и создавать новые, размещенные в смежных кластерах.

* DiskExt

Выводит данные о размещении разделов на дисках

* DiskMon

Эта служебная программа фиксирует все операции с жестким диском; кроме того, она может исполнять роль индикатора активности диска на панели задач.

* DiskView

Графическая программа анализа секторов дисков

* Disk Usage (DU)

Отображает использование места на диске по каталогам

* EFSDump

Просмотр сведений о зашифрованных файлах

* FileMon

Эта программа предназначена для отслеживания в режиме реального времени всей активности файловой системы.

* Junction

Создание символических ссылок NTFS в среде Win2K

* LDMDump

Позволяет выгружать из памяти содержимое БД диспетчера логических дисков, в которой описывается схема разметки динамических дисков Windows 2000.

* MoveFile

Планирование команд переименования и удаления на время следующей перезагрузки. Эта программа может быть полезной при удалении устойчивых и активных файлов вредоносных программ.

* NTFSInfo

Утилита NTFSInfo позволяет получить подробные сведения о томах NTFS, в том числе о размере и местоположении основной таблицы файлов (MFT) и зоны MFT, а также о размере файлов метаданных NTFS.

* PageDefrag

Дефрагментация файлов подкачки и кустов реестра!

* PendMoves

Просмотр списка файлов, удаление и переименование которых запланировано на момент следующей перезагрузки системы.

* Process Monitor

Эта программа позволяет в режиме реального времени отслеживать активность файловой системы, реестра, процессов, потоков и библиотек DLL.

* PsFile

Позволяет увидеть, какие файлы открыты удаленно.

* PsTools

В набор PsTools входят служебные программы командной строки, с помощью которых можно выводить список процессов, выполняющихся на локальном или удаленных компьютерах, осуществлять удаленный запуск процессов, перезагрузку компьютеров, вывод содержимого журналов регистрации событий и многое другое.

* SDelete

Позволяет перезаписать уязвимые данные и очистить свободное пространство от ранее удаленных файлов. Программа соответствует стандартам безопасности министерства обороны США.

* ShareEnum

Выполняет сканирование общих ресурсов в сети и позволяет просматривать их параметры безопасности для устранения уязвимостей.

* Sigcheck

Выводит информацию о версиях файлов и позволяет удостовериться, что образы в системе подписаны цифровой подписью.

* Streams

Отображает дополнительные потоки данных файловой системы NTFS.

* Sync

Сброс кэшированных данных на диск

* VolumeID

Назначение меток томов на дисках FAT или NTFS

Средства для работы с сетью

* AdRestore

Позволяет восстанавливать объекты службы Active Directory системы Server 2003

* PsFile

Позволяет увидеть, какие файлы открыты удаленно

* PsTools

В набор PsTools входят служебные программы с интерфейсом командной строки для вывода списка процессов, выполняющихся на локальных или удаленных компьютерах, удаленного запуска процессов, перезагрузки компьютеров, вывода содержимого журналов регистрации событий и т.д.

* ShareEnum

Позволяет выполнять сканирование общих файловых ресурсов сети и просматривать их параметры безопасности для устранения брешей в системе безопасности.

* TCPView

Средство с интерфейсом командной строки для просмотра активных сокетов.

* Whois

Позволяет узнать, кто является владельцем адреса в Интернете.

Процессы и потоки

* Программа Autoruns

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

* Программа Filemon

Эта программа предназначена для отслеживания в режиме реального времени всей активности файловой системы.

* Программа Handle

Эта программа для командной строки будет полезна для отображения перечня открытых процессами файлов и другой информации.

* Программа ListDLLs

Эта программа выводит перечень всех загруженных в данный момент библиотек DLL, их версии и пути, откуда они были загружены. Версия 2.0 выводит полные пути к загруженным модулям..

* Программа Portmon

Эта усовершенствованная программа предназначена для отслеживания активности последовательных и параллельных портов. Она поддерживает все стандартные команды управления (IOCTL) для последовательных и параллельных портов и даже отображает часть принимаемых и передаваемых данных. В версии 3.x представлены новые существенные улучшения пользовательского интерфейса и расширенные возможности фильтрования.

* Программа Process Explorer

Эта программа отображает файлы, разделы реестра, динамические библиотеки DLL и прочие объекты, открытые или загруженные различными процессами, и другую информацию, такую как владелец процесса.

* Программа Process Monitor

Эта программа позволяет в режиме реального времени отслеживать активность файловой системы, реестра, процессов, потоков и библиотек DLL.

* Программа PsExec

Эта программа позволяет удаленно запускать процессы.

* Программа PsKill

Эта программа позволяет завершать работу процессов как на локальной, так и на удаленной системе.

* Программа PsList

Эта программа выводит информацию о процессах и потоках.

* Программа PsService

Эта программа позволяет просматривать информацию о службах и управлять ими.

* Программа PsSuspend

Эта программа позволяет приостанавливать и продолжать работу процессов.

* Комплект программ PsTools

В набор PsTools входят служебные программы командной строки, с помощью которых можно выводить список процессов, выполняющихся на локальном или удаленных компьютерах, осуществлять удаленный запуск процессов, перезагрузку компьютеров, вывод содержимого журналов регистрации событий и многое другое.

* Программа Regmon

Эта программа предназначена для отслеживания в режиме реального времени всей активности реестра.

Безопасность

* Программа AccessChk (версия 3.0)

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

* Программа AccessEnum (версия 1.32)

Небольшая, но мощная программа для анализа безопасности. Выводит список пользователей и групп, у которых есть доступ к файлам, папкам и разделам реестра, благодаря чему можно искать уязвимости в настройках разрешений доступа.

* Программа Autologon

Предназначена для автоматического выполнения входа в систему без ввода пароля

* Программа Autoruns

Позволяет определить, какие приложения запускаются автоматически при загрузке системы и выполнении входа в систему. Также показывает полный перечень путей в реестре и на диске, где может быть настроен автоматический запуск приложений.

* Программа LogonSessions

Выводит список активных сеансов входа в систему.

* Программа NewSID

Эта бесплатная программа для смены идентификатора безопасности компьютера позволяет решить известную проблему с совпадением идентификаторов.

* Программа Process Explorer

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

* Программа PsExec

Позволяет запускать процессы с ограниченными правами пользователя.

* Программа PsLoggedOn

Выводит список пользователей, выполнивших вход в систему.

* Программа PsLogList

Выводит содержимое журналов событий.

* Комплект программ PsTools

В набор PsTools входят служебные консольные программы для вывода списка процессов, выполняющихся на локальных или удаленных компьютерах, удаленного запуска процессов, перезагрузки компьютеров, вывода содержимого журналов регистрации событий и т.д.

* Программа RootkitRevealer

Осуществляет поиск rootkit-программ.

* Программа SDelete

Позволяет перезаписать уязвимые данные и очистить свободное пространство от ранее удаленных файлов. Программа соответствует стандартам безопасности министерства обороны США.

* Программа ShareEnum

Выполняет сканирование общих ресурсов в сети и позволяет просматривать их параметры безопасности для устранения уязвимостей.

* Программа Sigcheck

Выводит информацию о версиях файлов и позволяет удостовериться, что образы в системе подписаны цифровой подписью

Сведения о системе

* Autoruns

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

* ClockRes

Показывает разрешение системных часов (это значение совпадает с максимальным разрешением таймера)

* Filemon

Эта программа предназначена для отслеживания в режиме реального времени всей активности файловой системы.

* Handle

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

* LiveKd

Отладчики ядра от корпорации Майкрософт упрощают анализ действующей системы.

* LoadOrder

Позволяет определить порядок загрузки драйверов устройств в системе WinNT/2K

* LogonSessions

Выводит список действующих сеансов входа в систему

* PendMoves

Выводит список команд переименования и удаления файлов, запланированных к исполнению при следующей перезагрузке

* Process Explorer

Эта программа отображает файлы, разделы реестра, динамические библиотеки DLL и прочие объекты, открытые или загруженные различными процессами, и другую информацию, такую как владелец процесса.

* Process Monitor

Эта программа позволяет в режиме реального времени отслеживать активность файловой системы, реестра, процессов, потоков и библиотек DLL.

* ProcFeatures

Выводит сведения о поддержке со стороны процессора и ОС Windows расширения физических адресов и защиты от переполнения буфера путем запрета исполнения.

* PsInfo

Выводит сведения о системе

* PsLoggedOn

Вывод списка пользователей, вошедших в систему

* PsTools

В набор PsTools входят служебные программы с интерфейсом командной строки для вывода списка процессов, выполняющихся на локальных или удаленных компьютерах, удаленного запуска процессов, перезагрузки компьютеров, вывода содержимого журналов регистрации событий и т.д.

* Regmon

Эта программа предназначена для отслеживания в режиме реального времени всей активности реестра.

* Winobj

Высокоэффективная программа для анализа пространства имен диспетчера объектов.

Разное

AD Explorer
Active Directory Explorer представляет собой продвинутое средство для просмотра и редактирования Active Directory (AD).

AdRestore
Восстанавливает случайно удаленные объекты Active Directory в доменах Server 2003.

Autologon
Предназначена для автоматического выполнения входа в систему без ввода пароля.
Эта полностью настраиваемая программа автоматически генерирует фоновые рисунки рабочего стола, включающие важную информацию о системе, такую как IP адреса, имя компьютера, сетевые адаптеры и многое другое.

BgInfo
This fully-configurable program automatically generates desktop backgrounds that include important information about the system including IP addresses, computer name, network adapters, and more.

BlueScreen
Эта экранная заставка не только очень точно симулирует голубой экран, но и способна также симулировать перезагрузку (полностью с CHKDSK), работает под Windows NT 4, Windows 2000, Windows XP, Server 2003 и Windows 9x.

Ctrl2cap
Программа представляет собой драйвер привилегированного режима, обеспечивающий фильтрацию входящего с клавиатуры сигнала до драйвера класса клавиатуры, что позволяет включать верхний регистр при нажатии контрольных клавиш. Фильтрация на этом уровне позволяет изменять и скрывать клавиши, прежде, чем NT даже "увидит" их. Ctrl2cap также показывает, как использовать NtDisplayString() для печати сообщений на голубом экране при инициализации.

DebugView
Еще одна новинка от Sysinternals: Эта программа перехватывает вызовы программы DbgPrint драйверами устройств и программы OutputDebugString программами Win32. Это позволяет просматривать и записывать выходные данные сеанса отладки на Вашей локальной машине или в Интернете без активного отладчика.

Desktops
This new utility enables you to create up to four virtual desktops and to use a tray interface or hotkeys to preview what’s on each desktop and easily switch between them.

Hex2dec
Программа конвертирует шестнадцатеричные числа в десятичные и наоборот.

PsLogList
Позволяет создавать копию записей журнала регистрации событий.

PsTools
В набор PsTools входят служебные консольные программы для вывода списка процессов, выполняющихся на локальных или удаленных компьютерах, удаленного запуска процессов, перезагрузки компьютеров, вывода содержимого журналов регистрации событий и т.д.

RegDelNull
Сканирует и удаляет ключи реестра, содержащие некорректные символы, которые невозможно удалить обычными средствами редактирования реестра.

RegJump
Программа переводит Вас по пути, указанному в Regedit.

Strings
Поиск строк в формате ANSI и Юникод в двоичных образах.

ZoomIt
Служебная программа для презентаций, используемая для масштабирования изображения на экране.

AccessChk (версия 3.0)

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 27 февраля 2007 г.

Введение

Чтобы удостовериться, что созданная рабочая среда ОС Windows хорошо защищена, администраторам часто необходимо знать, какие права доступа имеют конкретные пользователи или группы к ресурсам — файлам, каталогам, разделам реестра и службам ОС Windows. Интуитивно понятные интерфейс и выводимые данные программы AccessChk позволяют легко решить эту задачу.

Установка

AccessChk — консольная программа. Скопируйте ее в любую из папок, в которых система ищет исполняемые файлы. Введите “accesschk” — это отобразит синтаксис использования.

Программа AccessChk работает в операционных системах Windows Vista, Win2K, Windows XP и Server 2003, включая 64-разрядные версии.

Использование

синтаксис: accesschk [-s][-e][-r][-w][-n][-v][[-k][-p][-c]|[-d]] [имя пользователя] <имя пользователя> <файл, каталог, раздел реестра, служба>

-c | В качестве имени указана служба Windows, например ssdpsrv (укажите “*” для вывода на экран всех служб)
-d | Обрабатывать только каталоги
-e | Выводить только явным образом заданные уровни целостности (только для ОС Windows Vista)
-k | В качестве имени указан раздел реестра, например hklm\software
-n | Выводить только объекты, не имеющие правил доступа
-p | В качестве имени указано имя или идентификатор процесса (PID), например cmd.exe (укажите в качестве имени “*”, чтобы вывести на экран все процессы)
-q | Опустить заголовок
-r | Выводить только объекты, к которым есть право доступа на чтение
-s | Рекурсивная обработка
-v | Выводить подробную информацию (включая уровень целостности ОС Windows Vista)
-w | Выводить только объекты, к которым есть право доступа на запись

Если указано имя пользователя или группы, программа AccessChk выведет действующие права доступа для этой учетной записи, в противном случае — дескриптор безопасности целиком. По умолчанию путь трактуется как путь файловой системы. Для каждого объекта программа AccessChk выводит символ R, если данная учетная запись имеет право доступа для чтения, W — если есть право доступа для записи, и ничего не выводит при отсутствии обоих прав. Ключ -v приводит к выводу конкретных прав доступа, предоставленных какой-либо учетной записи.

Примеры

Следующая команда выводит отчет о правах доступа учетной записи “Опытные пользователи” к файлам и каталогам, расположенным в каталоге \Windows\System32:

accesschk "Опытные пользователи" c:\windows\system32

Эта команда выводит на экран список служб, к которым группе “Пользователи” предоставлено право доступа на запись:

accesschk пользователи -cw *

Для просмотра входящих в HKLM\CurrentUser разделов реестра, к которым у конкретной учетной записи нет прав доступа:

accesschk -kns austin\mruss hklm\software

Для просмотра параметров доступа к разделу реестра HKLM\Software:

accesschk -k hklm\software

Для просмотра всех находящихся в каталоге \Users\Mark файлов под управлением ОС Vista, которые имеют явным образом указанный уровень целостности:

accesschk -e -s c:\users\mark

Загрузить программу AccessChk (46 КБ)

Ссылки по теме

* AccessEnum
Поиск уязвимостей в настройках разрешений доступа.

* LogonSessions
Выводит список активных сеансов входа в систему.

* PsLoggedOn
Выводит список пользователей, выполнивших вход в систему.

* ShareEnum
Поиск уязвимостей в общих сетевых ресурсах.

AccessEnum (версия 1.32)

Автор: Брайс Когсвелл (Bryce Cogswell)

Опубликовано 1 ноября 2006 г.

Введение

Гибкая модель безопасности операционных систем Windows на основе технологии NT позволяет в полной мере управлять безопасностью и правами доступа к файлам. Однако распределение прав таким образом, чтобы все пользователи имели надлежащий доступ к файлам, каталогам и разделам реестра, может оказаться сложной задачей. Встроенного в систему способа быстрого просмотра прав доступа пользователей к дереву каталогов или разделов реестра не существует. Программа AccessEnum за несколько секунд создает детальный отчет по параметрам безопасности файловой системы и реестра, что делает ее идеальным инструментом для поиска брешей в системе безопасности и определения излишних прав доступа, которые следует снизить.

Об использовании программы AccessEnum читайте в статье Марка в журнале Windows IT Pro Magazine.

AccessEnum работает в операционных системах Windows NT/2000/XP/2003.

Принцип работы

В программе AccessEnum для заполнения списка информацией о правах доступа на чтение и запись, а также об отказе в доступе используются стандартные API-интерфейсы подсистемы безопасности ОС Windows.

Загрузить программу AccessEnum (51 КБ)

Ссылки по теме

* AccessChk
Поиск пользователей с правами доступа.

* LogonSessions
Выводит список активных сеансов входа в систему.

* PsLoggedOn
Выводит список пользователей, выполнивших вход в систему.

* ShareEnum
Поиск уязвимостей в общих сетевых ресурсах.

CacheSet v1.0

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 1 ноября 2006г.

Введение

CacheSet — это приложение, позволяющее управлять параметрами рабочего набора кэша файлов системы. В отличие от CacheMan, CacheSet работает во всех версиях ОС NT и будет работать без изменений в последующих выпусках пакетов обновления. Помимо контроля минимального и максимального размеров рабочего набора, эта программа позволяет сбрасывать рабочий набор кэша таким образом, что впоследствии он увеличивается в размере по требованию с заданной исходной точки. Есть и другое отличие от CacheMan: изменения размера кэша, внесенные при помощи CacheSet, вводятся в действие незамедлительно. Вместе с приложением поставляется его полный исходный код.

Программа CacheSet помогает настроить производительность размера кэша системы путем коррекции внутренних переменных.

Примечание. Для эксплуатации CacheSet в NT 4.0 с пакетом обновления 4 и в последующих версиях этой ОС необходима привилегия «Increase Quota» (Увеличение квоты) (в учетных записях администраторов эта привилегия предусмотрена по умолчанию). Обновление программы CacheSet позволяет задействовать эту привилегию при наличии пакета обновления SP4

Установка и применение

Программа CacheSet работает во всех выпущенных версиях NT. После запуска программа выводит текущий размер кэша файлов системы (он обновляется два раза в секунду) и его пиковый размер (максимальное значение с момента последней перезагрузки); кроме того, она позволяет установить новый минимальный и максимальный размеры рабочего набора.

Установка новых размеров
Указав новые значения минимального и максимального размеров, нажмите кнопку «Применить». Возникновение ошибки свидетельствует об одном из следующих обстоятельств: введенный максимум меньше минимума; введенный минимум меньше минимально допустимого размера рабочего набора системы; введенный максимум больше максимально допустимого размера рабочего набора системы. Измените введенные значения и повторите попытку.

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

Сброс предыдущих значений
Можно в любое время восстановить рабочий набор значений Cache, который был активным при последнем запуске CacheSet, путем нажатия кнопки «Reset» (Сброс).

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

Интерфейс командной строки
позволяет указать значения минимального и максимального размеров рабочего набора в командной строке CacheSet. CacheSet введет новые значения в действие без подтверждения. Следовательно, программу CacheSet можно ввести в группу программ «Start» (Пуск), и в этом случае каждый раз при загрузке размер кэша будет устанавливаться автоматически.

Синтаксис: CacheSet [минимальный размер рабочего набора] [максимальный размер рабочего набора]

Принцип работы

В программе CacheSet вызов функции NtQuerySystemInformation применяется для получения данных о настройках кэша, а функции NtSetSystemInformation — для установки новых размеров. Исходя из сведений о рабочем наборе процесса диспетчер памяти NT принимает решение о том, сколько страниц физической памяти следует передать приложению. В связи с этим в определенных условиях диспетчер памяти может увеличить рабочий набор сверх максимума или, наоборот, сократить ниже минимума. В то же время, параметры определяют общие принципы распределения памяти, а значит, и скорость отклика приложения. Применительно к CacheSet в роли приложения выступает кэш файловой системы.

NtSetSystemInformation осуществляет внутренний вызов функции MmAdjustWorkingSetSize, которая либо увеличивает, либо уменьшает рабочий набор приложения. Если функции MmAdjustWorkingSetSize передается третий параметр, равный единице, корректируется рабочий набор системного кэша; в противном случае выполняется коррекция текущего процесса (информационные вызовы системы распространяются только на системный кэш). Передача значений минимального и максимального размера, равных -1, приводит к выполнению функцией MmAjustWorkingSetSize операции очистки рабочего набора — иными словами, из рабочего набора приложения освобождаются все страницы.

Брешь в системе защиты

Интересно, что для вызова интерфейса CacheSet не требуется особых привилегий. Таким образом, запустить программу CacheSet позволяет даже гостевая учетная запись. Трудно поспорить с тем, что это очевидная брешь в системе защиты, благодаря которой вносить изменения в политику регулировки размера системного кэша может каждый.

Обновление. В пакете обновления 4 для NT 4.0 указанная брешь устранена — теперь для внесения изменений в рабочий набор кэша необходима привилегия «Increase Quota» (Увеличение квоты). Во всех учетных записях пользователей и групп административного уровня эта привилегия предусмотрена по умолчанию.

Загрузить CacheSet (44 КБ)

Contig v1.54

By Mark Russinovich

Опубликовано 21 марта 2007 г.

Введение

На бесплатной основе распространяется великое множество программ дефрагментации диска для NT, среди них можно выделить, например, Winternals Defrag Manager. Эти программы эффективно выполняют задачу общей дефрагментации дисков. В то же время, некоторые файлы, которые следовало бы дефрагментировать, находятся на дисках вне сферы действия таких программ. Кроме того, довольно сложно организовать дефрагментацию отдельных регулярно применяемых файлов — в силу особенностей применяемых алгоритмов дефрагментации они могут оставаться во фрагментированном состоянии. Наконец, даже если все файлы были дефрагментированы, ситуация может быстро измениться в результате последующего редактирования критических файлов. Лишь повторная комплексная дефрагментация способна привести файлы в желаемое состояние.

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

Установка и применение

Программа Contig работает в среде NT 4.0 и в более поздних версиях этой ОС. Она позволяет, во-первых, дефрагментировать существующий файл, а, во-вторых, создать новый файл указанного размера и имени, оптимизировав его размещение на диске. Contig обращается к стандартным интерфейсам API, применяемым в Windows для дефрагментации; поэтому повреждение диска исключено даже при закрытии программы во время выполнения ею операций.

Для смежного размещения фрагментов существующего файла нужно запустить программу Contig следующим образом.

Синтаксис: contig [-v] [-a] [-q] [-s] [имя_файла]

Параметр -v предназначен для вывода информации об операциях дефрагментации файла, выполненных программой Contig. Чтобы ознакомиться с текущим состоянием фрагментации файла или файлов, воспользуйтесь параметром -a — в результате программа Contig проведет анализ фрагментации. Параметр -s позволяет провести рекурсивную обработку подкаталогов исходя из указанного имени с шаблонами. К примеру, чтобы дефрагментировать все DLL-файлы в каталоге c:\winnt, следует ввести команду «contig -s c:\winnt\*.dll». Параметр -q, который переопределяет параметр -v, переводит программу Contig в «молчаливый» режим, в котором в процессе дефрагментации выводится только итоговая сводка.

Для создания нового файла, дефрагментированного непосредственно в процессе создания, вызовите программу Contig следующим образом.

Синтаксис: contig [-v] [-n имя_файла длина]

Принцип работы

Программа Contig обращается к собственные средствам дефрагментации Windows NT, впервые реализованным в версии NT 4.0 (дополнительные сведения см. в моих документах по API-интерфейсам дефрагментации). В первую очередь проводится проверка диска для сбора данных о местоположении и размере свободных областей. Затем определяется местоположение искомого файла. После этого программа Contig исследует возможность оптимизации файла исходя из наличия свободных областей и числа фрагментов, из которых файл состоит в данный момент. Если возможность оптимизации файла существует, он перемещается в свободные области диска.

Дополнительные сведения

Прекрасный обзор пространства имен диспетчера объектов содержится в работе Хелен Кастер (Helen Custer) «Внутреннее устройство Windows NT», еще один высококачественный материал по этой теме представлен в колонке Марка Руссиновича в журнале Windows NT Magazine за октябрь 1997 («Устройство диспетчера объектов»).

Загрузить Contig (55 КБ)

DiskExt 1.0

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 1 ноября 2006 г.

Введение

Программа DiskExt демонстрирует работу команды IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS, которая возвращает данные о распределении разделов тома по дискам (тома с несколькими разделами могут быть размещены на нескольких дисках) и размещении разделов на этих дисках.

Загрузить DiskExt (40 КБ)

DiskMon для Windows 2.01 для 2000/XP/2K3

HELP 2000/XP/2K3

Diskmon для Windows NT 4

HELP NT

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 1 ноября 2006 г.

Введение

DiskMon — это приложение, которое регистрирует и выводит сведения обо всех операциях с жестким диском, осуществляемых в системе Windows. Программу DiskMon можно свернуть в значок на панели задач, который исполняет роль индикатора диска: зеленый цвет обозначает операции чтения с диска, а красный — операции записи.

Программа DiskMon работает в NT 4.0 и в более поздних версиях ОС.

Установка и применение

Для установки программы DiskMon достаточно распаковать ее архив и ввести команду diskmon. В среде Windows NT графический интерфейс выполняет динамическую загрузку драйвера (на основе кода в образце instdrv из пакета DDK Windows NT), который приступает к слежению за работой всех жестких дисков. Для Windows 2000 и более поздних версий ОС компонент драйвера не предусмотрен — для получения данных об операциях с диском графический интерфейс обращается к средствам отслеживания событий ядра. Пункты меню и кнопки на панели инструментов позволяют включать и выключать фиксацию событий, управлять прокруткой списка и сохранять содержимое списка в ASCII-файле.

Для перевода программы DiskMon в режим индикатора диска на панели задач выберите команду Minimize to Tray (Свернуть в панель задач) в меню Options (Параметры) или вызовите DiskMon из командной строки с параметром /l (L в нижнем регистре) — «diskmon /l». Чтобы восстановить окно DiskMon, дважды щелкните значок DiskMon на панели задач. Чтобы создать ярлык программы Diskmon, создайте ярлык в папке Program Files\Startup, откройте его свойства ярлыка и введите в поле «Объект» путь к исполняемому файлу в кавычках, а параметр — вне кавычек:

«C:\Sysinternals Tools\Diskmon.exe» /l

Величины смещения чтения и записи указываются по секторам (по 512 байт). События могут идентифицироваться по продолжительности (в микросекундах) или снабжаться метками абсолютного времени запуска. В диалоговом окне «History Depth» (Глубина регистрации) можно указать максимальное количество записей, хранящихся в графическом интерфейсе (значение «0» снимает любые ограничения).

Реализация в среде Windows NT 4

Стандартные методики фильтрации не позволяют динамически загружаемым драйверам, таким как DiskMon, прикрепляться к объектам жесткого диска и просматривать запросы, отправляемые из файловых систем. Дело в том, что драйверы файловой системы открывают дисковые устройства в ходе инициализации системы и, в отличие от диспетчера ввода-вывода, отправляют IRP этим устройствам напрямую. Диспетчер ввода-вывода допускает прикрепление драйверов-фильтров файловой системы к устройствам этой системы после инициализации; это связано с тем, он проводит проверку подключенных устройств перед каждой попыткой отправки IRP файловой системе и имеет возможность перенаправления IRP.

Программа DiskMon обходит это ограничение благодаря моей собственной методике перехвата функций драйверов. DiskMon находит объект драйвера дискового устройства и заменяет его точки входа диспетчеризации своими собственными. Функции фильтрации DiskMon передают обнаруживаемые запросы IRP подключенному драйверу и перехватывают процедуры завершения так, чтобы получить доступ к результатам обработки запросов.

Реализация в среде Windows 2000 и последующих версиях ОС

В Windows 2000 и более поздних версиях ОС программа обращается к средствам отслеживания событий ядра. Документация по отслеживанию событий содержится в комплекте разработчика Platform Microsoft; там же имеется исходный код программы TraceDmp, на которой основана Diskmon.

Загрузить Diskmon для Windows NT 4 (68 КБ)

Загрузить Diskmon для Windows 2000/XP/2K3 (80 КБ)

DiskView 2.21

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 1 ноября 2006 г.

Введение

Программа DiskView выводит графическую схему диска, на которой можно определить местоположение файла или узнать, какой файл занимает те или иные кластеры (для этого нужно щелкнуть кластер мышью). Двойной щелчок позволяет получить более подробную информацию о файле, которому выделен кластер. Программа Diskview работает в ОС Windows NT 4, 2000, XP и Server 2003.

Загрузить DiskView (88 КБ)

Disk Usage 1.31

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 1 ноября 2006 г.

Введение

Программа Du (disk usage) выводит сведения об использовании дискового пространства в указанном каталоге. По умолчанию она выполняет рекурсивный просмотр каталога и указывает его общий размер, а также размер его подкаталогов.

Применение

Синтаксис: du [[-v] [-l ] | [-n]] [-q] (файл или каталог)

-l | Глубина получения данных о подкаталогах (по умолчанию – все уровни)
-n | Без рекурсии
-q | Без вывода объявления
-v | Вывод информации в промежуточном каталоге

Загрузить Du (41 КБ)

EFSDump 1.02

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 1 ноября 2006 г.

Введение

В ОС Windows 2000 реализована файловая система EFS, помогающая пользователям защищать конфиденциальные данные. В поддержку этой возможности появился ряд новых интерфейсов API, один из которых, QueryUsersOnEncryptedFile, позволяет получать списки пользователей, имеющих доступ к зашифрованным файлам. С помощью этого интерфейса программа EFSDump выводит список учетных записей, уполномоченных обращаться к зашифрованным файлам.

Синтаксис: efsdump [-s] <файл или каталог>

-s

Рекурсия подкаталогов.

Программа EFSDump поддерживает шаблоны (например, 'efsdump *.txt').

Загрузить EFSDump (39 КБ)

FileMon для Windows (версия v7.04)

HELP

Авторы: Марк Руссинович (Mark Russinovich) и Брайс Когсуэлл (Bryce Cogswell)

Опубликовано 11 января 2006 г.

Введение

Примечание. Программы Filemon и Regmon заменены одной программой Process Monitor в версиях Windows, начиная с Windows 2000 SP4, Windows XP SP2, Windows Server 2003 SP1 и Windows Vista. Однако программы Filemon and Regmon оставлены для поддержки устаревших операционных систем, включая и Windows 9x.

Программа FileMon отслеживает и отображает в реальном времени все операции с файловой системой. Ее богатые возможности делают ее мощным инструментом, позволяющим наблюдать, как работает система Windows, отслеживать, как приложения используют файлы и библиотеки DLL, а также решать проблемы, связанные с настройкой файлов системы или приложений. Программа Filemon точно отмечает время выполнения операций открытия, чтения, записи или удаления файла или каталога. В столбце состояния выводится результат выполнения каждой из этих операций. Программа FileMon так проста в использовании, что вы станете экспертом за считанные минуты. Она начинает отслеживание сразу после запуска, а ее выходные данные можно сохранить в файл для автономного просмотра. В программе реализованы все возможности для поиска, а если вам кажется, что она выводит слишком много информации, просто настройте один или несколько фильтров.

Программа FileMon работает в системах NT 4.0, Windows 2000, Windows XP, Windows XP и Windows Server 2003 64-bit Edition, Windows 2003 Server, Windows 95, Windows 98 и Windows ME.

Установка и использование

При возникновении вопросов или проблем посетите форум компании Sysinternals, посвященный программе Filemon.

Просто запустите программу FileMon (filemon.exe). Для этого необходимо иметь права администратора. Когда программа запускается в первый раз, она отслеживает все локальные жесткие диски. Чтобы очистить окно программы, выбрать или удалить тома для наблюдения, включая сетевые тома (Windows NT/2K/XP), сохранить полученные данные в файл, а также отфильтровать выходные данные или выполнить по ним поиск, можно воспользоваться командами меню, сочетаниями клавиш или кнопками панели инструментов.

Если при последнем запуске FileMon были настроены какие-либо фильтры, при следующем запуске программа попросит подтвердить их использование. Чтобы запустить FileMon без запроса подтверждения, достаточно указать в командной строке параметр /q. После запуска программа автоматически начинает регистрировать операции с файловой системой. Чтобы запустить FileMon, отключив запись операций, нужно указать в командной строке параметр /o.

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

Каждый раз, когда вы выходите из FileMon, программа запоминает настроенные фильтры, положение окна и ширину столбцов выходных данных.

Фильтрация

В диалоговом окне «Filter» (Фильтр), которое открывается с помощью кнопки на панели инструментов или команды меню «Edit|Filter/Highlight» (Правка|Фильтр/Выделение), можно указать, какие данные должны отображаться в списке. Знак подстановки «*» соответствует произвольной строке; фильтры не зависят от регистра букв. В списке отображаются только те данные, которые определены во включающем фильтре и при этом не определены в исключающем фильтре. Строки в фильтре разделяются точкой с запятой, например: «filemon;temp». Примечание для Windows NT и 2000. Поскольку ввод и вывод для файловой системы выполняются асинхронно, фильтрацию по полю результатов выполнить нельзя.

Например, если настроены включающий фильтр «c:\temp» и исключающий фильтр «c:\temp\подкаталог», программа будет отслеживать обращения ко всем файлам и каталогам в папке c:\temp, за исключением тех, которые находятся в папке c:\temp\подкаталог.

С помощью знаков подстановки можно задавать сложные образцы для сопоставления, что позволяет, к примеру, отслеживать обращения к конкретным файлам со стороны конкретных приложений. Так, если настроен включающий фильтр «Winword*Windows», программа FileMon будет показывать только обращения приложения Microsoft Word к файлам и каталогам, в имени которых есть слово «Windows».

С помощью фильтра выделения можно указать, какие строки в списке следует выделить цветом. Цвета для выделения задаются с помощью пункта меню «Edit|Highlight Colors» (Правка|Цвета выделения).

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

Выбор томов (Windows NT/2K/XP/2K3)

Для выбора или исключения томов для отслеживания необходимо использовать меню «Volumes» (Тома). Чтобы отслеживать доступ к любым сетевым ресурсам, включая удаленные общие папки и доступ по пути UNC к удаленным томам, можно воспользоваться пунктом «Network» (Сеть) этого меню.

Ограничение объема выходных данных

Диалоговое окно «History Depth» (Число записей), которое можно открыть с помощью соответствующей кнопки на панели инструментов или пункта меню «Edit|History» (Правка|Записи), позволяет указать максимальное количество строк в окне вывода. Значение 0 означает отсутствие ограничений.

Поиск по выходным данным

Выполнить поиск нужных строк в окне вывода можно с помощью команды меню «Find» (Поиск) или соответствующей кнопки на панели инструментов. Поиск в прямом направлении можно повторять с помощью клавиши F3, а в обратном — с помощью сочетания клавиш Shift+F3. Чтобы начать поиск с конкретной строки выходных данных, необходимо выделить ее, щелкнув самое левое поле этой строки (порядковый номер). Если ни одна строка не выделена, новый поиск начинается с первой (при выполнении поиска сверху вниз) или последней (при выполнении поиска снизу вверх) записи.

Параметры

Программа FileMon может показывать либо время выполнения операций, либо их длительность. Меню «Options» (Параметры) и кнопка с изображением часов на панели инструментов позволяют переходить из одного режима в другой. В зависимости от текущего режима на панели инструментов изображается значок часов или секундомера. Если установлен режим показа длительности операции, то значение в поле «Time» (Время) соответствует числу секунд, которое потребовалось файловой системе для обслуживания конкретного запроса. Команда меню «Options|Show Milliseconds» (Параметры|Показывать миллисекунды) позволяет отображать время с точностью до миллисекунд.

Чтобы окно FileMon всегда отображалось поверх остальных окон, достаточно выбрать команду меню «Options|Always On Top» (Параметры|Поверх остальных окон). Кроме того, с помощью команды меню «Options|Auto Scrol» (Параметры|Автопрокрутка) или соответствующей кнопки на панели инструментов можно указать, чтобы список в окне FileMon не прокручивался.

Именованные каналы и каналы передачи сообщений электронной почты

Начиная с версии 4.1, программа FileMon может отслеживать операции файловой системы с именованными каналами и каналами передачи сообщений электронной почты для Windows NT/2K Именованные каналы обычно используются в качестве механизма взаимодействия в основных подсистемах NT/Win2K, таких как подсистема локального администратора безопасности (LSASS). Модель DCOM также использует именованные каналы. Кроме того, с ними работают и сетевые компоненты, например служба обозревателя. Чтобы увидеть операции с именованными каналами с помощью FileMon, достаточно выбрать в меню «Drives» (Диски) пункт «Named Pipes» (Именованные каналы), а затем выполнить какую-нибудь операцию на общем сетевом ресурсе или открыть приложение, такое как Regedt32, которое взаимодействует с подсистемой безопасности.

Принцип работы FileMon

Для драйвера Windows 9x в основе работы FileMon лежит драйвер виртуального устройства Filevxd.vxd. Он загружается динамически, а в ходе своей инициализации устанавливает с помощью службы VxD фильтр файловой системы IFSMGR_InstallFileSystemApiHook, что позволяет ему встроиться в цепочку вызовов всех запросов к файловой системе. В ОС Windows NT в основе работы FileMon лежит драйвер файловой системы, который создает объекты устройств фильтра и привязывает их к конечным объектам устройств файловой системы, что позволяет программе просматривать все запросы IRP и FastIO, направляемые дискам. Когда программа FileMon регистрирует запрос на открытие, создание или закрытие файла или каталога, она обновляет внутреннюю хэш-таблицу, которая представляет собой список соответствий между внутренними дескрипторами файлов и путями к этим файлам. Если же выполняется какой-то вызов на основе дескриптора, программа ищет в таблице запись для этого дескриптора, чтобы вывести соответствующий полный путь к файлу. Если файл, на который ссылается дескриптор, был открыт до запуска FileMon, соответствующая запись в хэш-таблице не будет найдена, и тогда программа просто выведет значение дескриптора.

Информация о доступе к файловой системе записывается в формате ASCII в буфер, который периодически копируется в список, отображаемый в окне программы.

Дополнительные сведения

Ниже перечислены дополнительные источники информации о файловой системе Windows 9x:

* Пакет DDK для Windows 95/98;

* Марк Руссинович и Брайс Когсуэлл, «Исследование многослойной файловой системы Windows 95», Dr. Dobb's Journal, декабрь 1995;

* Вальтер Ани (Walter Oney), «Системное программирование для Windows 95», Microsoft Press, 1996 (эту книгу должен прочитать каждый программист VxD);

* Стэн Митчелл (Stan Mitchell), «Внутреннее устройство файловой системы Windows 95», O'Reilly and Associates, 1996.

Ниже приведен список источников информации о файловой системе Windows NT/2000 и (или) программе FileMon:

* Дэвид Соломон (David Solomon) и Марк Руссинович, «Внутреннее устройство Windows 2000, третье издание», 2000;

* Марк Руссинович и Брайс Когсуэлл, «Исследование файловой системы Windows NT», Dr. Dobb's Journal, февраль 1997;

* «Служебные программы Windows NT: взгляд изнутри», Windows NT Magazine, февраль 1999;

* Раджив Нагер (Rajeev Nagar), «Внутреннее устройство файловой системы Windows NT», O'Reilly and Associates, 1997.

Статьи о программе Filemon в базе знаний Майкрософт

В следующих статьях из базы знаний Майкрософт упоминается об использовании программы Filemon для диагностики или устранения различных ошибок:

* 830903: При попытке открыть файл в сетевой папке он оказывается доступным только для чтения или выводится сообщение о том, что не удается распознать тип файла

* 319844: ACC2002, сообщение об ошибке: компоненту ActiveX не удается создать объект

* 830761: Рекомендации по развертыванию приложений Visual Basic 6.0

* 837932: При входящей репликации службы каталогов Active Directory в Windows 2000 Server и Windows Server 2003 регистрируются события 2108 и 1084

* 819612: ИСПРАВЛЕНИЕ: низкая производительность при удалении вычислителя возможностей обозревателя из кэша

* 286198: ИНСТРУКЦИИ: как отслеживать ошибки «Отказано в разрешении» для файлов библиотек DLL

* 308940: ИНСТРУКЦИИ: как устранять ошибки 1928 «Ошибка при регистрации приложения COM+»

* 814774: ИНСТРУКЦИИ: как устранять неполадки при развертывании веб-узла в Microsoft Content Management Server 2002

* 198038: ИНФОРМАЦИЯ: полезные инструменты для решения проблем, возникающих при создании и развертывании пакетов

* 319440: Задержки при входе по медленному соединению в том случае, если для файла политики не предоставлена нежесткая блокировка

* 260513: PRB: ошибка при установке продуктов Visual Studio

* 306269: PRB: ошибка 80004005 «Обработчику баз данных Microsoft Jet не удается открыть файл «(нет данных)»»

* 306386: PRB: программа FileMon показывает, что библиотеке DAO360.dll не удается загрузить MSJet49.dll, MSJet48.dll и другие файлы MSJetxx.dll

* 243583: PRB: не удается установить пакет Visual Studio из-за файла Mib.bin

* 310586: Экземпляр Exchange MSSearch не переходит в оперативный режим на кластере и при этом регистрируются события с кодом 3055 и 10006

* 555069: Десять параметров безопасности, которые могут привести к возникновению проблем в Microsoft Windows XP Professional Edition и Microsoft Windows Server 2003

* 196453: Исправление ошибок запуска NTVDM и WOW

* 318746: XADM, сообщение об ошибке: ошибка 123. Неверное имя файла или каталога либо неверный синтаксис метки тома

* 296136: XADM: при заполнении хранилища почтовых ящиков появляются сообщения о событиях 3036 и 3026

* 830075: Программа Winmgmt.exe использует ресурсы ЦП более интенсивно, чем ожидалось

* 867651: Не удается добавить сертификат TLS на компьютере, на котором запущен сервер Office Live Communications Server 2003

* 319844: При работе с Access возникает ошибка «Компоненту ActiveX не удается создать объект»

Загрузите программу Filemon (280 КБ)

Примечание: Это средство заменено программой Process Monitor.

Другие служебные программы

Ниже приведен перечень других средств наблюдения за системой, опубликованных на веб-узле Sysinternals:

* RegMon — монитор реестра;

* PortMon — монитор доступа к последовательным и параллельным портам;

* Process Monitor — монитор процессов и потоков;

* DiskMon — монитор работы жестких дисков;

* DebugView — монитор вывода отладочной информации.

Junction 1.04

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 1 ноября 2006 г.

Введение

В Windows 2000 и последующих версиях ОС поддерживаются символические ссылки на каталоги — иными словами, один каталог компьютера может исполнять роль символической ссылки на другой каталог. К примеру, если в свойствах каталога D:\SYMLINK указан целевой объект C:\WINNT\SYSTEM32, то любое приложение, обращающееся к D:\SYMLINK\DRIVERS, на самом деле получает доступ к C:\WINNT\SYSTEM32\DRIVERS. Символические ссылки на каталоги в терминологии Windows называются точками соединения NTFS. К сожалению, в составе ОС Windows не предусмотрены средства создания точек соединения — приходится покупать комплект Win2K Resource Kit, в котором есть специальная программа linkd. По этой причине я решил создать собственную программу для создания точек соединения — Junction. Программа Junction позволяет не только создавать точки соединения NTFS, но и проверять, исполняют ли те или иные файлы и каталоги роль точек повторной обработки. Точки повторной обработки — это механизм, на основе которого реализуются точки соединения NTFS. Кроме того, точки повторной обработки задействуются службой съемных носителей Windows (RSS) и точками подключения томов.

Инструкции по работе с точками соединения содержатся в этой статье базы знаний Майкрософт.

Создание точек соединения с каталогами, расположенными в удаленных общих папках, в среде Windows не поддерживается.

Для просмотра сведения о повторной обработке вызовите программу Junction следующим образом.

Синтаксис: junction [-s] <имя каталога или файла>

-s

Рекурсия подкаталогов.

Чтобы создать или удалить точку соединения, запустите программу Junction так.

Синтаксис: junction [-d] <каталог с точкой соединения> [<объект соединения>]

Чтобы удалить точку соединения, используйте параметр -d и укажите имя этой точки.

Загрузить Junction (41 КБ)

LDMDump 1.02

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 1 ноября 2006 г.

Введение

В ОС Windows 2000 реализован новый тип схемы разметки дисков, которая управляется компонентом под именем диспетчера логических дисков (LDM). В базовых дисках применяются стандартные таблицы разделов, унаследованные от DOS, а в динамических дисках – LDM. Разметка дисков LDM обладает рядом преимуществ по сравнению с разметкой DOS, среди которых репликация на нескольких дисках и хранение на дисках дополнительных данных конфигурации томов (для формирования составных, зеркальных и чередующихся томов, а также томов RAID-5). Более подробно эти схемы разметки описаны в моей статье из двух частей о средствах управления носителями в Windows NT/2000 (журнал Windows 2000 Magazine, март-апрель).

Помимо оснастки MMC «Управление дисками» и утилиты dmdiag из комплекта Windows 2000 Resource Kit, средств анализа внутренних характеристик дисковой базы данных LDM, описывающей схему разметки в системе, не существует. Программа LDMDump предназначена для анализа содержимого копии системной БД LDM, хранящейся на диске. Программа LDMDump выводит содержимое частного заголовка БД LDM, содержания и базы данных объектов (в которой хранятся определения разделов, компонентов и томов) и суммирует обнаруженные данные в виде таблицы разделов и перечня томов.

LDMDump работает в среде Windows 2000.

Установка и применение

Для запуска программы LDMDump достаточно передать ей идентификатор диска.

Синтаксис: ldmdump [- ] [-d#]

-

Вывод списка поддерживаемых параметров и единиц измерения для вывода данных.

-d#

Номер диска, который программа LDMDump должна проанализировать. К примеру, при вызове команды «ldmdump /d0» программа LDMDump выводит данные из базы LDM, хранящейся на диске 0.

Принцип работы

Опубликованных интерфейсов API, позволяющих извлекать подробные сведения о разметке LDM диска, не существует, а формат БД LDM совершенно не документирован. Программа LDMDump была разработана по результатам исследования содержимого баз данных LDM в разных системах и условиях.

Дополнительные сведения

Более подробная информация о структуре LDM на диске имеется в издании:

* Принципы управления носителями, часть 2 (Марк Руссинович, журнал Windows 2000 Magazine, апрель 2000).

Описание процедуры сохранения расширенных данных о томах в среде Windows NT 4.0 см. в статье:

* Устройство раздела Disk

Загрузить LDMDump (43 КБ)

Поддержка операционных систем

LDMDump работает в среде Windows 2000.

Программы PendMoves (версия 1.1) и MoveFile (версия 1.0)

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 1 декабря 2006 г.

Введение

Некоторым приложениям (в частности, исправлениям и пакетам обновления) бывает нужно заменить файл, применяемый в данный момент. В расчете на такие случаи в ОС Windows предусмотрен прикладной программный интерфейс MoveFileEx, который позволяет вызывающей стороне запланировать переименование или удаление файла при следующей загрузке системы, до выстраивания системы ссылок с участием этого файла. Для выполнения этой операции диспетчер сеансов считывает зарегистрированные команды переименования и удаления из значения реестра HKLM\System\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations.

Это приложение выводит из памяти содержимое обрабатываемого значения операции переименования или удаления, а в случае недоступности исходного файла составляет отчет об ошибке. Вот пример выходных данных; в данном случае планируется удаление при следующей перезагрузке временного файла установки:

C:\>pendmovesPendMove v1.02

Copyright (C) 2004 Mark Russinovich

Sysinternals - wwww.sysinternals.com

Source: C:\Config.Msi\3ec7bbbf.rbf
Target: DELETE

Служебная программа MoveFile позволяет планировать исполнение при следующей перезагрузке команд перемещения и удаления:

usage: movefile [source] [dest]Specifying an empty destination ("") deletes the source at boot.

Ниже приводится пример удаления файла test.exe:

movefile test.exe ""

Загрузить программы PendMoves и MoveFile (74 КБ)

NTFSInfo 1.0

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 1 ноября 2006 г.

Введение

NTFSInfo — это небольшая программа, выводящая сведения о томах NTFS. В ее выходных данных имеются сведения о размере кластеров диска, расположении основных файлов NTFS и размере имеющихся в составе тома файлов метаданных NTFS. Как правило, эта информация скорее интересна, чем полезна, но некоторые данные, выводимые NTFSInfo, действительно стоят того, чтобы обратить на них внимание. К примеру, вы, наверное, слышали о том, что в NTFS имеется аналог таблицы размещения файлов, применяемой в файловой системе FAT. Она называется основной таблицей файлов (MFT) и состоит из записей постоянного размера, которые описывают расположение всех файлов и каталогов на диске. Интересно, что MFT ведется в виде файла, который ничем не отличается от многих других. Помимо определения размера кластеров и записей MFT тома, программа NTFSInfo указывает расположение (кластер) таблицы MFT на диске и ее размер. В целях защиты таблицы MFT от фрагментации в файловой системе NTFS резервируется смежная с ней область диска, которая становится доступна для размещения других файлов только в условиях нехватки пространства. Эта область называется зоной MFT, а программа NTFSInfo сообщает о ее местоположении на диске и объеме зарезервированного для ее размещения дискового пространства.

Что удивительно, не только таблица MFT, но и все метаданные NTFS хранятся в виде файлов. К примеру, существует файл $Boot, отображенный на загрузочный сектор диска. Таблица кластеров тома сопровождается в другом файле — $Bitmap. Эти файлы находятся непосредственно в корневом каталоге NTFS, но, не зная этого, увидеть их нельзя. Попробуйте ввести в корневом каталоге тома NTFS команду «dir /ah $boot», и вы сможете убедиться в наличии файла $boot. Программа NTFSInfo выполняет действия, аналогичные команде "dir /ah", указывая имена и размеры всех файлов метаданных NTFS (версий 3.51 и 4.0).

Предполагалось, что программа NTFSInfo выйдет вместе с моей колонкой «Внутреннее устройство NT» в январском выпуске журнала Windows NT Magazine за 1998 год, посвященной описанию внутренних структур данных NTFS.

Установка и применение

NTFSInfo работает во всех версиях NTFS, однако файлы метаданных, реализованные в версии NTFS для Windows NT 5.0, в ней еще не запрограммированы. Для работы с программой NTFSInfo необходимы привилегии администратора. Для вызова программы введите команду «NTFSInfo x», где «x» следует заменить буквой тома NTFS, который предполагается проанализировать.

Принцип работы

Программа NTFSInfo использует недокументированный вызов управления файловой системой (FSCTL), который позволяет программе извлекать из NTFS данные о томах. Информация выводится вместе с содержимым каталога с файлами метаданных NTFS.

Загрузить NTFSInfo (28 КБ)

PageDefrag 2.32

HELP

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 1 ноября 2006 г.

Введение

Один из недостатков интерфейса дефрагментации Windows NT/2000 заключается в том, что он не позволяет проводить дефрагментацию файлов, открытых в режиме монопольного доступа. Из-за этого стандартные программы дефрагментации не могут ни показывать степень фрагментации файлов подкачки и кустов реестра, ни дефрагментировать их. Фрагментация файлов подкачки и реестра — одна из самых существенных причин снижения производительности в случае фрагментации данных в системе.

Специальные методики, реализованные в программе PageDefrag, предоставляют возможность, недоступную для коммерческих решений. Речь идет о просмотре степени фрагментации файлов подкачки и кустов реестра, а также их дефрагментации. Кроме того, эта программа проводит дефрагментацию файлов журналов событий и файлов спящего режима в Windows 2000/XP (в них при переходе портативного компьютера в спящий режим сохраняется содержимое системной памяти).

Программа PageDefrag работает в ОС Windows NT 4.0, Windows 2000, Windows XP и Server 2003.

Установка и применение

При запуске программы PageDefrag (pagedfrg.exe) вы увидите список с указанием числа кластеров, в которых размещаются файлы подкачки, журнал событий и кусты реестра (SAM, SYSTEM, SYSTEM.ALT, SECURITY, SOFTWARE, .DEFAULT), а также количества фрагментов, на которые эти файлы разделены. Если, по вашему мнению, стоит предпринять попытку дефрагментировать эти файлы или если вы намерены проводить их дефрагментацию при каждой загрузке системы, установите переключатель в соответствующее положение и нажмите кнопку OK.

Если программе PageDefrag поступает команда провести дефрагментацию, она предпринимает попытку ее выполнения при следующей загрузке системы. Сразу после проверки жестких дисков утилитой CHKDSK программа PageDefrag выполняет дефрагментацию при помощи стандартных API-интерфейсов дефрагментации файлов (документацию по этим API см. на моей странице Устройство дефрагментации дисков Windows NT). По мере обработки файлов PageDefrag выводит на экране загрузки их имена и сведения о результате дефрагментации. Если фрагментация успешно сокращена, программа выводит число кластеров, занятых файлом до обработки, и число кластеров после дефрагментации.

В некоторых случаях программе PageDefrag не удается сократить фрагментацию одного или нескольких файлов; в таком случае на синем экране загрузки выводится соответствующее оповещение. Возможные причины неудачных попыток дефрагментации — нехватка свободного дискового пространства и высокая степень фрагментации имеющегося свободного пространства. Для достижения оптимальных результатов программу PageDefrag следует применять в сочетании с коммерческой утилитой дефрагментации или с моей бесплатной программой Contig.

Параметры командной строки.

Программу PageDefrag можно запускать в неинтерактивном режиме, регулируя настройки с помощью параметров командной строки.

Синтаксис: pagedefrag [-e | -o | -n] [-t <секунды>]

-e

Дефрагментация при каждой загрузке

-o.

Однократная дефрагментация

-n

Запрет дефрагментации

-t

Обратный отсчет времени в секундах

Загрузить PageDefrag (70 КБ)

Программа Process Monitor версии 1.1

HELP

Авторы: Марк Руссинович (Mark Russinovich) и Брайс Когсуэлл (Bryce Cogswell)

Опубликовано 7 марта 2007 г.

Введение

Программа Process Monitor является усовершенствованным инструментом отслеживания для Windows, который в режиме реального времени отображает активность файловой системы, реестра, а также процессов и потоков. В этой программе сочетаются возможности двух ранее выпущенных программ от Sysinternals: Filemon и Regmon, а также огромный ряд улучшений, включая расширенную и безвредную фильтрацию, всеобъемлющие свойства событий, такие как ID сессий и имена пользователей, достоверную информацию о процессах, полноценный стек потока со встроенной поддержкой всех операций, одновременный запись информации в файл и многие другие возможности. Эти уникальные возможности делают программу Process Monitor ключевым инструментом для устранения неполадок и избавления от вредоносных программ.

Программа Process Monitor работает в ОС Windows 2000 с пакетом обновлений 4 (SP4) с накопительным пакетом обновлений 1, Windows XP с пакетом обновлений 2 (SP2), Windows Server 2003 с пакетом обновлений 1 (SP1) и Windows Vista, а также x64-версии ОС Windows XP, Windows Server 2003 с пакетом обновлений 1 (SP1) и Windows Vista.

Установка

Просто запустите программу Process Monitor (procmon.exe).

В файле справки программы Process Monitor приводится информация о доступных операциях и об использовании программы. При возникновении вопросов или проблем посетите форум на веб-узле Sysinternals, посвященный программе Process Monitor .

Преимущества программы Process Monitor над программами Filemon и Regmon

Пользовательский интерфейс программы Process Monitor и параметры схожи с интерфейсом и параметрами программ Filemon и Regmon, но в программе Process Monitor есть ряд существенных улучшений, таких как:

* отслеживание запуска и завершения работы процессов и потоков, включая информацию о коде завершения;

* отслеживание загрузки образов (библиотек DLL и драйверов устройств, работающих в режиме ядра);

* больше собираемых данных об параметрах операций ввода и вывода;

* безвредные фильтры позволяют устанавливать фильтры, которые не будут приводить к потере данных;

* сбор стеков потоков для каждой операции позволяет в большинстве случаев определить исходную причину выполнения операции;

* достоверный сбор информации о процессах, включая путь к образу процесса, командную строку, а также ID пользователя и сессии;

* настраиваемые и перемещаемые колонки для каждого свойства события;

* фильтры можно установить на любое поле с данными, включая поля, которые не являются колонками;

* усовершенствованная архитектура записи журналов расширяет возможности программы до десятков миллионов зарегистрированных событий и гигабайтов записанных данных о событиях;

* дерево процессов отображает отношения между всеми процессами, перечисленными в сведениях трассировки;

* основной формат журнала сохраняет все данные, чтобы их можно было загрузить в другом экземпляре программы Process Monitor;

* подсказки к процессам для простого просмотра информации об образе процесса;

* детальные подсказки позволяют получить удобный доступ к форматированным данным, которые не помещаются в колонке;

* прекращаемый поиск;

* запись в журнал всех операций во время загрузки системы.

Проще всего ознакомиться с возможностями программы Process Monitor, прочитав файл справки и попробовав воспользоваться каждым пунктом меню и настройкой программы на рабочей системе.

Снимки экрана

Загрузить Process Monitor (913 КБ)

Дополнительные материалы

Ниже приведена другая информация и программы от Sysinternals и для отслеживания процессов и системы:

* веб-трансляция TechNet по заявкам: расширенное устранение неполадок в ОС Windows с помощью программы Sysinternals Process Monitor . Марк Руссинович рассказывает, как пользоваться некоторыми из многочисленных мощных возможностей программы Process Monitor, и показывает, как можно ими воспользоваться для устранения распространенных проблем с приложениями и системой;

* FileMon — отслеживание обращений к файловой системе;

* RegMon — отслеживание обращений к реестру;

* PortMon — отслеживание обращений к последовательным и параллельным портам;

* Process Monitor — отслеживание работы процессов и потоков;

* DiskMon — отслеживание работы жестких дисков;

* DebugView — отслеживание вывода отладочной информации.

PsFile v1.02

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 12 апреля 2006 г.

Введение

Команда «net file» выводит на экран список файлов, открытых другими компьютерами в системе, в которой выполняется данная команда, однако она усекает длинные имена путей и не позволяет просматривать эти данные для удаленных систем. Служебная программа PsFile с интерфейсом командной строки выводит на экран список файлов системы, которые открыты удаленно, а также позволяет закрывать открытые файлы по имени или по идентификатору файла.

Установка

Просто скопируйте программу PsFile в папку для исполняемых файлов и затем введите «psfile».

Программа PsFile работает в операционных системах NT 4.0, Win2K, Windows XP и Server 2003.

Применение

По умолчанию программа PsFile выводит список файлов локальной системы, которые открыты удаленными системами. Если после команды ввести символ «- », на экран выводится информация о синтаксисе этой команды.

применение: psfile [\\удаленный_компьютер [-u имя_пользователя [-p пароль]]] [[Id | путь] [-c]]

-u

Позволяет указать необязательное имя пользователя для входа в систему удаленного компьютера.

-p

Позволяет указать пароль для имени пользователя. Если этот параметр опущен, то появится подсказка, предлагающая ввести пароль, при этом он не будет отображаться на экране.

Id

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

путь

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

-c

Позволяет закрыть файлы, определенные с помощью идентификатора или пути.

Работа программы

Программа PsFile использует прикладной программный интерфейс NET API, документация по которому содержится в комплекте разработчика Platform SDK.

PsTools

Программа PsFile входит в состав постоянно расширяющегося набора средств под названием PsTools, разработанного компанией Sysinternals, который предназначен для работы в режиме командной строки и позволяет выполнять администрирование локальных и удаленных систем под управлением операционных систем Windows NT/2000.

Загрузка набора PsTools (1 МБ)

PsTools v2.43 (HELP)

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 5 марта 2007 г.

Введение

В наборы ресурсов операционных систем Windows NT и Windows 2000 включен ряд средств командной строки, позволяющих выполнять администрирование систем под управлением ОС Windows NT/2000. Постепенно я собрал комплект аналогичных средств, в том числе средства, которые не входят в наборы ресурсов. Их отличительной особенностью является то, что все они позволяют управлять не только локальной, но и удаленными системами. Первой на свет появилась программа PsList, позволяющая просматривать подробную информацию о процессах, и с тех пор число инструментов постоянно растет. Приставка «Ps» в названии PsList отражает тот факт, что стандартное средство командной строки для формирования списка процессов операционной системы UNIX называется «ps». Поэтому я применил эту приставку ко всем средствам, чтобы объединить их в один набор средств под названием PsTools.

Примечание. Некоторые антивирусные сканеры сообщают, что одна или несколько из этих программ заражены вирусом «remote admin». Ни одна из программ, входящих в набор PsTools, не содержит вирусов, но они использовались вирусами, что и приводит к появлению таких предупреждений.

В комплект PsTools включены следующие программы, которые можно загружать по отдельности или одним пакетом:

* PsExec — позволяет удаленно выполнять процессы;

* PsFile — показывает удаленно открытые файлы;

* PsGetSid — выводит идентификатор безопасности (SID) компьютера или пользователя;

* PsInfo — выводит информацию о системе;

* PsKill — позволяет завершать процессы по имени или идентификатору процесса;

* PsList — выводит подробную информацию о процессах;

* PsLoggedOn — позволяет просматривать данные о том, кто зарегистрирован в системе локально или в результате использования общих ресурсов (в комплект загрузки входит полный исходный текст программы);

* PsLogList — позволяет выгрузить записи из журнала регистрации событий;

* PsPasswd — позволяет менять пароли учетных записей;

* PsService — позволяет просматривать информацию о службах и управлять ими;

* PsShutdown — позволяет выключить и при необходимости перезагрузить компьютер;

* PsSuspend — позволяет приостанавливать процессы;

* PsUptime — показывает время работы системы с момента последней перезагрузки (в программу PsInfo включены функциональные возможности PsUptime).

Все утилиты, вошедшие в комплект PsTools, работают в операционных системах Windows Vista, Windows NT, Windows 2000, Windows XP и Windows Server 2003. Пакет установки PsTools содержит оперативную справку в формате HTML, в которой представлена полная информация об использовании всех программ входящих в пакет.

Установка

Ни одна из этих программ не требует специальной установки. Нет необходимости даже устанавливать какое-либо клиентское программное обеспечение на удаленные компьютеры, для которых эти программы будут вызываться. Для запуска любой программы введите в командной строке ее имя и задайте необходимые параметры. Для вывода на экран справки об использовании средства укажите в командной строке параметр «-».

При возникновении вопросов или проблем посетите форум Sysinternals PsTools.

Форум, посвященный набору средств PsTools

При возникновении вопросов или проблем посетите форум компании Sysinternals, посвященный набору средств PsTools.

Загрузка набора PsTools (1 МБ)

Дополнительные материалы

Введение в PsTools: Уэс Миллер (Wes Miller) приводит общее описание наболра средств Sysinternals PsTools в мартовском номере журнала TechNet Magazine.

SDelete v1.51

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 1 ноября 2006 г.

Введение

Одной из возможностей ОС Windows NT и 2000, которые обеспечивают соответствие системы классу C2 критериев оценки доверенных компьютерных систем, является защита от повторного использования объектов. Это означает, что при выделении приложению участка дискового пространства или виртуальной памяти, ему не доступны для просмотра ранее хранившиеся в выделенном участке данные. Перед предоставлением приложению запрошенных ресурсов ОС Windows NT производит очистку выделяемой памяти или секторов диска, заполняя эти участки нулевыми значениями. Тем не менее, такая защита не предполагает очистку участка диска в момент удаления файла. Очистка не производится, потому что ОС Windows NT и 2000 разрабатывались с предположением, что контроль доступа к системным ресурсам осуществляет операционная система. Если же операционная система неактивна, можно воспользоваться дисковыми редакторами или инструментами для восстановления данных, и с их помощью просмотреть или восстановить данные, удаленные операционной системой. Даже если зашифровать файлы с помощью шифрованной файловой системы EFS в Windows 2000, исходные незашифрованные данные остаются на диске после создания зашифрованной версии файла.

Единственным способом удостовериться, что удаленные или зашифрованные с помощью EFS файлы невозможно восстановить, является использование приложений для безопасного удаления файлов. Такие приложения с помощью приведенных ниже методик перезаписывают участки диска, на которых были расположены удаленные файлы. Таким образом, даже при использовании технологий восстановления, при которых производится считывание данных непосредственно с магнитных носителей, восстановить удаленные файлы будет невозможно. Одним из таких приложений является программа SDelete (Secure Delete). Ее можно использовать как для удаления существующих файлов, так и для очистки данных, расположенных на свободных участках жесткого диска (включая уже удаленные или зашифрованные файлы). Программа SDelete является реализацией поддержки стандарта очистки данных DOD 5220.22-M, разработанного министерством обороны США. Можно быть уверенным, что файл, удаленный с помощью программы SDelete, восстановлению подлежать не будет. Необходимо иметь в виду, что программа SDelete очищает содержимое, но не удаляет имена очищенных файлов, расположенных в свободном дисковом пространстве.

Программа SDelete работает в операционных системах Windows 95, 98, NT 4.0 и Windows 2000.

Использование программы SDelete

Программа SDelete выполняется в командной строке и поддерживает ряд параметров. При любом из вариантов использования она позволяет удалить один или несколько файлов или папок или обработать свободное место на логическом разделе. Программа также поддерживает использование символов шаблона в качестве части имен файлов или папок.

Синтаксис: sdelete [-p количество_проходов] [-s] [-q] <файл или папка>
sdelete [-p количество_проходов] -z [буква диска]

-p количество_проходов

Количество проходов перезаписи.

-s

Рекурсивный обход вложенных папок.

-q

Не выводить на экран ошибки (тихий режим).

-z

Произвести очистку свободного места.

Принцип работы программы SDelete

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

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

Для работы с такими файлами программа SDelete использует API-интерфейс дефрагментации. С помощью этого интерфейса она определяет, в каких именно кластерах расположены данные, соответствующие этим сжатым, фрагментированным или зашифрованным файлам. После того, как это установлено, можно переписать содержимое кластеров с помощью прямого доступа к диску.

Очистка свободного места тоже является непростой задачей. Так как файловые системы FAT и NTFS не предоставляют возможности приложениям напрямую обращаться к свободному дисковому пространству, у программы SDelete есть два возможных варианта действий. Первый — перезапись кластеров, содержащихся в свободном дисковом пространстве, с помощью прямого доступа к диску, аналогично ситуации со сжатыми, фрагментированными и зашифрованным файлами. Но у этого подхода есть один существенный недостаток. Даже если обеспечить в программе SDelete полноценную поддержку подсчета свободного дискового пространства на разделах NTFS и FAT (что само по себе нетривиально), существует риск конфликта с текущими файловыми операциями, которые происходят в системе во время работы SDelete. Несложно представить ситуацию, когда программа SDelete определит, что кластер свободен, в то время как драйвер файловой системы (FAT или NTFS) выделит этот кластер для файла, который в данный момент изменяется каким-нибудь работающим приложением. Драйвер файловой системы записывает новые данные в этот кластер, а затем содержимое этого кластера переписывается программой SDelete, благодаря чему новые данные, записанные в файл, будут утеряны. Еще более опасна ситуация, когда очищаемый кластер был выделен для системных метаданных, потому что в этом случае будут повреждены хранящиеся на диске системные структуры данных.

Второй подход, который и используется в программе SDelete, заключается в косвенной перезаписи свободного пространства. Сперва программа выделяет файл наибольшего возможного размера. Для этого используется некэширующая операция ввода-вывода, чтобы содержимое кэша файловой системы ОС Windows NT не было очищено и заполнено бесполезными данными, связанными с выделенным файлом. Некэширующие операции ввода-вывода должны выравниваться по границе секторов (512 байт), поэтому часть дискового пространства останется свободным, даже если размер выделяемого файла максимально возможный. Чтобы занять оставшееся свободное пространство, программа SDelete выделяет файл максимально возможного размера уже с помощью кэширующих операций ввода-вывода. Для обоих выделенных файлов осуществляется перезапись данных, благодаря чему ранее свободное дисковое пространство становится безопасно очищенным.

В случае разделов NTFS работа программы SDelete не исчерпывается перезаписью этих двух файлов. Программа также заполняет все существующие свободные участки таблицы NTFS MFT (главной файловой таблицы) файлами, которые помещаются по размеру в записи этой таблицы. Обычно размер записи таблицы MFT составляет 1 КБ. Каждому файлу или папке на диске требуется как минимум одна запись таблицы MFT. Маленькие файлы полностью хранятся внутри своих записей таблицы MFT, в то время как файлы, которые не помещаются в запись таблицы MFT, располагаются в выделенных кластерах за пределами таблицы. Программе SDelete остается лишь выделить файл максимально возможного размера, так, чтобы этот файл занял все свободное пространство в записях таблицы MFT. Драйвер NTFS не позволит файлу расшириться еще больше, потому что на диске больше не останется свободных кластеров (все свободные кластеры заняты двумя выделенными на предыдущем этапе файлами). Затем процесс повторяется. Когда программа SDelete уже не может создать на диске новый файл, она определяет, что все ранее свободные записи таблицы MFT теперь полностью заполнены безопасно перезаписанными файлами.

Для перезаписи имен удаляемых файлов программа SDelete переименовывает файл 26 раз подряд, каждый раз заменяя каждый символ имени файла следующим по алфавиту символом. Например, первое имя файла “foo.txt” было бы “AAA.AAA”.

Причина, по которой программа не удаляет имена файлов в процессе очистки свободного пространства, заключается в необходимости прямого управления структурами данных папок. В этих структурах может быть свободнее пространство, в котором содержатся имена удаленных файлов, но это свободное место не выделяется для файлов. Таким образом, у программы SDelete нет возможности выделения свободного пространства в структурах данных директорий для безопасной очистки этого пространства.

Download SDelete (47 KB)

ShareEnum v1.6

Автор: Брайс Когсвелл (Bryce Cogswell)

Опубликовано 11 января 2006 г.

Введение

При решении вопросов безопасности компьютерных сетей под управлением операционных систем Windows NT/2000/XP общим файловым ресурсам часто не уделяется должное внимание. Системы безопасности часто имеют характерный изъян, связанный с тем, что пользователи предоставляют общий доступ к файловым ресурсам, не обеспечивая достаточного уровня защиты, что позволяет не имеющим соответствующих прав пользователям просматривать конфиденциальные файлы. В системе нет встроенных средств для формирования списков видимых в сети общих ресурсов с указанием их параметров безопасности, но программа ShareEnum заполняет этот пробел и позволяет блокировать общие файловые ресурсы сети.

При запуске программы ShareEnum выполняется сканирование всех компьютеров, входящих в доступные ей домены, и отображается список общих файловых ресурсов и ресурсов печати, а также их параметры безопасности. Для этого программа использует функции формирования списков протокола NetBIOS. Так как только администратор домена имеет возможность просматривать все сетевые ресурсы, программа ShareEnum наиболее эффективна в случае ее запуска из учетной записи администратора домена.

Программа ShareEnum работает в операционных системах Windows NT/2000/XP.

Работа программы

Для формирования списка доменов и входящих в них компьютеров программа ShareEnum использует функцию WNetEnumResource, а для формирования списков размещенных на этих компьютерах общих ресурсов — функцию NetShareEnum.

Загрузка ShareEnum (94 КБ)

Sigcheck (версия 1.3)

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 1 ноября 2006 г.

Введение

Консольная программа Sigcheck выводит информацию о версиях файлов и позволяет удостовериться, что образы в системе подписаны цифровой подписью.

Синтаксис: sigcheck [-i][-e][[-s]|[-v]][-q][-u] [-c файл_каталога] <файл или папка>

-c | Осуществлять поиск подписей в указанном файле каталога.
-e | Проверять только исполняемые образы (вне зависимости от их расширения).
-i | Отображать владельцев подписей.
-n | Отображать только номер версии.
-q | Тихий режим работы (не выводить заголовок).
-s | Рекурсивный обход вложенных папок.
-u | Отображать только неподписанные файлы.
-v | Вывод результатов в формате CSV.

Одним из возможных способов использования этой программы является поиск неподписанных файлов в папке \Windows\System32. Для этого нужно выполнить следующую команду:

sigcheck -u -e c:\windows\system32

Для каждого найденного файла необходимо выяснить причину, по которой он не подписан.

Загрузить программу Sigcheck (48 КБ)

Streams 1.56

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 27 апреля 2007 г.

Введение

Файловая система NTFS позволяет приложениям создавать дополнительные информационные потоки данных. По умолчанию, все данные хранятся в основном безымянном потоке данных файла, но синтаксис «файл:поток» позволяет выполнять чтение и запись в дополнительные потоки. Доступ к дополнительным потокам предусмотрен не во всех приложениях, однако демонстрация использования потоков не составит труда. Сначала средствами командной строки перейдите в каталог на диске NTFS. Затем введите команду «echo hello > test:stream». В результате будет создан поток под названием stream, ассоциированный с файлом test. Обратите внимание: размер файла test приравнивается к нулю и при открытии в любом текстовом редакторе он выглядит пустым. Для просмотра потока введите команду «more < test:stream» (команда type не поддерживает синтаксис потоков, отсюда необходимость в применении команды more).

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

Синтаксис: streams [-s] [-d] <файл или каталог>

-s | Рекурсивный обход вложенных каталогов.
-d | Удаление потоков. При указании потоков допускается применение шаблонов – например, «streams *.txt».

Загрузить Streams (41 КБ)

Sync 2.0

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 1 ноября 2006 г.

Введение

В ОС UNIX имеется стандартная служебная программа под названием Sync, которая позволяет сбросить все данные файловой системы из памяти на диск, чтобы они не были потеряны, если произойдет сбой системы. Без выполнения этой операции все присутствующие в кэше данные утрачиваются при сбое. Я написал аналогичную программу, также названную Sync, которая работает во всех версиях Windows. Обращайтесь к ней, если вам потребуется организовать надежное хранение на жестких дисках измененных данных файловой системы. К сожалению, для запуска Sync нужны административные привилегии. В данной версии, помимо прочего, реализована возможность сброса из памяти данных, относящихся к съемным носителям (например, к ZIP-дисководам).

Синтаксис: sync [-r] [-e] [список букв дисков]

-r | Сброс съемных носителей.
-e | Извлечение съемных носителей.

При указании конкретных дисков (например, "c e") программа Sync сбрасывает из памяти только связанные с ними данные.

Загрузить Sync (40 КБ)

VolumeID 2.0

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 1 ноября 2006 г.

Введение

Программа Label, имеющаяся в комплекте ОС WinNT/2K и Windows 9x, позволяет изменять метки томов, но не подержит средств редактирования их идентификаторов. Программа VolumeID позволяет изменять идентификаторы дисков FAT и NTFS (как гибких, так и жестких дисков) в средах Windows 9x и Windows NT/2K/XP/2K3.

Синтаксис: volumeid <буква_диска:> xxxx-xxxx

Рассматриваемая программа запускается только из окна командной строки.

Следует иметь в виду, что изменения томов NTFS становятся видимыми только после перезагрузки. Кроме того, перед изменением идентификатора тома необходимо закрыть все работающие приложения. В противном случае NT может предположить, что после изменения идентификатора тома FAT сменился физический носитель (диск), и начать выводить сообщения, приглашая установить исходный диск (!). После этого возможен отказ в исполнении запросов на доступ к дискам, поступающих от приложений.

Загрузить VolumeID (43 КБ)

AdRestore v1.1

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 11 января 2006 г.

Введение

Система Server 2003 дополнена возможностью восстановления удаленных (помеченных на удаление) объектов. Эта простая служебная программа с интерфейсом командной строки формирует список удаленных объектов домена и дает возможность восстановить каждый из них. Исходный текст этой программы написан на основе примера из комплекта разработчика Platform SDK корпорации Майкрософт. В этой статье, которая входит в состав базы знаний Майкрософт, описано использование служебной программы Adrestore:

840001: Как в службе каталогов Active Directory восстановить удаленные учетные записи пользователей и их членство в группах

Загрузка AdRestore (42 КБ)

Программа TCPView для Windows (версия v2.4)

HELP

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 11 января 2006 г.

Введение

TCPView — это программа, предназначенная для операционной системы Windows, которая выводит на экран списки конечных точек всех установленных в системе соединений по протоколам TCP и UDP с подробными данными, в том числе с указанием локальных и удаленных адресов и состояния TCP-соединений. В операционных системах Windows NT, 2000 и XP программа TCPView также сообщает имя процесса, которому принадлежит конечная точка. Программа TCPView является дополнением программы Netstat, поставляемой вместе с ОС Windows, и предоставляет расширенный набор сведений в более удобной форме. В комплект загрузки программы TCPView входит программа Tcpvcon с теми же функциональными возможностями, предназначенная для работы в режиме командной строки.

Программа TCPView работает в операционных системах Windows NT/2000/XP и Windows 98/Me. Программу TCPView можно использовать также в операционной системе Windows 95 при условии установки пакета обновления Winsock 2 для ОС Windows 95, предоставляемого корпорацией Майкрософт.

Использование программы TCPView

При запуске программа TCPView формирует список всех активных конечных точек соединений по протоколам TCP и UDP, отображая все IP-адреса в виде доменных имен. Чтобы переключить режим отображения для просмотра адресов в цифровом виде, можно использовать кнопку панели инструментов или пункт меню. В операционных системах Windows XP программа TCPView для каждой конечной точки отображает имя процесса, которому эта точка принадлежит.

По умолчанию программа TCPView обновляет информацию один раз в секунду, но период обновления можно изменить с помощью пункта Refresh Rate (Период обновления) в меню Options (Параметры). Если в период между обновлениями состояние конечной точки изменилось, она выделяется желтым цветом, если конечная точка удалена — красным цветом, новые конечные точки отображаются зеленым цветом.

Чтобы закрыть установленные подключения по протоколам TCP/IP (с отметкой состояния ESTABLISHED (установлено)), можно выбрать пункт Close Connections (Закрыть подключения) в меню File (Файл) или щелкнуть правой кнопкой мыши какое-либо подключение и выбрать в контекстном меню пункт Close Connections.

Данные, отображенные в окне программы TCPView, можно сохранить в виде файла с помощью пункта меню Save (сохранить).

Применение программы Tcpvcon

Применение программы Tcpvcon аналогично применению служебной программы netstat, которая встроена в операционную систему Windows.

Применение: tcpvcon [-a] [-c] [-n] [имя процесса или PID]

-a | Показать все конечные точки (по умолчанию на экран выводятся установленные TCP-соединения).
-c | Распечатать в формате CSV.
-n | Не выполнять разрешение адресов.

Исходный текст программы Netstatp

Хотите знать, как работает программа TCPView? На примере исходного текста программы Netstatp показано, как можно запрограммировать некоторые функции программы TCPView. На примере этой программы показано, как использовать интерфейсы IP Helper (см. описание в документах на узле MSDN), чтобы получить список конечных точек соединений по протоколу TCP/IP. Однако обратите внимание, что программа netstatp не выводит имена процессов в системах NT 4 и Windows 2000, как это делают программы TCPView и TCPVCon.

Статья базы знаний Майкрософт о программе TCPView

Данная статья базы знаний Майкрософт посвящена программе TCPView:

816944: Появление сообщения об ошибке «Непредвиденная ошибка 0x8ffe2740» при запуске веб-узла

Взаимосвязанная служебная программа

TDImon — показывает активность с использованием протоколов TCP и UDP в реальном времени.

Если вам понравилась программа TCPView, то программа TCPView Pro понравится вам еще больше. Программа TCPView Pro, разработанная компанией Winternals Software, обладает рядом функций, благодаря которым она является намного более мощным и полезным средством, чем программа TCPView. Это такие функции: просмотр данных о процессах, которым принадлежат конечные точки открытых соединений (также действует в системе Windows 9x)

* просмотр активности процессов с использованием протоколов TCP и UDP в реальном времени

* использование усовершенствованных методов фильтрации для показа только необходимых данных.

* и многое другое...

Программа TCPView Pro поставляется в составе пакета Winternals Administrator's Pak.

Загрузка TCPView (55 КБ)

Whois v1.01

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 11 января 2006 г.

Введение

Служебная программа Whois выполняет запись регистрационных данных для указанного имени домена или IP-адреса.

Применение

Применение: whois имя_домена [whois.сервер]

Параметр имя_домена может быть либо именем службы DNS (например www.sysinternals.com), либо IP-адресом (например 66.193.254.46).

Загрузка Whois (44 КБ)

Программа AutoRuns для Windows (версия v8.61) Autorunsc

HELP

Авторы: Марк Руссинович (Mark Russinovich) и Брайс Когсуэлл (Bryce Cogswell)

Опубликовано 22 января 2006 г.

Введение

Это средство, которое проверяет больше размещений автозапуска, чем любой другой монитор автозагрузки, показывает, какие программы настроены на запуск в процессе загрузки или входа в систему, причем эти программы отображаются в том порядке, в каком система Windows обрабатывает их. Такие программы могут находиться в папке автозагрузки или быть прописаны в разделах реестра Run, RunOnce и других. Средство Autoruns можно настроить на отображение и других расположений, таких как расширения оболочки проводника, панели инструментов, объекты модулей поддержки обозревателя, уведомления Winlogon, автоматически запускаемые службы и многие другие. Средство Autoruns обладает более широким спектром возможностей, чем служебная программа MSConfig, которая входит в состав Windows Me и XP.

Параметр Hide Signed Microsoft Entries (Не показывать элементы с цифровой подписью Майкрософт) средства Autoruns позволяет сосредоточить внимание на автоматически запускаемых элементах сторонних производителей, если такие элементы были добавлены в систему. Кроме того, можно просматривать объекты, настроенные на автоматический запуск для других учетных записей, имеющихся в системе. В архив для загрузки также включен вариант программы для работы из командной строки, Autorunsc. Выходные данные этого средства можно получить в формате CSV.

Вы, вероятно, удивитесь, как много исполняемых файлов запускается автоматически!

Программа Autoruns работает во всех версиях Windows, включая Windows XP 64-bit Edition (для x64) и Windows Server 2003 64-bit Edition (для x64).

Снимок экрана

Использование

В статье Марка в выпуске журнала Windows IT Pro Magazine за ноябрь 2004 года описаны дополнительные методы работы с программой Autoruns. При возникновении вопросов или проблем посетите форум компании Sysinternals, посвященный программе Autoruns.

Просто запустите средство Autoruns, и оно покажет, какие приложения настроены на автоматический запуск, а также представит полный список разделов реестра и каталогов файловой системы, которые могут использоваться для задания автоматического запуска. Элементы, которые показывает программа Autoruns, принадлежат к нескольким категориям: объекты, автоматически запускаемые при входе в систему, дополнительные компоненты проводника, дополнительные компоненты Internet Explorer (включая объекты модулей поддержки обозревателя (BHO)), библиотеки DLL инициализации приложений, подмены элементов, объекты, исполняемые на ранних стадиях загрузки, библиотеки DLL уведомлений Winlogon, службы Windows и многоуровневые поставщики услуг Winsock. Чтобы просмотреть автоматически запускаемые объекты требуемой категории, достаточно выбрать нужную вкладку.

Для просмотра свойств исполняемого объекта, настроенного на автоматический запуск, необходимо выделить этот объект и воспользоваться пунктом меню или кнопкой панели инструментов Properties (Свойства). Если в системе запущена программа Process Explorer, а выделенный исполняемый файл используется каким-либо активным процессом, то при выборе в меню Entry (Элемент) пункта Process Explorer (Process Explorer) откроется диалоговое окно свойств процесса, использующего выделенный объект.

Чтобы перейти к разделу реестра или каталогу файловой системы, который отображается в окне программы, либо к настройке объекта, запускаемого автоматически, достаточно выделить нужный элемент и воспользоваться командой меню или кнопкой панели инструментов Jump (Перейти).

Чтобы отключить объект, запускаемый автоматически, нужно снять соответствующий ему флажок. Удалить такой объект можно с помощью команды меню или кнопки панели инструментов Delete (Удалить).

Чтобы просмотреть автоматически запускаемые элементы для учетных записей других пользователей, достаточно выбрать нужный пункт меню User (Пользователь).

Дополнительные сведения по параметрам отображения и другую полезную информацию можно найти в оперативной справке.

Использование программы Autorunsc

Autorunsc — это вариант программы Autoruns для работы в командной строке. Ниже приведен синтаксис использования этого средства.

Использование: autorunsc [-a] | [-c] [-b] [-d] [-e] [-h] [-i] [-l] [-m] [-n] [-p] [-r][-s] [-v] [-w] [пользователь]

-a | показывать все элементы;
-b | объекты, исполняемые на ранних стадиях загрузки;
-c | записать выходные данные в CSV-файл;
-d | библиотеки DLL инициализации приложений;
-h | подмены элементов;
-g | подмены элементов;
-h | подмены элементов;
-i | дополнительные компоненты Internet Explorer
-l | элементы, автоматически запускаемые при входе в систему (этот параметр используется по умолчанию);
-m | не показывать элементы с цифровой подписью Майкрософт;
-n | поставщики протокола Winsock;
-p | драйверы монитора печати;
-r | поставщики LSA;
-s | службы в режиме автоматического запуска и неотключенные драйверы;
-t | назначенные задания;
-v | проверять цифровые подписи;
-w | элементы Winlogon;
пользователь | показывать автоматически запускаемые объекты для указанной учетной записи пользователя.

Загрузите программы Autoruns и Autorunsc (490 КБ)

Дополнительные материалы

Веб-трансляция TechNet по заявкам: дополнительные методы избавления от вредоносных программ.
Марк рассказывает, как с помощью инструментов Sysinternals определить, что компьютер заражен вредоносными программами, начиная от обычных шпионских программ и заканчивая скрывающими программами режима ядра, и удалить их из системы.

Случай Необъясненного...
В этом видео Марк описывает, как он устранил неполадки, казалось бы, неразрешимой системы и разрешил проблемы приложений в Windows.

Программа Handle (версия v3.20)

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 11 января 2006 г.

Введение

Вам когда-нибудь хотелось узнать, какая программа открыла тот или иной файл или каталог? Теперь у вас есть такая возможность. Программа Handle — это инструмент, который выводит сведения об открытых дескрипторах для любого процесса в системе. Она позволяет посмотреть, какие программы открыли файл, а также увидеть тип объектов и имена всех дескрипторов программы.

На этом же узле Sysinternals можно загрузить и вариант этого средства с графическим интерфейсом, Process Explorer.

Установка

Чтобы запустить программу Handle, достаточно ввести «handle». Необходимо иметь права администратора.

Программа Handle работает в системах Windows 9x, Me и Windows NT и более поздних версий, а также в системах x64 Windows XP 64-bit Edition и Windows Server 2003 64-bit Edition.

Использование

Программа Handle предназначена для поиска ссылок на открытые файлы, поэтому, если никакие параметры командной строки не заданы, она выводит список значений всех дескрипторов в системе, которые ссылаются на открытые файлы, с указанием имен этих файлов. Изменить работу программы можно с помощью нескольких параметров.

Использование: handle [[-a] [-u] | [-c <дескриптор> [-y]] | [-s]] [-p <имя_процесса>|<pid>> [имя]

-a
Вывод сведений обо всех типах дескрипторов, а не только о тех из них, которые ссылаются на файлы. К другим типам дескрипторов относятся порты, разделы реестра, элементы синхронизации, потоки и процессы.

-c
Закрывает указанный дескриптор (который задается в шестнадцатеричном формате). Необходимо указать процесс с помощью его идентификатора PID.

ВНИМАНИЕ! Закрытие дескрипторов может привести к нестабильной работе приложений или системы.

-y
Не запрашивать подтверждение закрытия дескриптора.

-s
Выводить число открытых дескрипторов каждого типа.

-u
При поиске дескрипторов показывать имя пользователя-владельца.

-p
Вместо проверки всех дескрипторов в системе при указании этого параметра программа Handle ищет только те процессы, имя которых начинается со строки «имя_процесса». Так, команда

handle -p exp

показывает открытые файлы для всех процессов, имя которых начинается с «exp», например для процесса Explorer.

имя
Этот параметр позволяет настроить программу Handle на поиск ссылок на объект с указанным именем. Например, если требуется узнать, какой процесс (если таковой имеется) открыл каталог «c:\windows\system32», это можно сделать с помощью следующей команды:

handle windows\system

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

Выходные данные программы Handle

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

В режиме поиска программа Handle выводит в левой части окна имена и идентификаторы процессов, а в правой — имена объектов, соответствующие указанному в параметре фрагменту.

Дополнительные сведения

Дополнительные сведения о диспетчере объектов можно найти в книге Windows Internals, 4th Edition (Внутреннее устройство Microsoft Windows, четвертое издание). Кроме того, можно просмотреть пространство имен диспетчера объектов с помощью программы WinObj.

Другие средства

Ниже приведен перечень других средств наблюдения за системой, опубликованных на веб-узле Sysinternals:

* Process Explorer — программа с графическим интерфейсом, которая позволяет просматривать библиотеки DLL и дескрипторы в операционных системах Win9x, Me, NT и Win2K;

* ListDLLs — инструмент командной строки для просмотра библиотек DLL в операционных системах Win9x, Me, NT и Win2K.

Статьи о программе Handle в базе знаний Майкрософт

В следующих статьях из базы знаний Microsoft упоминается об использовании программы Handle для диагностики или устранения различных ошибок:

* 245068: Сообщение об ошибке: отказано в доступе. У вас нет достаточных прав или файл занят

* 276525: Компьютер может перестать отвечать при отслеживании открытых дескрипторов

Загрузите программу Handle (128 КБ)

Поддержка операционных систем

Программа Handle работает в системах Windows 9x, Me и Windows NT и более поздних версий, а также в системах x64 Windows XP 64-bit Edition и Windows Server 2003 64-bit Edition.

Другие средства

Ниже приведен перечень других средств наблюдения за системой, опубликованных на веб-узле Sysinternals:

* Process Explorer - рограмма с графическим интерфейсом, которая позволяет просматривать библиотеки DLL и дескрипторы в операционных системах Win9x, Me, NT и Win2K;

* ListDLLs - инструмент командной строки для просмотра библиотек DLL в операционных системах Win9x, Me, NT и Win2K.

Программа ListDLLs (версия 2.25)

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 11 января 2006 г.

Введение

Очень часто люди интересуются, существует ли программа, которая бы показывала загруженные библиотеки DLL в ОС Windows 9x или NT. Я не мог ответить им на этот вопрос, пока не узнал о программе tlist из комплекта ресурсов для ОС Windows NT, которая позволяет получить такую информацию. Я принял решение написать бесплатную версию такой программы — ListDLLs. В отличие от программы tlist, программа ListDLLs отображает полные пути к файлам загруженных модулей, а не только непосредственно имена модулей. Помимо этого она помечает загруженные библиотеки DLL, версия которых отличается от версии копии библиотеки на диске (такое обычно возникает в случае обновления файла библиотеки после того, как она была загружена) и указывает, какие библиотеки DLL были перемещены, потому что загружались не по своему базовому адресу.

С веб-узла Sysinternals можно также загрузить версию этой программы с графическим пользовательским интерфейсом – Process Explorer.

Установка

Просто скопируйте программу ListDLLs в любую из папок, в которых система ищет исполняемые файлы, а затем введите «listdlls».

Программа ListDLLs работает в операционных системах Windows 9x, NT 3.51, NT 4.0 и Win2K.

Статьи в базе знаний Майкрософт

В приведенных ниже статьях базы знаний Майкрософт упоминается об использовании программы ListDLLs для диагностики или устранения различных ошибок:

* 243349: Сообщение об ошибке «Полный отказ 0x8000FFFF» при использовании драйвера ODBC для сервера SQL

* q246199: BUG: Изменение региональных настроек в расширенных хранимых процедурах может приводить к неправильным результатам

* 308935: FP2000: Список «Типы файлов» в драйверах баз данных пуст

* 166112: PRB: Возникновение конфликта со свойством EOF при использовании директивы #import для объектов данных ActiveX

* 247957: SAMPLE: Использование программы DUPS.exe для разрешения проблем совместимости библиотек DLL

Загрузить ListDLLs (50 КБ)

Portmon для Windows (версия 3.02)

HELP

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 11 января 2006 г.

Введение

Программа Portmon предназначена для отслеживания и отображения всей активности последовательных и параллельных портов в системе. Благодаря своим богатым возможностям фильтрации и поиска эта программа является мощным инструментом для изучения принципов работы ОС Windows, отслеживания использования портов приложениями и обнаружения проблем в конфигурациях системы и приложений.

Программа Portmon работает в операционных системах Windows NT 4.0, Windows 2000, XP и Server 2003, а также в Windows 95 и Windows 98.

Portmon версии 3.x

В версии 3.x программы Portmon был представлен ряд мощных возможностей.

* Удаленное отслеживание: сбор отладочной информации режима ядра и Win32 с любого компьютера, доступного по протоколу TCP/IP, даже через сеть Интернет. Можно одновременно отслеживать несколько удаленных компьютеров. В случае, если сбор данных будет производиться с компьютеров под управлением ОС Windows NT/2K и передаваться на компьютер с ОС Windows NT/2K в пределах сетевого окружения, программа Portmon самостоятельно установит клиентскую часть на удаленные компьютеры.

* Списки недавно использованных фильтров: возможности программы Portmon были расширены мощными средствами фильтрации. В программе запоминаются недавно использованные фильтры, и пользовательский интерфейс позволяет легко выбирать их снова.

* Копирование в буфер обмена: можно выделить несколько строк из окна с результатами и скопировать их содержимое в буфер обмена.

* Выделение цветом: можно заданными цветами выделить отладочную информацию в соответствии с настройками фильтра выделения.

* Запись журнала работы в файл: отладочную информацию можно по мере ее сбора записывать в файл.

* Печать: можно напечатать на принтере всю отладочную информацию или ее часть.

* Один файл: программа Portmon теперь реализована в виде одного файла.

В веб-справке детально описаны все перечисленные выше и другие возможности программы.

Установка и использование

Достаточно запустить программу Portmon (portmon.exe), и она немедленно начнет собирать отладочную информацию. Чтобы использовать программу Portmon в ОС Windows 95 необходимо загрузить с сайта Майкрософт и установить обновление библиотеки WinSock2. Для запуска программы Portmon в ОС Windows NT/2K необходимы права администратора, а файл portmon.exe не должен быть расположен на сетевом диске. С помощью пунктов меню, горячих клавиш и кнопок панели инструментов можно очищать окно с результатами, сохранить собранные данные в файл, осуществлять поиск в собранных данных, изменить шрифт, а также осуществлять другие действия. В веб-справке описаны все возможности программы Portmon.

Программа Portmon поддерживает все команды управления (IOCTL) последовательными и параллельными портами и осуществляет вывод вызовов этих команд, а также дополнительной полезной информации, имеющей отношение к связанным с этими командами параметрам. Для запросов чтения и записи программа Portmon выводит первые несколько байт из буфера, заменяя все непечатаемые символы символом '.'. Пункт меню «Отображать значения Hex» позволяет переключаться между ASCII и шестнадцатеричным режимами отображения данных из буфера.

Принцип работы программы:

ОС WinNT

Графический пользовательский интерфейс программы Portmon отвечает за определение последовательных и параллельных портов. Информация о последовательных портах берется из раздела реестра HKEY_LOCAL_MACHINE\Hardware\DeviceMap\SerialComm, а о параллельных портах — из раздела HKEY_LOCAL_MACHINE\Hardware\DeviceMap\Parallel Ports. В этих разделах содержится соответствие имен, доступных с помощью вызовов Win32, именам устройств последовательных и параллельных портов.

После выбора порта для отслеживания программа Portmon отправляет запрос драйверу устройства. Этот запрос содержит NT-имя требуемого устройства (например, \device\serial0). Драйвер использует стандартные фильтрующие программные интерфейсы и присоединяет свой собственный фильтрующий объект устройства к требуемому объекту устройства. Сначала с помощью вызова функции ZwCreateFile открывается требуемое устройство. Полученный дескриптор преобразуется в указатель на объект устройства. После создания собственного фильтрующего объекта устройства, который соответствует характеристикам требуемого устройства, драйвер устанавливает этот фильтр с помощью вызова функции IoAttachDeviceByPointer. Начиная с этого момента драйвер программы Portmon будет видеть все запросы, адресованные этому устройству.

В программу Portmon включена поддержка всех стандартных команд управления IOCTL последовательными и параллельными портами. В большинстве случае для настройки и чтения информации о состоянии из портов в приложениях и драйверах используются именно эти команды. Они определены в файлах \ddk\src\comm\inc\ntddser.h и \ddk\src\comm\inc\ntddpar.h из пакета DDK. Некоторые из них документированы в пакете DDK.

Принцип работы программы

ОС Win9x

В ОС Windows 95 и 98 графический пользовательский интерфейс программы Portmon осуществляет сбор данных об активности последовательных и параллельных портов с помощью динамически загружаемого VxD-драйвера. В приложениях, в которых осуществляется непрямой доступ к последовательным и параллельным портам, используется драйвер устройства виртуальных подключений Windows VCOMM. VxD-драйвер программы Portmon использует стандартное VxD-подключение к службам для перехвата вызовов всех функций, осуществляющих доступ к драйверу VCOMM. Аналогично NT-драйверу VxD-драйвер программы Portmon перехватывает запросы и отображает их в удобном формате. В отличие от ОС WinNT, в ОС Win9x отсутствует возможность выбора порта. Программа Portmon отслеживает сразу все порты.

Другие служебные программы

Ниже приведен перечень других средств наблюдения за системой, опубликованных на веб-узле Sysinternals:

* RegMon — отслеживание обращений к реестру;

* FileMon — отслеживание обращений к файловой системе;

* Process Monitor — совокупность программ RegMon и FileMon;

* DiskMon — отслеживание работы жестких дисков (для NT/Win2K);

* DebugView — отслеживание вывода отладочной информации.

Загрузить Portmon (142 КБ)

Другие служебные программы

Ниже приведен перечень других средств наблюдения за системой, опубликованных на веб-узле Sysinternals:

* RegMon - монитор реестра;

* FileMon - монитор файловой системой

* Process Monitor - монитор процессов и потоков;

* DiskMon - монитор работы жестких дисков;

* DebugView - монитор вывода отладочной информации.

Программа Process Explorer для Windows (версия 10.21)

HELP

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 11 января 2006 г.

Введение

Вам когда-нибудь хотелось узнать, какая программа открыла тот или иной файл или каталог? Теперь у вас есть такая возможность. Программа Process Explorer отображает информацию об открытых процессом дескрипторах и загруженных им библиотеках DLL.

Рабочая область программы Process Explorer состоит из двух окон. В верхнем окне отображается список активных процессов, включая имена учетных записей, которым принадлежат эти процессы. Информация, которая отображается в нижнем окне, зависит от выбранного режима работы программы. В режиме дескрипторов в нижнем окне отображаются все открытые дескрипторы выбранного в верхнем окне процесса, а в режиме библиотек DLL — все загруженные процессом динамические библиотеки и отображенные в память файлы. Помимо этого в программе Process Explorer также есть мощные возможности поиска, благодаря которым можно быстро узнать, у какого процесса открыт определенный дескриптор или загружена определенная библиотека DLL.

Благодаря своим уникальным возможностям, программа Process Explorer полезна для разрешения проблем с версиями библиотек DLL и утечками дескрипторов, а также для понимания принципов работы ОС Windows и приложений.

Программа Process Explorer работает в ОС Windows 9x/Me, Windows NT 4.0, Windows 2000, Windows XP, Server 2003, в 64-разрядных версиях Windows для x64 и IA64 процессоров, а также в ОС Windows Vista.

Новые возможности в версии 10.2:

* уровень благонадежности Vista, виртуализованные колонки и свойства процесса;

* подписанный драйвер для 64-разрядной версии ОС Vista для процессоров x64.

Новые возможности в версии 10.1:

* счетчики циклов процессов для ОС Vista в свойствах процесса и в виде отдельной колонки;

* просмотр и редактирование разрешений для служб;

* обход утечек дескрипторов в среде выполнения .NET;

* множество новых колонок ввода-вывода и свойств процессов;

* графики объемов данных ввода-вывода в системе и отдельно для каждого процесса;

* хронологический мини-график операций ввода-вывода;

* хронологический мини-график выделения памяти;

* дополнительный хронологический график операций ввода-вывода в панели задач;

* поддержка 64-разрядной версии ОС Windows для процессоров Itanium.

Установка

Просто запустите программу Process Explorer (procexp.exe).

В файле справки приводится информация об использовании программы Process Explorer и о доступных операциях. При возникновении вопросов или проблем посетите форум Sysinternals, посвященный программе Process Explorer.

Дополнительные материалы

Ниже приведен перечень других программ для отслеживания дескрипторов и библиотек DLL, доступных на веб-узле Sysinternals:

* веб-трансляция TechNet по заявкам: дополнительные способы избавления от вредоносных программ. Марк Руссинович рассказывает, как с помощью инструментов Sysinternals определить, что компьютер заражен вредоносными программами, начиная от обычных шпионских программ и заканчивая скрытыми программами, работающими в режиме ядра, и как удалить эти программы из системы.

* программа Handle для просмотра информации об открытых дескрипторах, выполняется в командной строке;

* программа ListDLLs для просмотра информации о загруженных библиотеках DLL, выполняется в командной строке;

* программа PsList для вывода списка процессов на локальной или удаленной системе, выполняется в командной строке;

* программа PsKill для завершения работы процессов на локальной или удаленной системе, выполняется в командной строке.

Статьи в базе знаний Майкрософт, посвященные программе Process Explorer

В приведенных ниже статьях базы знаний Майкрософт упоминается об использовании программы Process Explorer для диагностики или устранения различных ошибок:

* 319034: FIX: Утечка дескрипторов потока в методе PrintReport отчетов Data Report

* 232830: HOWTO: Определение владельца дескриптора файла

* 242131: Как отобразить список процессов, имеющих открытые файлы

* 216368: PRB: Нарушение доступа во время установки приложения, если файл занят

* 166112: PRB: Возникновение конфликта со свойством EOF при использовании директивы #import для объектов данных ActiveX

* 301357: PRB: Библиотеки DLL не выгружаются после вызова CoFreeUnusedLibraries

* 816683: Не удается запустить Process Explorer компании SysInternals

* 247957: SAMPLE: Использование программы DUPS.exe для разрешения проблем совместимости библиотек DLL

* 313735: XCON: Утечка памяти в процессе MTA при большом количестве открытых дескрипторов

* 276525: Компьютер перестает отвечать при отслеживании открытых дескрипторов

Загрузить Process Explorer (1,5 МБ)

Ссылки по теме

Ниже приведен перечень других программ для отслеживания дескрипторов и библиотек DLL, доступных на веб-узле Sysinternals:

* Веб-трансляция по запросу: усовершенствованное удаление вредоносных программ
Усовершенствованное удаление вредоносных программ – продвинутые способы избавления от вредоносных программ. Марк Руссинович рассказывает, как с помощью инструментов Sysinternals определить, что компьютер заражен вредоносными программами, начиная от обычных шпионских программ и заканчивая скрытыми программами, работающими в режиме ядра, и как удалить эти программы из системы.

* Случай необъясненного...
В этом видео Марк описывает, как он устранил неполадки, казалось бы, неразрешимой системы и разрешил проблемы приложений в Windows.

* Консольная программа Handle - для просмотра информации об открытых дескрипторах;

* Консольная программа ListDLLs - для просмотра информации о загруженных библиотеках DLL;

* Консольная программа PsList - для вывода списка процессов на локальной или удаленной системе;

* Консольная программа PsKill - для завершения работы процессов в локальной или удаленной системе.

PsExec v1.94

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 5 марта 2007 г.

Введение

Служебные программы, такие как Telnet, и программы удаленного управления, такие как PC Anywhere компании Symantec, позволяют выполнять программы в удаленных системах, однако их не так просто установить, поскольку требуется устанавливать еще и клиентское программное обеспечение в тех удаленных системах, к которым необходимо получить доступ. Программа PsExec — это облегченный вариант Telnet. Она позволяет выполнять процессы в удаленных системах, используя для этого все возможности интерактивного интерфейса консольных приложений, и при этом нет необходимости вручную устанавливать клиентское программное обеспечение. Основное достоинство PsExec — это возможность вызывать в интерактивном режиме интерфейс командной строки в удаленных системах и удаленно запускать такие инструменты как IpConfig. Это единственный способ вывести на экран локального компьютера данные об удаленной системе.

Примечание. Некоторые антивирусные сканеры сообщают, что одна или несколько из этих программ заражены вирусом «remote admin». Ни одна из программ, входящих в набор PsTools, не содержит вирусов, но они использовались вирусами, что и приводит к появлению таких предупреждений.

Установка

Просто скопируйте программу PsExec в папку для исполняемых файлов. При вводе команды psexec на экран выводится справка о синтаксисе команды.

Программа PsExec работает в операционных системах Windows Vista, NT 4.0, Win2000, Windows XP и Server 2003, в том числе в 64-разрядных версиях ОС

Использование

В статье Марка Руссиновича в выпуске журнала Windows IT Pro Magazine за июль 2004 года описаны дополнительные методы работы с программой PsExec.

использование: psexec [\\компьютер[,компьютер2[,...] | @файл][-u пользователь [-p пароль]][-n s][-l][-s|-e][-x][-i [сеанс]][-c [-f|-v]][-w каталог][-d][-<приоритет>][-a n,n,... ] программа [аргументы]

компьютер

Указывает программе PsExec, что нужно запустить приложение на заданном компьютере или компьютерах. Если имя компьютера не указано, то программа PsExec запустит приложение в локальной системе, если же вместо имени компьютера задан символ «звездочка» (\\*), то программа PsExec запустит приложение на всех компьютерах текущего домена.

@файл

Указывает программе PsExec, что нужно запустить приложение на всех компьютерах, перечисленных в заданном текстовом файле.

-a

Процессоры, на которых можно запустить приложение, отделяются запятыми, при этом процессоры нумеруются, начиная с 1. Например, чтобы запустить приложение на процессорах втором и четвертом, введите «-a 2,4»

-c

Указанная программа копируется в удаленную систему для выполнения. Если этот параметр не задан, то приложение должно находиться в системной папке удаленной системы.

-d

Указывает, что не нужно ждать завершения приложения. Этот параметр следует использовать только при запуске неинтерактивных приложений.

-e

Указанный профиль учетной записи не загружается.

-f

Указанная программа копируется в удаленную систему, даже если такой файл в удаленной системе уже есть.

-i

Запускаемая программа получает доступ к рабочему столу указанного сеанса в удаленной системе. Если сеанс не задан, то процесс выполняется в консольном сеансе.

-l

При запуске процесса пользователю предоставляются ограниченные права (права группы администраторов отменяются, и пользователю предоставляются только права, назначенные группе «пользователи»). В ОС Windows Vista процесс запускается с низким уровнем благонадежности.

-n

Позволяет задать задержку подключения к удаленным компьютерам (в секундах).

-p

Позволяет указать необязательный пароль для имени пользователя. Если этот параметр опущен, то будет выдан запрос на ввод пароля, при этом пароль не будет отображаться на экране.

-s

Удаленный процесс запускается из системной учетной записи.

-u

Позволяет указать необязательное имя пользователя для входа в удаленную систему.

-v

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

-w

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

-x

Отображает интерфейс пользователя на рабочем столе Winlogon (только в локальной системе).

-приоритет (приоритет)

Позволяет задавать для процесса различные приоритеты: -low (низкий), -belownormal (ниже среднего), -abovenormal (выше среднего), -high (высокий) или -realtime (реального времени).

программа

Имя запускаемой программы.

аргументы

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

Чтобы задать имя приложения, которое содержит пробелы, используйте кавычки, например psexec \\marklap "c:\длинное имя\app.exe". Введенные данные передаются в удаленную систему при нажатии клавиши «Ввод», для завершения удаленного процесса нужно нажать сочетание клавиш Ctrl-C.

Если имя пользователя не задано, то удаленный процесс запускается из той же учетной записи, что и программа PsExec. Однако поскольку удаленный процесс является олицетворением, то он не будет иметь доступа к сетевым ресурсам удаленной системы. Если имя пользователя задано, то удаленный процесс запускается из указанной учетной записи и получает доступ к тем же сетевым ресурсам удаленной системы, что и данная учетная запись. Учтите, что пароль передается в удаленную систему в виде открытого текста.

При обращении к локальной системе эту версию программы PsExec можно использовать вместо программы Runas, поскольку для программы PsExec не требуются права администратора.

Примеры
>

В этой написанной мною статье дано описание работы программы PsExec, а также некоторые рекомендации по ее применению:

http://www.winnetmag.com/Windows/Issues/IssueID/714/Index.html

Эта команда вызывает интерактивный интерфейс командной строки в системе \\marklap:

psexec \\marklap cmd

Эта команда запускает в удаленной системе программу IpConfig с параметром /all и выводит полученные данные на экран локальной системы:

psexec \\marklap ipconfig /all

Эта команда копирует программу test.exe в удаленную систему и выполняет ее в интерактивном режиме.

psexec \\marklap -c test.exe

Если в удаленной системе такая программа уже установлена и находится не в системном каталоге, укажите полный путь к этой программе

psexec \\marklap c:\bin\test.exe

Эта команда запускает в интерактивном режиме из системной учетной записи программу Regedit для просмотра данных разделов реестра SAM и SECURITY:

psexec -i -d -s c:\windows\regedit.exe

Эта команда используется для вызова программы Internet Explorer от имени пользователя с ограниченными правами:

psexec -l -d "c:\program files\internet explorer\iexplore.exe"

Комплект программ PsTools

Программа PsExec входит в состав постоянно расширяющегося набора средств под названием PsTools, разработанного компанией Sysinternals и предназначенного для работы в режиме командной строки, он позволяет выполнять администрирование локальных и удаленных систем под управлением операционных систем Windows NT и 2000.

Загрузка комплекта программ PsTools (1 МБ)

PsKill v1.12

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 12 апреля 2006 г.

Введение

В состав ОС Windows NT и 2000 не входит консольная служебная программа для «уничтожения» процессов. Такая программа входит в наборы средств Windows NT Resource Kit и Win2K Resource Kit, однако она может завершать процессы только в локальной системе. Программа PsKill может выполнять не только все функции программы из комплекта Resource Kit, но еще и завершать процессы в удаленных системах. При этом чтобы использовать программу PsKill для завершения удаленного процесса, на удаленный компьютер даже не нужно устанавливать клиентское программное обеспечение.

Установка

Просто скопируйте программу PsKill в папку для исполняемых файлов и введите команду «pskill», указав необходимые параметры (см. ниже).

Программа PsKill работает в ОС Windows NT 4.0 и более поздних версиях, в том числе в ОС Windows Vista.

Использование

В статье Марка Руссиновича в выпуске журнала Windows IT Pro Magazine за сентябрь 2004 года описаны дополнительные методы работы с программой PsKill.

Если при запуске PsKill указать идентификатор процесса, то программа завершит процесс с таким идентификатором на локальном компьютере. Если указать имя процесса, то программа PsKill завершит все процессы с таким именем.

использование: pskill [- ] [-t] [\\компьютер [-u имя_пользователя] [-p пароль]] <имя_процесса | идентификатор_процесса>

-

Выводится перечень допустимых параметров.

-t

Завершает процесс и все процессы — его потомки.

\\компьютер

Имя компьютера, где выполняется процесс, который нужно завершить. Удаленный компьютер должен быть виден в сетевом окружении ОС NT.

-u имя_пользователя

Если нужно завершить процесс, выполняемый в удаленной системе, но ваши учетные данные не содержат прав администратора для этой системы, то для входа в удаленную систему с правами администратора следует использовать этот параметр. Если пароль не задан с помощью параметра -p, то программа PsKill выдаст запрос на ввод пароля, при этом вводимый пароль не будет отображаться на экране.

-p пароль

Этот параметр позволяет задать пароль в командной строке, что дает возможность вызывать программу PsKill из пакетного файла. Если указать имя учетной записи без параметра -p, то программа PsKill в процессе работы выдаст запрос на ввод пароля.

идентификатор_процесса

Идентификатор процесса, который нужно завершить.

имя_процесса

Имя одного или нескольких процессов, которые нужно завершить.

Статьи о программе PsKill в базе знаний Майкрософт

Данная статья базы знаний Майкрософт посвящена программе PsKill:

810596: PSVR2002: Сообщение об ошибке «Для отображения этого представления нет данных» при попытке доступа к представлению «Проект»

Комплект программ PsTools

Программа PsKill входит в состав постоянно расширяющегося набора средств под названием PsTools, разработанного компанией Sysinternals и предназначенного для работы в режиме командной строки, он позволяет выполнять администрирование локальных и удаленных систем под управлением операционных систем Windows NT и 2000.

Загрузка комплекта программ PsTools (1 МБ)

PsList v1.28

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 12 апреля 2006 г.

Введение

pslist exp
Выводятся статистические данные для всех процессов, имя которых начинается с «exp», например, для процесса Explorer.

-d

Выводятся сведения о потоке.

-m

Выводятся сведения о памяти.

-x

Выводится список процессов, сведения о памяти и потоках.

-t

Выводится дерево процесса.

-s [n]

Запускается режим диспетчера задач, дополнительно можно указать продолжительность использования режима в секундах. Для отмены режима нажмите клавишу Esc.

-r n

Периодичность обновления сведений в окне диспетчера задача (значение по умолчанию — 1).

\\компьютер

Вместо вывода информации о процессах на локальном компьютере программа PsList выводит сведения об указанной операционной системе Windows NT или 2000. Задайте параметр -u, указав имя и пароль пользователя, от имени которого следует войти в удаленную систему, если ваших прав недостаточно для получения информации о счетчиках производительности этой системы.

-u

Имя пользователя. Если нужно прекратить процесс, выполняемый в удаленной системе, но ваша учетная запись не имеет прав администратора для этой системы, то для входа в удаленную систему с правами администратора следует использовать этот параметр. Если пароль не задан с помощью параметра -p, то программа PsList выдаст запрос на ввод пароля, при этом вводимый пароль не будет отображаться на экране.

-p

Пароль. Этот параметр позволяет задать пароль в командной строке, что дает возможность вызывать программу PsList из пакетного файла. Если указать имя учетной записи без параметра -p, то программа PsList в процессе работы выдаст запрос на ввод пароля.

имя

Выводятся сведения о процессах, имена которых начинаются с заданной строки.

-e

Выводятся сведения о процессе, имя которого точно соответствует введенной строке.

pid

При указании этого параметра программа PsList вместо вывода списка всех выполняющихся в системе процессов производит поиск процесса с указанным идентификатором PID. Таким образом, если ввести команду
pslist 53
, то будут выведены статистические данные процесса, PID которого равен 53.

Работа программы

Так же как и встроенный монитор операционных систем Windows NT и 2000, программа PsList использует для получения данных системные счетчики производительности. Документацию по счетчикам производительности в ОС Windows NT и 2000, в том числе исходный текст программы PerfMon — встроенного монитора ОС Windows NT, можно получить на веб-узле MSDN.

Обозначения, используемые при выводе сведений о памяти

Все числовые значения приводятся в килобайтах.

* Pri: приоритет.

* Thd: количество потоков.

* Hnd: количество дескрипторов.

* VM: виртуальная память.

* WS: рабочий набор.

* Priv: собственная виртуальная память.

* Priv Pk: собственная виртуальная память (максимальный объем).

* Faults: ошибки страниц.

* NonP: невыгружаемый пул.

* Page: выгружаемый пул.

* Cswtch: переключения контекста.

Комплект программ PsTools

Программа PsList входит в состав постоянно расширяющегося набора средств под названием PsTools, разработанного компанией Sysinternals, который предназначен для работы в режиме командной строки и позволяет выполнять администрирование локальных и удаленных систем под управлением операционных систем Windows NT/2000.

Загрузка комплекта программ PsTools (1 МБ)

PsService v2.21

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 12 апреля 2006 г.

Введение

PsService – утилита командной строки для просмотра и управления службами Windows. Подобно утилите SC, входящей в состав комплекта ресурсов для Windows NT и Windows 2000 Resource Kits, программа PsService отображает состояние, конфигурацию и зависимости служб, а также позволяет запускать, приостанавливать, возобновлять и перезапускать их. Но, в отличие от SC, PsService еще позволяет заходить на удаленный компьютер от имени другой учетной записи в тех случаях, когда текущая учетная запись не обладает разрешениями, необходимыми для доступа к удаленной системе. Утилита PsService включает уникальную функцию поиска, позволяющую обнаружить активные экземпляры указанной службы в сети. Например, она может оказаться полезной, если нужно найти системы, на которых работает DHCP-сервер.

И, наконец, PsService работает в операционных системах NT 4, Windows 2000 и Windows Vista, тогда как версия SC из «Windows 2000 Resource Kit» годится только для Windows 2000, к тому же PsService не требует вручную вводить «индекс возобновления», чтобы получить полную информацию о службе.

Установка

Просто скопируйте программу PsService в любую из папок, в которых система ищет исполняемые файлы, и затем введите команду «psservice».

Программа PsService работает в ОС Windows NT 4.0 и более поздних версиях (включая Windows Vista).

Порядок вызова

По умолчанию программа PsService выводит список всех сконфигурированных служб (работающих и остановленных) в локальной системе. Если при вызове указана команда, то вызывается соответствующая ей функция. Некоторые команды могут сопровождаться дополнительными параметрами. Если после команды ввести символ «-», на экран выводится информация о синтаксисе этой команды.

Применение: psservice [\\коммьютер [-u имя_пользователя] [-p пароль]] <команда> <параметры>

query | Вывести текущее состояние службы.
config | Вывести конфигурацию службы.
setconfig | Задать способ запуска службы (отключена, автоматически, вручную).
start | Запустить службу.
stop | Остановить службу
restart | Остановить и снова запустить службу.
pause | Приостановить работу службы.
cont | Возобновить работу приостановленной службы.
depend | Вывести список служб, зависящих от указанной.
security | Вывести дескриптор безопасности службы.
find | Искать указанную службу в сети.
\\компьютер | Задает имя компьютера с ОС NT или Win2K, к которому относится команда. Задайте параметр -u, указав имя и пароль пользователя, от имени которого следует зайти на удаленную систему, если ваших прав недостаточно для получения от нее информации о счетчиках производительности. Если задан только параметр -u, а параметр -p с указанием пароля опущен, то программа PsService попросит ввести пароль, но не будет отображать его на экране.

Работа программы

Программа PsService использует интерфейс API диспетчера управления службами, описанный в документации Platform SDK.

PsTools

Программа PsService входит в состав постоянно расширяющегося набора программ командной строки под названием PsTools, который публикуется на веб-узле Sysinternals и предназначен для администрирования локальных и удаленных систем под управлением ОС Windows.

Загрузка комплекта программ PsTools (1 МБ)

PsShutdown v2.52 и/или PsSuspend

By Mark Russinovich

Published: December 4, 2006

Introduction

PsShutdown is a command-line utility similar to the shutdown utility from the Windows 2000 Resource Kit, but with the ability to do much more. In addition to supporting the same options for shutting down or rebooting the local or a remote computer, PsShutdown can logoff the console user or lock the console (locking requires Windows 2000 or higher). PsShutdown requires no manual installation of client software.

Installation

Just copy PsShutdown onto your executable path, and type psshutdown with command-line options defined below.

Using PsShutdown

See the February 2005 issue of Windows IT Pro Magazine for Mark's article that covers advanced usage of PsKill.

You can use PsShutdown to initiate a shutdown of the local or a remote computer, logoff a user, lock a system, or to abort an imminent shutdown.

Usage: psshutdown [[\\computer[,computer[,..] | @file [-u user [-p psswd]]] -s|-r|-h|-d|-k|-a|-l|-o [-f] [-c] [-t nn|h:m] [-n s] [-v nn] [-e [u|p]:xx:yy] [-m "message"]

- | Displays the supported options.
computer | Perform the command on the remote computer or computers specified. If you omit the computer name the command runs on the local system, and if you specify a wildcard (\\*), the command runs on all computers in the current domain.
@file | Run the command on each computer listed in the text file specified.
-u | Specifies optional user name for login to remote computer.
-p | Specifies optional password for user name. If you omit this you will be prompted to enter a hidden password.
-a | Aborts a shutdown (only possible while a countdown is in progress).
-c | Allows the shutdown to be aborted by the interactive user.
-d | Suspend the computer.
-e | Shutdown reason code. Specify 'u' for user reason codes and 'p' for planned shutdown reason codes. xx is the major reason code (must be less than 256). yy is the minor reason code (must be less than 65536).
-f | Forces all running applications to exit during the shutdown instead of giving them a chance to gracefully save their data.
-h | Hibernate the computer.
-k | Poweroff the computer (reboot if poweroff is not supported).
-l | Lock the computer.
-m | This option lets you specify a message to display to logged-on users when a shutdown countdown commences.
-n | Specifies timeout in seconds connecting to remote computers.
-o | Logoff the console user.
-r | Reboot after shutdown.
-s | Shutdown without power off.
-t | Specifies the countdown in seconds until the shutdown (default: 20 seconds) or the time of shutdown (in 24 hour notation).
-v | Display message for the specified number of seconds before the shutdown. If you omit this parameter the shutdown notification dialog displays and specifying a value of 0 results in no dialog.

PsTools

PsShutdown is part of a growing kit of Sysinternals command-line tools that aid in the adminstration of local and remote systems named PsTools.

Download PsTools (1 MB)

Runs on:

* Client: Windows XP and higher.

* Server: Windows Server 2003 and higher.

RegMon для Windows v7.04

HELP

Авторы: Марк Руссинович (Mark Russinovich) и Брюс Когсуэлл (Bryce Cogswell)

Опубликовано 11 января 2006 г.

Введение

Примечание: Программы Filemon и Regmon заменены одной программой Process Monitor в версиях Windows, начиная с Windows 2000 SP4, Windows XP SP2, Windows Server 2003 SP1 и Windows Vista. Однако программы Filemon and Regmon оставлены для поддержки устаревших операционных систем, включая и Windows 9x.

Программа Regmon предназначена для слежения за реестром. Она показывает, какие приложения обращаются к реестру и в какие разделы, какую информацию они читают или пишут. И все это в реальном масштабе времени. Она делает куда больше, чем инструменты для статического анализа реестра, поскольку позволяет увидеть и понять, как используют реестр различные программы. С помощью статических инструментов можно узнать, какие разделы и значения в реестре изменились. А программа Regmon даст возможность увидеть, когда и как это происходит.

Программа Regmon работает в операционных системах Windows NT, 2000, XP, 2003, Windows 95, 98, Me и 64-разрядных версиях Windows для архитектуры x64.

Установка и использование

При возникновении вопросов или проблем, связанных с программой Regmon, посетите посвященный ей форум на веб-узле Sysinternals.

Для установки программы просто скопируйте файлы на свой жесткий диск и запустите файл Regmon.exe. Пункты меню и кнопки на панели инструментов позволяют включать и выключать отслеживание, деактивировать сбор информации о событиях, управлять прокруткой списка и сохранять содержимое списка в ASCII-файле.

C помощью диалогового окна Filter, которое можно открыть, нажав кнопку на панели инструментов или выбрав из меню команду Option|Filter/Highlight (параметры, фильтр или выделение), укажите, какие данные показывать в списке. Подстановочный символ «*» соответствует произвольной строке, фильтры не зависят от регистра букв. Показываются только данные, которые определены во включающем фильтре и при этом не определены в исключающем фильтре. Строки в фильтре разделяются точкой с запятой (';'), например: «regmon;software».

Например, если установлен включающий фильтр «HKLM» и исключающий фильтр «HKLM\Software», то программа будет отслеживать обращения ко всем разделам и значениям в ветви HKLM за исключением тех, что принадлежат ветви HKLM\Software.

С помощью подстановочных символов можно задавать сложные образцы для сопоставления, что позволяет, к примеру, отслеживать обращения к реестру, сделанные конкретными приложениями. Так, включающий фильтр «Winword*Windows» сообщает программе Regmon, что нужно показывать лишь обращения из программы Microsoft Word к разделам и значениям, содержащим слово «Windows».

С помощью фильтра выделения можно указать, какие строки в списке следует выделять цветом. Цвета для выделения устанавливаются командой меню Options|Highlight Colors (параметры | цвета выделения).

Программа Regmon может также снабжать события отметками о времени или показывать время, прошедшее с момента последней очистки окна вывода (или с момента запуска программы). Меню Options (параметры) и кнопка с изображением часов на панели инструментов позволяют переходить из одного режима в другой. В зависимости от текущего режима на панели инструментов изображается значок часов или секундомера. Если установлен режим показа истекшего времени, то значение в колонке Time — это число секунд, потребовавшееся файловой системе для обслуживания запросов.

Если вы захотите изменить какой-нибудь раздел или значение в списке, выводимом программой Regmon, дважды щелкните соответствующую строку (или нажмите кнопку на панели инструментов со значком программы Regedit). В ответ Regmon запустит программу Regedit и установит курсор на соответствующем разделе реестра.

Перейдите по этой ссылке, если хотите узнать о том, как Regmonможет следить за процессом загрузки системы. Эта функция доступна для ОС Windows NT.

Как работает программа Regmon

В основе работы Regmon на платформе Windows 9x лежит драйвер виртуального устройства Regvxd.vxd. Он загружается динамически и на этапе инициализации подключается к службе VxD (дополнительную информацию об этой методике см. в нашей статье в номере журнала «Dr. Dobb's Journal» за май 1996 года), чтобы добавить себя в цепочку вызовов 16 функций доступа к реестру, находящихся в ядре Windows 95 (подсистема Virtual Machine Manager — диспетчер виртуальных машин). Все обращения к реестру, будь то из 16-разрядных программ, Win32-приложений или драйверов устройств, проходят через эти функции, а Regmon перехватывает все их вызовы.

В операционных системах Windows NT, 2000 и XP программа Regmon загружает драйвер устройства, в котором применяется техника перехвата системных вызовов, которую мы впервые реализовали для NT. Когда компонент, работающий в режиме пользователя, выполняет привилегированный системный вызов, управление передается обработчику программных прерываний, находящемуся в файле NTOSKRNL.EXE (ядро операционной системы Windows NT). Обработчик извлекает из машинного регистра номер системного вызова, который служит индексом для таблицы системных служб, и находит в этой таблице адрес функции, которая должна обрабатывать запрос. Подставив вместо него адрес собственной функции, можно перехватить обращение к системе и таким образом подменить, дополнить или просто запротоколировать вызовы тех или иных служб. Программа Regmon подменяет только адреса функций, имеющих отношение к реестру, но это лишь один пример использования открывающихся возможностей.

На платформе Windows .NET Server программа Regmon использует новый механизм обратных вызовов при обращении к реестру. Она регистрирует себя и получает информацию о каждом вызове в тот момент, когда он производится. При запуске на этой платформе Regmon загружает свой драйвер, которому и приходят уведомления о вызовах.

Когда Regmon получает информацию об открытии, создании или закрытии ключа, она обновляет внутреннюю хеш-таблицу, в которой хранится соответствие между описателями разделов и путями к ним в реестре. Если же выполняется какой-то вызов с описателем раздела в качестве аргумента, то Regmon ищет запись в этой таблице, чтобы вывести соответствующий разделу путь. Если раздел, на который ссылается описатель, был открыт до запуска Regmon, то соответствующая запись в таблице не будет найдена, и тогда Regmon просто выведет значение раздела.

Информация о доступе к реестру записывается в формате ASCII во внутренний буфер, который периодически копируется в список, отображаемый в окне программы.

Дополнительную информацию о работе программы Regmon на платформе Windows NT см. в следующих источниках.

* "Перехват системных вызовов в операционной системе Windows NT", Марк Руссинович и Брайс Когсуэлл, Dr. Dobb's Journal, январь 1997.

* "Утилиты для NT – взгляд изнутри", Windows NT Magazine, февраль 1999.

Дополнительные сведения

Ниже перечислены дополнительные источники информации о реестре в операционных системах Windows NT/2000/XP и Windows 9x/Me:

* Внутреннее устройство Windows 2000, третье издание, Дэвид Соломон и Марк Руссинович, Питер, Русская редакция 2001

* "Исследование реестра Windows 95", Марк Руссинович и Брайс Когсуэлл, Windows Developer's Journal, октябрь 1996

* "Внутреннее устройство реестра Windows NT ", Марк Руссинович, Windows NT Magazine, апрель 1997

* " Inside the Windows 95 Registry", Ron Petrusha, O'Reilly and Associates, 1996

* " Managing the Windows NT Registry" Paul Robichaux и Robchauxg , O'Reilly and Associates, 1998

* " Windows 98 Registry For Dummies", Glenn Weadock, IDG Press, 1998

* " Using the Windows 98 Registry", Jerry Honeycutt, Que, 1998

Статьи о программе Regmon в базе знаний Microsoft

В следующих статьях из базы знаний Microsoft упоминается об использовании программы Regmon для диагностики и устранения различных ошибок:

* 296205: ACC: Сообщение об ошибке Компоненту ActiveX Component не удается создать объект;

* 830761: Рекомендации по развертыванию приложений Visual Basic 6.0;

* 269251: ОШИБКА: автоматизация Windows Installer может зависать при перечислении продуктов;

* 323639: создание пользовательских административных шаблонов в Windows 2000;

* 286198: Как искать DLL, к которой относится сообщение «Permission Denied»;

* 309051: Как устранять неполадки в работе ASP на платформе IIS 5.0;

* 308940: Как исследовать причины ошибки 1928 «Error Registering COM+ Application»;

* 814774: Как устранять неполадки при развертывании вэб-узла в Microsoft Content Management Server 2002;

* 198038: Полезные инструменты для решения проблем, возникающих при создании и развертывании пакетов;

* 327657: OL2002: Как создать доверенную COM-надстройку для Outlook;

* 260513: При установке продуктов, входящих в состав Visual Studio, возникает ошибка;

* 274038: Ошибка ASP 8002801d «Library Not Registered»;

* 269383: Сообщение «Error Accessing the System Registry» при выводе списка ссылок в VB/VBA;

* 296108: Различные ошибки в программах, входящих в состав Visual Studio, на платформе Windows NT;

* 310586: Экземпляр Exchange MSSearch не переходит в оперативный режим на кластере, при этом в журнале регистрации событий появляются ошибки 3055 и 10006;

* 555069: 10 потенциально опасных параметров для Microsoft Windows XP Professional Edition и Microsoft Windows Server 2003;

* 296136: Сообщение об ошибке: Error 123: The Filename, Directory Name, or Volume Label Syntax Is Incorrect.

Загрузить программу Regmon (271 КБ)

Примечание. Это средство заменено программой Process Monitor.

Взаимосвязанные утилиты

Ниже приведен перечень других средств мониторинга, опубликованных на веб-узле Sysinternals:

* FileMon - отслеживание доступа к файлам;

* PortMon - отслеживание обращений к последовательным и параллельным портам;

* Process Monitor — слежение за процессами и потоками;

* DiskMon - отслеживание работы жесткого диска;

* DebugView - отслеживание вывода отладочной информации.

Autologon для Windows (версия 2.10)

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 1 ноября 2006 г.

Введение

Операционные системы Windows NT и 2000 содержат настройки реестра, позволяющие пользователю избежать очередного отображения диалогового окна входа в систему и выполнить автоматический вход. Однако эти параметры находятся довольно глубоко, и настроить их достаточно сложно. Программа Autologon выполнит необходимую настройку реестра и позволит включать и отключать автоматический вход в систему.

Программа Autologon весьма проста в использовании. Надо лишь запустить ее, заполнить поля диалогового окна и нажать кнопку Enable (включить). Чтобы отключить автоматический вход в систему, нажмите Disable (отключить). Если параметр DefaultPassword не задан, автоматический вход в систему будет произведен только один раз, а затем будет отключен. Кроме того, если перед выполнением системой автоматического входа удерживается клавиша SHIFT, автоматический вход для этого сеанса не будет использован. Можно передать имя пользователя, домен и пароль в виде параметров командной строки: autologon пользователь домен пароль.

Загрузить программу Autologon (40 КБ)

LogonSessions (версия 1.1)

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 1 декабря 2006 г.

Введение

Если вы думаете, что во время входа в систему открывается всего один активный сеанс входа, результаты работы этой утилиты вас удивят. Она выводит список сеансов входа в систему, активных в данный момент, а также (если задан параметр -p) процессов, исполняемых в рамках каждого из этих сеансов. Программа LogonSessions работает в среде Windows 2000 и в последующих версиях этой ОС.

Синтаксис: logonsessions [-p]

Загрузить программу Logonsessions (62 КБ)

Программа NewSID (версия 4.10)

Авторы: Марк Руссинович (Mark Russinovich) и Брайс Когсвелл (Bryce Cogswell)

Опубликовано 1 ноября 2006 г.

Важно!

В отношении идентификаторов SID корпорация Майкрософт не поддерживает образы, подготовленные с использованием программы NewSID. Поддерживаются только образы, подготовленные с помощью программы SysPrep. Корпорация Майкрософт не проводила тестирование программы NewSID во всех вариантах клонирования при развертывании.

Подробнее об официальной политике корпорации Майкрософт см. в статье базы знаний

•

Политика корпорации Майкрософт в отношении создания дубликатов диска установки Windows XP

Введение

Многие организации используют клонирование образов дисков для выполнения массовой установки ОС Windows. Эта методика предполагает копирование диска компьютера с полностью установленной и настроенной ОС Windows на диски других компьютеров. В результате эти компьютеры сразу становятся готовы к использованию, как если бы прошли такой же процесс установки, что и исходный компьютер.

Хотя этот метод экономит многие часы работы и позволяет избежать трудностей, связанных с другими подходами к развертыванию, он имеет существенный недостаток, который заключается в том, что все клонированные системы имеют одинаковый идентификатор безопасности (SID). Это создает угрозу безопасности в средах с использованием рабочих групп, а также может создавать угрозу безопасности съемных носителей в сетях, где есть компьютеры с одинаковыми идентификаторами безопасности.

Потребности пользователей Windows заставили несколько компаний разработать программы, которые могут изменять идентификатор SID после клонирования системы. Однако программы Ghost Walker компании Symantec и SID Changer компании Altiris (впоследствии приобретенной Symantec) продаются только в составе полных продуктов компании. Кроме того, обе программы работают из командной строки DOS (программа от Altiris похожа на NewSID).

NewSID — это программа, которую мы разработали для изменения идентификатора безопасности компьютера. Она бесплатна и предназначена для Win32, а это значит, что ее можно легко запускать на системах, которые были клонированы. Программа работает с операционными системами Windows NT 4, Windows 2000, Windows XP и Windows .NET Server.

Перед использованием программы прочтите эту статью целиком.

Информация о версиях:

* В версии 4.0 добавлена поддержка ОС Windows XP и .NET Server, интерфейс в стиле мастера, возможность указывать идентификатор безопасности, которой нужно применить, сжатие реестра, а также возможность изменения имени компьютера (что приводит к изменению NetBIOS- и DNS-имен).

* В версии 3.02 исправлена ошибка, в результате которой программа NewSid неправильно копировала значения по умолчанию с недопустимыми типами значений при изменении имени раздела со старым идентификатором на новый. ОС NT использует такие недопустимые значения в определенные моменты процесса управления лицензиями (SAM). Признаком этой ошибки были сообщения об отказе в доступе при обновлении информации учетной записи авторизованным пользователем.

* В версии 3.01 добавлен обходной путь для проблемы с недоступным разделом реестра, создаваемым сервером транзакций. Без этого обходного пути программа NewSID преждевременно завершалась бы.

* В версии 3.0 появилась функция синхронизации идентификаторов. Теперь возможно получить подлежащего использованию идентификатор от другого компьютера.

* В версии 2.0 появился автоматический режим и возможность смены имени компьютера.

* В версии 1.2 исправлена ошибка, которая появилась в версии 1.1 и приводила к тому, что некоторые дескрипторы безопасности файловой системы не обновлялись.

* В версии 1.1 исправлена относительно небольшая ошибка, которая отражалась только на определенных установках. Эта версия также была дополнена функцией изменения идентификаторов безопасности, связанных с настройками прав совместного доступа к файлам и принтерам.

Клонирование и альтернативные методы развертывания

Один из наиболее популярных методов выполнения массового развертывания ОС Windows (обычно на сотнях компьютеров) в корпоративных средах основан на технологии клонирования дисков. Системный администратор устанавливает базовую операционную систему и дополнительное программное обеспечение, используемое в компании, на эталонный компьютер. После настройки машины для работы в корпоративной сети для копирования дисков эталонного компьютера на десятки или сотни других компьютеров используются автоматизированные средства копирования диска или системы (например программа Ghost компании Symantec, Image Drive компании PowerQuest или RapiDeploy компании Altiris). На полученных клонах выполняются окончательные настройки, например назначение уникальных имен. Затем готовые компьютеры поступают сотрудникам компании.

Еще одним популярным методом развертывания является использование служебной программы sysdiff корпорации Майкрософт (входит в пакет Windows Resource Kit). Это средство требует, чтобы администратор выполнил полную установку (обычно это автоматизированная установка с помощью сценария) на каждом компьютере, а затем служебная программа sysdiff автоматизирует применение образов установки дополнительного программного обеспечения.

Поскольку этап установки отсутствует, а посекторное копирование диска эффективнее пофайлового, развертывание с помощью клонирования может сэкономить десятки часов по сравнению с установкой при помощи служебной программы sysdiff. Кроме того, системному администратору не требуется изучать использование установок без участия пользователя или служебной программы sysdiff, а также создавать и отлаживать сценарии установки. Только это экономит многие часы работы.

Проблема дублирования SID

Недостатком клонирования является то, что этот процесс поддерживается корпорацией Майкрософт в очень ограниченной степени. Корпорация Майкрософт объявила, что клонирование систем поддерживается только в том случае, если оно выполняется до начала этапа установки ОС Windows, на котором используется графический интерфейс (GUI). Когда процесс установки достигает этого этапа, компьютеру присваивается имя и уникальный SID компьютера. Если система клонируется после этого этапа, клонированные машины будут иметь одинаковые SID компьютера. Следует заметить, что простое изменение имени компьютера или включение компьютера в другой домен не изменяет SID компьютера. Изменение имени или домена приводит лишь к изменению SID домена, и только в том случае, если компьютер был ранее связан с доменом.

Для понимания проблем, которые может вызвать клонирование, сначала необходимо разобраться с тем, как индивидуальным локальным учетным записям на компьютере назначаются SID. SID локальных учетных записей состоят из SID компьютера и дополнительного идентификатора RID (Relative Identifier — относительный идентификатор). Идентификатор RID начинается с фиксированного значения и увеличивается на единицу при создании каждой учетной записи. Так, второй учетной записи на том же компьютере будет присвоен такой же RID, как и второй учетной записи на клоне. В результате обе учетные записи будут иметь одинаковый SID.

Дублирование SID не является проблемой в среде на основе доменов, так как учетные записи домена получают SID, основанные на SID домена. Но, согласно статье базы знаний корпорации Майкрософт Q162001 “Не создавайте копии установок Windows на различных дисках”, в среде с использованием рабочих групп безопасность основана на SID локальных учетных записей. Таким образом, если два компьютера будут иметь пользователей с одинаковыми SID, рабочая группа не сможет различить этих пользователей. Все ресурсы, включая файлы и разделы реестра, к которым имеет доступ один пользователь, будут доступны и другому.

Еще одним примером, когда дублирование идентификаторов SID может вызвать проблемы, — наличие съемного носителя, отформатированного в файловой системе NTFS, к файлам и каталогам которого применяются атрибуты безопасности локальной учетной записи. Если такой носитель переносится на другой компьютер, обладающий таким же SID, то локальные учетные записи, которые иначе не получили бы доступа к файлам, могут получить его, если идентификаторы этих учетных записей совпадут с идентификатором в атрибутах безопасности. Такое невозможно, если компьютеры имеют разные SID.

В написанной Марком статье “Варианты развертывания систем NT”, опубликованной в июньском выпуске журнала Windows NT Magazine, более подробно рассматривается вопрос дублирования SID, а также излагается официальная позиция корпорации Майкрософт в отношении клонирования. Чтобы узнать, есть ли в вашей сети проблема дублирования SID, воспользуйтесь программой PsGetSid, которая отображает SID компьютеров.

Программа NewSID

NewSID — программа, разработанная нами для изменения SID компьютера. Сначала генерируется случайный SID для компьютера, а затем выполняется обновление экземпляров существующего SID компьютера, которые находятся в реестре и дескрипторах безопасности файлов — старый SID заменяется на новый. Для работы программы NewSID необходимы права администратора. Она обладает двумя функциями: изменение SID и изменение имени компьютера.

Чтобы воспользоваться автоматическим режимом работы программы NewSID, укажите в командной строке параметр “/a”. Также существует возможность включить автоматическую замену имени компьютера, указав после этого параметра новое имя. Пример:

newsid /a [новое_имя]

При этом программа NewSID будет выполняться без выдачи запросов, изменит имя компьютера на новое_имя и перегрузит компьютер, если процесс пройдет без ошибок.

Примечание. Если в системе, в которой требуется запустить программу NewSID, работает служба IISAdmin, необходимо остановить ее до запуска программы. Для выключения службы IISAdmin воспользуйтесь следующей командой: net stop iisadmin /y

Функция синхронизации SID программы NewSID позволяет указать, что новый SID должен не генерироваться случайным образом, а быть получен у другого компьютера. Эта функция позволяет перемещать резервный контроллер домена в новый домен, так как отношение контроллера к домену определяется одинаковым SID этого контроллера и других контроллеров домена. Просто нажмите на кнопку “Synchronize SID” (синхронизировать SID) и введите имя целевого компьютера. Необходимо иметь разрешения на изменение параметров безопасности разделов реестра целевого компьютера. Обычно это означает, что для пользования этой функцией требуется выполнить вход в качестве администратора домена.

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

Важно! Следует помнить, что, несмотря на тщательное тестирование программы NewSID, вы берете все риски на себя, используя ее. Как при использовании любого программного обеспечения, вносящего изменения в настройки файлов и реестра, настоятельно рекомендуется выполнить полное резервное копирование имеющейся на компьютере информации до запуска программы NewSID.

Перемещение резервного контроллера домена

Ниже приведены шаги, которые необходимо выполнить для переноса резервного контроллера домена из одного домена в другой:

1. | Включите доменный контроллер, который требуется переместить, и войдите в систему. Воспользуйтесь программой NewSID для синхронизации SID резервного контроллера домена с SID основного контроллера того домена, в который нужно переместить резервный контроллер.
2. | Выполните перезагрузку системы, в которой был изменен SID (т.е. резервного контроллера). Так как в домене, с которым теперь связан резервный контроллер, уже есть действующий основной контроллер, резервный контроллер будет загружен в новом домене именно в качестве резервного.
3. | Он будет показан в диспетчере серверов в качестве рабочей станции, поэтому воспользуйтесь кнопкой “Add to Domain” (добавить в домен), чтобы добавить резервный контроллер в новый домен. При добавлении обязательно установите переключатель в состояние “BDC” (резервный контроллер).

Принцип работы

Программа NewSID начинает работу со считывания существующего SID компьютера. SID компьютера хранится в кусте реестра SECURITY в разделе SECURITY\SAM\Domains\Account. Этот раздел содержит значения F и V. Значение V является двоичным, и в конце его находится SID компьютера. Программа NewSID проверяет соответствие SID стандартному формату (три 32-разрядных поля защитного кода , за которыми идут три 32-разрядных поля подчиненного защитного кода).

Далее программа генерирует для компьютера новый случайный SID. Производится тщательное генерирование по-настоящему случайного 96-разрядного значения для замены 96 разрядов 3 полей подчиненного защитного кода, составляющих SID компьютера.

Далее следуют три этапа замены SID компьютера. На первом этапе разделы и значения кустов реестра SECURITY и SAM сканируются на предмет старого SID. При нахождении старого SID в значении оно заменяется новым SID, а при обнаружении в имени раздел и его подразделы копируются в новый подраздел, получающий то же имя, но с новым SID.

Последние два этапа — обновление дескрипторов безопасности. С разделами реестра и файлами системы NTFS связаны параметры безопасности. Дескриптор безопасности состоит из элемента, который определяет, какая учетная запись является владельцем ресурса; какая группа является основным групповым владельцем; необязательного списка элементов, определяющих действия, которые разрешены пользователям или группам — DACL (Discretionary Access Control List — список управления доступом на уровне пользователей); а также необязательного списка элементов, определяющих, какие действия определенных пользователей или групп должны генерировать записи в журнале событий системы — SACL (System Access Control List — системный список управления доступом). Пользователь или группа определяется в этих дескрипторах безопасности по SID. Как уже сказано выше, локальные учетные записи пользователей (кроме встроенных учетных записей, например “Администратор”, “Гость” и т.д.) имеют свои SID, состоящие из SID компьютера и идентификатора RID.

Первая часть обновления дескрипторов безопасности выполняется для всех файлов системы NTFS компьютера. Каждый дескриптор безопасности сканируется на наличие идентификатора SID компьютера. Когда программа NewSID находит такой идентификатор, он заменяется на новый идентификатор SID компьютера.

Вторая часть обновления дескрипторов безопасности выполняется для реестра. Во-первых, программа NewSID должна просканировать все кусты, а не только загруженные. Каждой учетной записи пользователя сопоставлен куст реестра, загружаемый в качестве HKEY_CURRENT_USER при входе пользователя в систему, но который остается на диске в каталоге профиля пользователя, пока вход не будет осуществлен. Программа NewSID определяет расположение кустов всех пользователей с помощью перечисления раздела реестра HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ProfileList, указывающего каталоги, в которых сохранены кусты. Затем выполняется загрузка кустов в реестр с помощью функции RegLoadKey в HKEY_LOCAL_MACHINE и весь реестр сканируется для проверки каждого дескриптора безопасности на наличие старого SID компьютера. Обновление производится так же, как и для файлов, а по его завершении программа NewSID выгружает кусты пользователей, которые были загружены. На последнем этапе программа сканирует раздел HKEY_USERS, который содержит куст зарегистрированного в данный момент пользователя, и куст .Default. Это необходимо, потому что куст невозможно загрузить дважды и, соответственно, куст зарегистрированного пользователя не был загружен в раздел HKEY_LOCAL_MACHINE, когда программа NewSID выполняла загрузку других кустов.

Наконец, программа NewSID должна обновить подразделы ProfileList, чтобы они имели ссылки на новые SID учетных записей. Этот этап необходим для правильного сопоставления профилей ОС Windows NT с учетными записями пользователей после изменения SID учетных записей в соответствии с SID компьютера.

Программа NewSID обеспечивает себе доступ и возможность изменения каждого файла и раздела реестра в системе путем активизации следующих привилегий: System (система), Backup (архивация), Restore (восстановление) и Take Ownership (смена владельца).

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

Полный исходный текст программы NewSID предоставляется для целей обучения. Использовать этот исходный текст в коммерческих или бесплатных программах для изменения SID не допускается, но можно использовать соответствующие методики в других программах для частного или коммерческого использования.

Загрузить программу NewSID (68 КБ)

PsLoggedOn (версия 1.33)

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 4 декабря 2006 г.

Введение

Для выявления потребителей ресурсов локального компьютера применяется команда net (net session); что же касается определения состава пользователей, обращающихся к ресурсам удаленных компьютеров, то для этого штатные средства не предусмотрены. Кроме того, в NT нет инструментов вывода списка пользователей, вошедших в локальную или удаленную систему. PsLoggedOn — это приложение, выводящее список пользователей, вошедших в систему как в локальном режиме, так и через ресурсы локального или удаленного компьютера. Если указать вместо имени компьютера имя пользователя, программа PsLoggedOn проведет поиск среди компьютеров в сетевом окружении и сообщит, вошел ли данный пользователь в одну из этих систем. В комплекте загружаемых файлов имеется полная версия исходного кода.

Вошедшим в локальную систему программа PsLoggedOn считает пользователя, профиль которого загружен в реестр; при составлении списка таких пользователей она проводит поиск среди элементов раздела реестра HKEY_USERS. Обнаружив раздел, имя которого совпадает с идентификатором безопасности того или иного пользователя, программа PsLoggedOn определяет имя этого пользователя и выводит его. Для составления списка пользователей, вошедших в систему через общие ресурсы, программа PsLoggedOn обращается к прикладному программному интерфейсу NetSessionEnum. Следует иметь в виду, что среди пользователей, вошедших через общие ресурсы на искомые удаленные компьютеры, программа PsLoggedOn укажет и ваше собственное имя — дело в том, что для доступа к реестру удаленной системы вы должны выполнить вход.

Установка

Скопируйте программу PsLoggedOn в папку для исполняемых файлов, а затем введите команду psloggedon.

Программа PsLoggedOn работает в ОС Windows Vista, NT 4.0, Win2K, Windows XP и Server 2003.

Применение

Синтаксис: psloggedon [- ] [-l] [-x] [\\имя_компьютера | имя_пользователя]

- | Вывод списка поддерживаемых параметров и единиц измерения, применяемых при выводе данных.
-l | Вывод списка пользователей, вошедших только в локальную систему (без сеансов через сетевые ресурсы).
-x | Запрет на вывод временных параметров входа в систему.
\\имя_компьютера | Позволяет указать имя компьютера, к которому должен относиться список вошедших пользователей.
имя_пользователя | При указании имени пользователя программа PsLoggedOn проводит в сети поиск систем, в которые этот пользователь вошел. Эта возможность позволяет, в частности, убедиться в том, что тот или иной пользователь не числится среди вошедших в системы, перед изменением настроек его профиля.

Комплект программ PsTools

Программа PsLoggedOn входит в состав постоянно расширяющегося набора средств командной строки под названием PsTools производства Sysinternals, который предназначен для администрирования локальных и удаленных систем под управлением ОС Windows NT/2000.

Загрузить набор программ PsTools (1 МБ)

PsLogList (версия 2.64)

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 4 декабря 2006 г.

Введение

В состав комплекта Resource Kit входит программа elogdump, которая позволяет сохранить содержимое журнала событий локального или удаленного компьютера. Программа PsLogList является аналогом этой программы, с той лишь разницей, что PsLogList позволяет выполнить вход на удаленную систему и получить строки сообщений с компьютера, на котором расположен просматриваемый журнал, в случаях, если текущий набор учетных сведений не позволяет получить доступ к журналу событий.

Установка

Просто скопируйте программу PsLogList в любую из папок, в которых система ищет исполняемые файлы, а затем выполните команду psloglist.

Программа PsLogList работает в операционных системах Windows Vista, NT 3.51, NT 4.0, Win2K, Windows XP и Server 2003.

Использование программы

По умолчанию программа PsLogList выводит в удобном формате содержимое системного журнала событий локального компьютера. С помощью параметров командной строки можно просматривать содержимое журналов на других компьютерах, осуществлять доступ к журналам с правами другой учетной записи, или выводить содержимое журналов в удобном для строкового поиска формате.

синтаксис: psloglist [- ] [\\имя_компьютера[,имя_компьютера[,...] | @файл [-u имя_пользователя [-p пароль]]] [-s [-t разделитель]] [-m #|-n #|-h #|-d #|-w][-c][-x][-r][-a мм/дд/гг][-b мм/дд/гг][-f фильтр] [-i ID[,ID[,...] | -e ID[,ID[,...]]] [-o источник[,источник][,..]]] [-q источник[,источник][,..]]] [-l файл_журнала] <имя_журнала>

@файл | Выполнить команду для каждого из компьютеров, перечисленных в указанном текстовом файле.
-a | Вывести записи, созданные после указанной даты.
-b | Вывести записи, созданные до указанной даты.
-c | Очистить журнал после вывода содержимого.
-d | Вывести записи за предыдущие n дней.
-e | Исключить события с указанными кодом ID (до 10 шт).
-f | Применить к типам событий фильтр (например “-f w” для вывода только предупреждений).
-h | Вывести записи за предыдущие n часов.
-i | Вывести только события с указанными кодом ID (до 10 шт).
-l | Вывести записи, содержащиеся в указанном файле журнала событий.
-m | Вывести записи за предыдущие n минут.
-n | Вывести только указанное количество последних событий.
-o | Вывести записи только от указанных источников (например “-o cdrom”).
-p | Необязательный параметр, указывает пароль для пользователя. Если этот параметр опустить, то будет выдан запрос на ввод пароля, при этом пароль не будет отображаться на экране.
-q | Исключить из вывода записи от указанных источников (например “-o cdrom”).
-r | Выводить события в порядке от наиболее давних к наиболее свежим.
-s | Указывает программе PsLogList выводить записи журнала событий по одной на строчку, разделяя поля запятыми. Этот формат удобен для текстового поиска, например можно выполнить команду psloglist | findstr /i текст_для_поиска. Также этот формат удобен для импортирования результатов в электронные таблицы.
-t | По умолчанию разделителем полей является запятая, но с помощью этого параметра можно указать другой символ в качестве разделителя.
-u | Необязательный параметр. Указывает имя пользователя для выполнения входа на удаленную систему.
-w | Ожидать новых сообщений и выводить их по мере их появления в журнале (доступно только для локальной системы).
-x | Выводить расширенные данные.
имя_журнала | По умолчанию программа PsLogList выводит содержимое системного журнала событий. Можно указать другой журнал. Для этого достаточно ввести первые несколько букв имени журнала (приложение, система или безопасность).

Принцип работы

Аналогично штатному средству просмотру событий ОС Windows NT и 2000 или включенной в состав комплекта Resource Kit программе elogdump, программа PsLogList использует для своей работы API-интерфейс журнала событий, который описан в пакете Windows Platform SDK. Для корректного отображения сообщений журнала событий программа PsLogList загружает модули источников сообщений на системе, на которой расположен считываемый журнал.

Комплект программ PsTools

Программа PsLogList входит в состав постоянно расширяющегося набора консольных программ PsTools, разработанных компанией Sysinternals и предназначенных для облегчения выполнения административных задач на локальных и удаленных системах под управлением ОС Windows NT и 2000.

Загрузить набор программ PsTools (1 МБ)

RootkitRevealer (версия 1.71)

HELP

Авторы: Брайс Когсвелл (Bryce Cogswell) и Марк Руссинович (Mark Russinovich)

Опубликовано 1 ноября 2006 г.

Введение

Программа RootkitRevelader является программой с расширенными возможностями для обнаружения rootkit-программ. Она работает под управлением ОС Windows NT 4 и более поздних версий. Программа выводит список несоответствий результатов работы API-интерфейсов файловой системы и реестра реальным данным. Эти несоответствия могут означать наличие rootkit-программы, работающей в пользовательском режиме или в режиме ядра. Программа RootkitRevealer успешно обнаруживает все постоянные rootkit-программы из списка, опубликованного на веб-узле www.rootkit.com, включая такие программы, как AFX, Vanquish и HackerDefenter. Обратите внимание, что RootkitRevealder не предназначена для определения вредоносных программ вроде программы Fu, которые не пытаются скрывать свои файлы и разделы реестра. Пожалуйста, сообщите нам, если вы используете эту программу для обнаружения присутствия rootkit-программ.

Программа RootkitRevealer больше не является консольной, потому что авторы вредоносных программ начали определять наличие сканера RootkitRevealer по имени исполняемого файла. Теперь сканирование вызывается из копии программы RootkitRevealer со случайным именем файла, запущенной как служба Windows. Такой тип запуска делает процесс недоступным из командной строки. Тем не менее, можно использовать параметры командной строки для запуска автоматического сканирования с записью результатов сканирования в файл. Это эквивалентно поведению версии программы для командной строки.

Что такое rootkit-программа

Термин “rootkit” обозначает механизмы и приемы, с помощью которых вредоносные программы, такие как вирусы, программы-шпионы и трояны, пытаются скрыть свое присутствие от приложений, блокирующих программы-шпионы, антивирусов и средств управления системой. Rootkit-программы подразделяются на несколько классов в зависимости от способности сохранять работоспособность после перезагрузки компьютера и типа запуска (в пользовательском режиме или в режиме ядра).

Постоянные rootkit-программы
Постоянные rootkit-программы запускаются после каждого запуска системы. Такие программы содержат код, который должен выполняться при каждом запуске системы или при каждом выполнении входа в систему пользователем, поэтому этот код должен располагаться в постоянном хранилище, таком как файловая система или реестр, и должен быть способ запуска этого кода без участия пользователя.

Rootkit-программы в оперативной памяти
Rootkit-программы в оперативной памяти не обладают хранимым кодом и потому после перезагрузки пропадают.

Rootkit-программы режима пользователя
Есть много способов, с помощью которых rootkit-программы пытаются избежать обнаружения. К примеру, rootkit-программы, работающие в пользовательском режиме, могут перехватывать все вызовы к функциям Windows FindFirstFile и FindNextFile. На этих вызовах основано перечисление содержимого папок файловой системы в приложениях для просмотра содержимого диска, включая проводник Windows и командную строку. Когда приложение осуществляет вывод содержимого папки, в результатах которого можно будет обнаружить файлы этой скрытой вредоносной программы, она перехватывает вызов и удаляет записи о своих файлах из результатов вывода содержимого папки.

Собственный API-интерфейс Windows служит промежуточным звеном между клиентскими приложениями, работающими в пользовательском режиме, и службами, работающими в режиме ядра. Более сложные rootkit-программы, работающие в пользовательском режиме, перехватывают вызовы перечисления содержимого файловой системы, реестра и списка процессов собственного API-интерфейса Windows. Это препятствует обнаружению таких программ сканерами, которые сравнивают результаты перечисления содержимого с помощью обычного API-интерфейса Windows с результатами перечисления с помощью собственного API-интерфейса Windows.

Rootkit-программы режима ядра
Rootkit-программы, работающие в режиме ядра, обладают еще более широкими возможностями. Помимо перехвата вызовов собственного API-интерфейса Windows в режиме ядра они также могут напрямую управлять структурами данных ядра. Распространенным способом сокрытия присутствия вредоносного процесса является удаление этого процесса из списка ядра, в котором перечислены активные процессы. В API-интерфейсах для управления процессами используется содержимое этого списка, поэтому такая вредоносная программа не будет отображаться в списке активных процессов в приложениях для управления процессами, таких как диспетчер задач Windows или Process Explorer.

Принцип работы программы RootkitRevealer

Так как постоянные rootkit-программы изменяют результаты работы вызовов прикладных программных интерфейсов, результат работы этих вызовов не соответствует реальному содержимому хранилищ. Программа RootkitRevealer сравнивает результаты сканирования системы высокоуровневыми и низкоуровневыми средствами. Самым высоким уровнем является интерфейс Windows API, самым низким — реальное содержимое тома файловой системы или куста реестра (файла куста реестра, хранящегося на диске). Таким образом программа RootkitRevealer без проблем обнаружит rootkit-программы, работающие как в пользовательском режиме, так и в режиме ядра, и перехватывающие вызовы интерфейсов Windows API для удаления себя из результатов работы этих вызовов. Присутствие этих программ проявится виде несоответствий между информацией, полученной с помощью интерфейсов Windows API, и результатами прямого анализа структур данных файловых систем FAT и NTFS.

Может ли rootkit-программа избежать обнаружения программой RootkitRevealer?
Теоретически сокрытие rootkit-программы от обнаружения программой RootkitRevealer возможно, но для этого потребуется перехватывать вызовы программы RootkitRevealer на чтение данных кустов реестра или данных файловой системы и модифицировать содержимое этих данных таким образом, чтобы скрыть информацию о вредоносной программе. На сегодняшний день вредоносные программы такой сложности не встречались. Для модификации данных необходимы глубокие знания о форматах структур данных файловых систем FAT и NTFS и о формате кустов реестра, а также необходима возможность модифицировать эти данные таким образом, что скрыть присутствие вредоносной программы, но сохранить при этом целостность структур данных, иначе эти несоответствия будут обнаружены программой RootkitRevealer.

Существуют ли гарантированные способы обнаружения rootkit-программ?
В общем случае невозможно гарантировать обнаружение этих программ во время работы системы. Rootkit-программы, работающие в режиме ядра, могут полностью контролировать поведение системы, поэтому они могут подменять информацию, получаемую с помощью прикладных программных интерфейсов, включая прямое чтение кустов реестра и данных файловой системы, осуществляемое программой RootkitRevealer. Сравнение результатов сканирования во время работы системы с результатами сканирования выключенной системы из безопасной среды, например с помощью загрузки операционной системы с компакт-диска, является более надежным способом обнаружения rootkit-программ. Тем не менее, они могут быть реализованы таким образом, чтобы скрывать свое присутствие даже от таких инструментов.

Универсального средства для обнаружения rootkit-программ нет и не будет, но наибольшими возможностями обладают и будут обладать сканеры, интегрированные с антивирусными системами, сравнивающие данные сканирования работающей системы с данным сканирования выключенной.

Использование программы RootkitRevealer

Для работы программы RootkitRevelaer требуется, чтобы учетной записи, с правами которой выполняется программа, были назначены привилегии резервного копирования файлов и папок, загрузки драйверов и выполнения задач обслуживания томов (в ОС Windows XP и более поздних версиях). По умолчанию члены группы “Администраторы” обладают этими привилегиями. Для уменьшения количества ошибочных результатов запускайте программу RootkitRevealer на простаивающей системе.

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

При возникновении вопросов или проблем посетите форум компании Sysinternals, посвященный программе RootkitRevealer.

Ручное сканирование

Для выполнения сканирования запустите программу RootkitRevealer и нажмите кнопку “Начать сканирование”. Программа выполнит сканирование системы. Во время сканирования действия программы будут отображаться на панели состояния внизу окна программы, а обнаруженные несоответствия в списке результатов. Ниже приведен список доступных для настройки параметров:

• | Hide NTFS Metadata Files (скрывать файлы метаданных NTFS): программа не отобразит стандартные файлы метаданных NTFS, которые скрыты от интерфейса Windows API. Этот параметр по умолчанию активен;
• | Scan Registry (сканировать реестр): этот параметр по умолчанию активен. Если его деактивировать, программа не будет производить сканирование реестра.

Запуск автоматического сканирования

Программа RootkitRevealer позволяет настроить некоторые параметры автоматического сканирования.

Синтаксис: rootkitrevealer [-a [-c] [-m] [-r] файл_результатов]

-a

Выполнить автоматическое сканирование и выйти после завершения сканирования.

-c

Вывести данные в формате CSV.

-m

Показать файлы метаданных NTFS.

-r

Не выполнять сканирование реестра.

Примечание: файл с результатами сканирования должен располагаться на локальном томе.

Если указать параметр -c, программа не будет отображать состояние выполнения сканирования, а найденные несоответствия будут выведены в CSV-файл для упрощения последующего импортирования результатов сканирования в базу данных. Для выполнения сканирования на удаленных системах можно воспользоваться служебной программой Sysinternals PsExec. Ниже приведен пример команды для осуществления такого сканирования:

psexec \\remote -c rootkitrevealer.exe -a c:\windows\system32\rootkit.log

Интерпретация выходных данных

Ниже приведен снимок экрана, на котором программой RootkitRevealer обнаружена распространенная rootkit-программа HackerDefender. В списке несоответствий разделов реестра видно, что разделы реестра, в которых хранится драйвер устройства и параметры службы программы HackerDefender, скрыты от вызовов интерфейса Windows API, но присутствуют в результатах непосредственного сканирования данных куста реестра. Подобным же образом файлы программы HackerDefender невидны вызовам интерфейса Windows API, выводящим содержимое папок, но присутствуют в результатах непосредственного сканирования данных файловой системы.

Необходимо изучить все несоответствия и определить вероятность того, что то или иное несоответствие является знаком присутствия rootkit-программы. К сожалению, не существует гарантированного способа указать на наличие или отсутствие таких программ, основываясь на данных результата сканирования. Поэтому все перечисленные несоответствия необходимо проанализировать, чтобы убедиться в объяснимости причин их наличия. Если вы определили, что у вас в системе присутствует rootkit-программа, необходимо осуществить поиск инструкций в Интернете по ее удалению. Если вы не знаете, как удалить эту программу, необходимо переформатировать жесткий диск и переустановить ОС Windows.

Ниже приведена информация о возможных несоответствиях, которые обнаруживает программа RootkitRevealer. Обнаруженные rootkit-программы и отдельные ложные обнаружения обсуждаются на форуме Sysinternals, посвященном программе RootkitRevealer.

Сокрытие от вызовов интерфейсов Windows API

Это наиболее распространенный способ сокрытия присутствия, используемый большинством rootkit-программ. Тем не менее, если не установить флажок “скрывать файлы метаданных NTFS”, в результатах сканирования будет присутствовать несколько подобных записей для каждого раздела NTFS, поскольку NTFS скрывает от вызовов интерфейса Windows API свои файлы метаданных, например $MFT и $Secure. Перечень файлов метаданных разделов NTFS зависит от версии файловой системы и различных дополнительных возможностей, активных на конкретном разделе. Также ряд антивирусных систем, например Антивирус Касперского, используют rootkit-технологии сокрытия своих данных, храня их в дополнительных потоках данных NTFS. Если вы используете подобное антивирусное приложение, в списке несоответствий будут записи о сокрытии от интерфейса Windows API дополнительных потоков данных для каждого файла NTFS. Программа RootkitRevealer не поддерживает фильтрацию результатов, потому что скрытые вредоносные программы могут воспользоваться ею. Также в списке несоответствий можно увидеть файлы, удаленные во время сканирования.

Ниже приведен перечень файлов метаданных NTFS, используемый ОС Windows Server 2003:

* $AttrDef

* $BadClus

* $BadClus:$Bad

* $BitMap

* $Boot

* $LogFile

* $Mft

* $MftMirr

* $Secure

* $UpCase

* $Volume

* $Extend

* $Extend\$Reparse

* $Extend\$UsnJrnl

* $Extend\$UsnJrnl

* $Extend\$UsnJrnl:$Max

* $Extend\$Quota

Отказ в доступе.

Это несоответствие никогда не должно присутствовать в результатах работы программы RootkitRevealer, потому что в программе используются механизмы, позволяющие получить доступ к любому файлу, папке или разделу реестра в системе.

Файл видим для интерфейса Windows API, присутствует в индексе папки, но отсутствует в таблице MFT.
Файл видим для интерфейса Windows API, но отсутствует в таблице MFT и в индексе папки.
Файл видим для интерфейса Windows API, присутствует в таблице MFT, но отсутствует в индексе папки.
Файл присутствует в индексе папки, но невидим для интерфейса Windows API и отсутствует в таблице MFT.

Сканирование файловой системы осуществляется с помощью трех модулей: модуль сканирования интерфейса Windows API, модуль сканирования таблицы NTFS MFT и модуль сканирования индексных структур папок NTFS. Перечисленные выше несоответствия показывают, что файл присутствует в результатах работы лишь одного или двух из трех перечисленных выше модулей. Наиболее распространенной причиной возникновения такого несоответствия является создание или удаление файла во время сканирования. Ниже приведен пример несоответствия, которое возникает при создании файла во время сканирования:

C:\newfile.txt
01.03.2005 17:26
8 байт
Файл видим для интерфейса Windows API, но отсутствует в таблице MFT и индексе папки.

Размер значения реестра, видимый из интерфейса Windows API, не соответствует реальному размеру в файле данных куста реестра.

Rootkit-программы могут попытаться скрыть свое присутствие, сообщая неверный размер значения реестра, благодаря чему содержимое этого значения недоступно с помощью интерфейса Windows API. Необходимо изучить каждое такое несоответствие, хотя оно может являться и результатом изменения содержимого значения реестра во время сканирования.

Несоответствие типа значения, видимого из интерфейса Windows API, типу значения в файле данных куста реестра.

У значений реестра есть тип, например DWORD или REG_SZ. Несоответствие типа означает, что тип значения, который определяется интерфейсом Windows API, отличается от реального типа значения в файле данных куста реестра. Rootkit-программа может замаскировать свои данные, которые реально хранятся в значении типа REG_BINARY, вернув для интерфейса Windows API тип REG_SZ. Если в начале этих данных будет храниться 0, интерфейс Windows API не сможет получить доступ к остальным данным этого значения.

В названии раздела реестра содержатся нулевые символы.

Интерфейс Windows API представляет все имена разделов реестра как строки, оканчивающиеся нулевым символом, в то время как ядро представляет их как строки с заданной длиной. Благодаря этому можно создать такие разделы реестра, которые будут видны операционной системе, но таким средствам управления реестром, как Regedit, они будут видны лишь частично. В исходном коде программы Reghide продемонстрировано использование этого приема, который также используется вредоносными и rootkit-программами для сокрытия данных в реестре. Для удаления разделов реестра, имена которых содержат нулевые символы, можно воспользоваться программой Sysinternals Regdellnull.

Несоответствие содержимого значения реестра, видимого из интерфейса Windows API, содержимому значения в файле данных куста реестра.

Это несоответствие возникает, если содержимое значения реестра изменяется в процессе выполнения сканирования реестра. К часто изменяющимся значениям относятся такие значения, как различные временные метки, например время работы сервера Microsoft SQL Server (см. пример ниже), или время последнего сканирования антивируса. Каждое перечисленное значение реестра необходимо проверить, чтобы убедится, что оно относится к реальному приложению или операционной системе.

HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\RECOVERYMANAGER\MSSQLServer\uptime_time_utc
01.03.2005 16:33
8 байт

Дополнительные источники

Ниже приведен перечень веб-узлов и книг, содержащих дополнительную информацию о rootkit-программах:

Веб-трансляция TechNet по заявкам: продвинутые способы избавления от вредоносных программ
Марк Руссинович рассказывает, как с помощью инструментов Sysinternals определить, что компьютер заражен вредоносными программами, начиная от обычных шпионских программ и заканчивая rootkit-программами, работающими в режиме ядра, и как удалить эти программы из системы.

Общие сведения о вредоносных программах: вирусах, программах-шпионах и rootkit-программах
Веб-семинар Microsoft TechEd 2005 Марка Руссиновича на тему вирусов, программ-шпионов и rootkit-программ.

Компания Sony зашла слишком далеко со скрытыми программами и управлением цифровыми правами
В одной из записей своего блога Марк Руссинович приводит анализ обнаруженной им rootkit-программы компании Sony на одном из своих компьютеров.

Разоблачение rootkit-программ
В июньском выпуске журнала Windows IT Pro Magazine Марк Руссинович приводит обзор методов сокрытия, которые используются в rootkit-программах, и принцип работы программы RootkitRevealer.

www.rootkit.com
На этом веб-узле приведены примеры исходных кодов нескольких rootkit-программ, работающих в пользовательском режиме и в режиме ядра, а также проводятся обсуждения о разработке таких программ.

Rootkit-программы: свержение ядра Windows
Эта книга от Грега Хогланда (Greg Hoglund) и Джэйми Батлера (Jamie Butler) является наиболее полным руководством по обращению и избавлению от rootkit-программ.

www.phrack.org
На этом веб-узле приводится архив журнала для взломщиков Phrack, где разработчики обсуждают уязвимости в приложениях, связанных с безопасностью, технологии сокрытия и другие приемы вредоносного ПО.

research.microsoft.com/rootkit/
Это домашняя страница центра исследований корпорации Майкрософт, посвященная rootkit-программам, где корпорацией Майкрософт публикуются документы и информация о борьбе с этими программами.

Искусство исследования и защиты от компьютерных вирусов Питера Зора (Peter Szor).

Вредоносные программы: борьба с кодом, написанным злоумышленниками, авторы Эд Скодис (Ed Skoudis) и Лени Зельцер (Lenny Zeltser).

Windows Internals, 4-е издание, авторы Марк Руссинович и Дэйв Соломон (Dave Solomon). В этой книге не обсуждаются rootkit-программы, но понимание архитектуры Windows помогает понять работу таких программ.

Загрузить программу RootkitRevealer (231 KB)

ClockRes (версия 1.0)

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 1 декабря 2006 г.

Введение

Никогда не интересовались разрешением системных часов или максимальным разрешением таймера, доступным для программы? Ответить на эти вопросы способна простая функция GetSystemTimeAdjustment; что же касается приложения ClockRes, то оно исполняет указанную функцию и возвращает ее результат. Инструкции по увеличению разрешения см. в статье"Устройство таймеров высокого разрешения Windows NT" Программа ClockRes работает только в средах Windows NT/2K и не принимает аргументы командной строки.

Загрузить программу ClockRes (43 КБ)

LiveKd (версия 3.0)

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 1 декабря 2006 г.

Введение

LiveKD — служебная программа, которую я написал для сопроводительного компакт-диска к третьему изданию книги "Внутреннее устройство Windows 2000" — теперь доступна широкой публике. Программа LiveKD позволяет запускать отладчики ядра Microsoft Kd и Windbg, входящие в пакет инструментов отладки для ОС Windows, в действующей системе в локальном режиме. Для углубленного анализа системы нужно запустить все команды отладчика, работающие с файлами аварийных копий памяти. Инструкции по исследованию системы посредством отладчиков ядра имеются в документации по инструментам отладки для Windows, а также в нашей книге.

Последние версии отладчиков Windbg и Kd при работе в средах Windows XP и Server 2003 имеют во многом схожие с программой LiveKD наборы функций, однако последняя действует во всех ОС от NT 4 до Server 2003, в том числе в версиях Windows x64, и кроме того, предоставляет более серьезные возможности, связанные, в частности, с просмотром стеков потоков при помощи команды !thread; эти обстоятельства выгодно отличают ее от аналогичных средств динамической отладки ядра, предусмотренных в Windbg и Kd.

Установка

В первую очередь загрузите и установите пакет инструментов отладки для Windows с веб-узла корпорации Майкрософт по адресу

http://www.microsoft.com/whdc/devtools/debugging/debugstart.mspx

При условии размещения этих инструментов в предложенном по умолчанию каталоге \Program Files\Microsoft\Debugging Tools for Windows программу LiveKD можно будет запускать из любого каталога; в противном случае ее придется скопировать в каталог установки пакета инструментов.

Если символы, подходящие для системы, в которой предполагается исполнять программу LiveKD, не установлены, LiveKD выведет предложение автоматически настроить в системе обращение к серверу символов корпорации Майкрософт (сведения о символьных файлах и сервере символов Майкрософт см. в документации по пакету инструментов отладки для Windows).

Примечание. Отладчик Microsoft выведет сообщение о невозможности обнаружить символы для файла LIVEKDD.SYS. Я действительно не подготовил символы для LIVEKDD.SYS, поэтому такое поведение отладчика считается нормальным и не влияет на его работу.

Применение

Синтаксис: livekd [-w] [-d] [-k ] [параметры отладчика]

-w

Исполнение windbg вместо Kd (по умолчанию применяется Kd)

-d

Запуск анализа Dumpchk вместо Kd (по умолчанию применяется Kd)

-k

Указание полного пути и имени файла образа отладчика, который предполагается запустить

Все прочие параметры передаются отладчику Kd/Windbg/Dumpchk. Примечание. Чтобы закрыть и перезапустить отладчик в случае его зависания нажмите сочетание клавиш CTRL+BREAK.

Загрузить программу LiveKd (111 КБ)

Поддержка операционных систем

Программа LiveKD работает во всех ОС, от NT 4 до Server 2003, включая версии x64 Windows.

LoadOrder (версия 1.0)

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 1 декабря 2006 г.

Введение

Эта программа показывает порядок загрузки драйверов устройств в ОС Windows NT или Windows 2000. Следует иметь в виду, что в ОС Windows 2000 последовательность загрузки драйверов устройств Plug and Play может отличаться от расчетной, поскольку они загружаются по требованию в ходе обнаружения и перечисления устройств.

Загрузить программу LoadOrder (43 КБ)

ProcFeatures (версия 1.1)

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 1 декабря 2006 г.

Введение

ProcessorFeatures — это простое приложение, которое при помощи прикладного программного интерфейса IsProcessorFeaturePresent ОС Windows устанавливает поддержку процессором и ОС различных функций, среди которых — предотвращение исполнения, расширение физических адресов (PAE) и счетчик циклов реального времени. Ее основная задача — установить, действуют ли в системе расширения PAE ядра и поддерживается ли защита от переполнения буфера путем запрета исполнения. Вот пример выходных данных, полученных в системе Opteron под управлением ОС Windows XP 64-bit Edition:

Process Feature v1.10

Copyright (C) 2005 Mark Russinovich
Sysinternals - www.sysinternals.com
AMD Opteron(tm) Processor 246AMD64 Family 15 Model 37 Stepping 1, AuthenticAMD

        No Execute Protection:              Y

        Physical Address Extensions (PAE):  Y

        Floating point emulation:           N

        Pentium Floating point errata:      N

        RDTSC (Cycle counter):              Y

        MMX Instruction Set:                Y

        3D Now Instruction Set:             Y

        SSE Instruction Set:                Y

        SSE2 Instruction Set:               Y

Исходный код имеется в комплекте загружаемых файлов.

Применение

Синтаксис: procfeatures <файл или каталог>

Загрузить программу ProcFeatures (39 КБ)

PsInfo (версия 1.74)

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 4 декабря 2006 г.

Введение

PsInfo — это утилита командной строки, которая собирает основные данные о локальной или удаленной системе Windows NT/2000 — в частности, о типе установки, сборке ядра, зарегистрированной организации и владельце, числе и типе процессоров, объеме физической памяти, дате установки системы, статусе пробной версии и сроке ее действия.

Установка

Скопируйте программу PsInfo в папку для исполняемых файлов и затем введите команду «psinfo».

Программа PsInfo работает в Windows NT 4.0 и в более поздних версиях ОС, в том числе в Windows Vista.

Применение

По умолчанию программа PsInfo выводит сведения о локальной системе. Для получения сведения об удаленной системе укажите ее имя. Так как для получения данных программа PsInfo обращается к удаленному реестру, в искомой системе должна работать служба удаленного реестра, а учетная запись, от имени которой запускается PsInfo, должна иметь доступ к разделу HKLM\System удаленного реестра.

В целях содействия автоматическому получению пакетов обновления программа PsInfo возвращает номер пакета обновления, установленного в системе, в виде значения (где 0 обозначает отсутствие пакета обновления, 1 — SP 1 и т.д.).

Синтаксис: psinfo [[\\компьютер[,компьютер[,..] | @файл [-u пользователь [-p пароль]]] [-h] [-s] [-d] [-c [-t разделитель]] [фильтр]

\\компьютер

Запуск команды на удаленном компьютере или на указанных компьютерах. Если не указывать имя компьютера, команда будет исполнена в локальной системе; подстановочный знак (\\*) позволяет выполнить команду на всех компьютерах, относящихся к текущему домену.

@файл

Запуск команды на всех компьютерах, перечисленных в заданном текстовом файле.

-u

Позволяет в факультативном порядке указать имя пользователя для входа в удаленную систему.

-p

Позволяет в факультативном порядке указать пароль, соответствующий имени пользователя. Если пароль не указан в команде, его придется ввести в скрытом режиме в специальном окне.

-h

Вывод списка установленных исправлений.

-s

Вывод списка установленных приложений.

-d

Вывод информации о томах.

-c

Вывод в формате CSV.

-t

По умолчанию с параметром -c в качестве разделителя применяется запятая, однако ее можно заменить указанным символом.

фильтр

Программа Psinfo выводит данные только из поля, совпадающего со значением фильтра; например, при указании фильтра «psinfo service» выводится только содержимое поля пакета обновления.

Пример выходных данных

c:> psinfo \\development -h -d

PsInfo v1.6 - local and remote system information viewer
Copyright (C) 2001-2004 Mark Russinovich
Sysinternals - www.sysinternals.com

        System information for \\DEVELOPMENT:
        Uptime: 28 days, 0 hours, 15 minutes, 12 seconds
        Kernel version: Microsoft Windows XP, Multiprocessor Free
        Product type Professional
        Product version: 5.1
        Service pack: 0
        Kernel build number: 2600
        Registered organization: Sysinternals
        Registered owner: Mark Russinovich
        Install date: 1/2/2002, 5:29:21 PM
        Activation status: Activated
        IE version: 6.0000
        System root: C:\WINDOWS
        Processors: 2
        Processor speed: 1.0 GHz
        Processor type: Intel Pentium III
        Physical memory: 1024 MB
        Volume Type Format Label Size Free Free
        A: Removable 0%
        C: Fixed NTFS WINXP 7.8 GB 1.3 GB 16%
        D: Fixed NTFS DEV 10.7 GB 809.7 MB 7%
        E: Fixed NTFS SRC 4.5 GB 1.8 GB 41%
        F: Fixed NTFS MSDN 2.4 GB 587.5 MB 24%
        G: Fixed NTFS GAMES 8.0 GB 1.0 GB 13%
        H: CD-ROM CDFS JEDIOUTCAST 633.6 MB 0%
        I: CD-ROM 0% Q: Remote 0%
        T: Fixed NTFS Test 502.0 MB 496.7 MB 99%
        OS Hot Fix Installed
        Q147222 1/2/2002
        Q309521 1/4/2002
        Q311889 1/4/2002
        Q313484 1/4/2002
        Q314147 3/6/2002
        Q314862 3/13/2002
        Q315000 1/8/2002
        Q315403 3/13/2002
        Q317277 3/20/2002

Работа программы

Для считывания информации из реестра системы программа PsInfo обращается к прикладному программному интерфейсу удаленного реестра, а чтобы выяснить, проведена ли активация ОС Windows XP, — к элементу WMI.

Комплект программ PsTools

Программа PsInfo входит в состав постоянно расширяющегося набора средств под названием PsTools, разработанного компанией Sysinternals и предназначенного для работы в режиме командной строки. Этот набор упрощает администрирование локальных и удаленных систем, работающих под управлением ОС Windows NT и 2000.

 Загрузить набор программ PsTools (1 МБ)

WinObj (версия 2.15)

HELP

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 1 декабря 2006 г.

Введение

Программа WinObj совершенно необходима системным администраторам, серьезно относящимся к вопросам безопасности, разработчикам, пытающимся локализовать неполадки с объектами, и всем, кто интересуется пространством имен диспетчера объектов.

WinObj — это программа для 32-разрядных версий ОС Windows NT, которая обращается к пространству имен диспетчера объектов NT и выводит данные о нем при помощи собственного прикладного программного интерфейса Windows NT (предоставляемого через библиотеку NTDLL.DLL). На первый взгляд, программа Winobj схожа с одноименной программой из комплекта Microsoft SDK, в то же время следует иметь в виду, что в последней есть несколько серьезных ошибок, которые не позволяют всегда выводить точные данные (в частности, полностью нарушены механизмы подсчета дескрипторов и ссылок). Кроме того, наш вариант WinObj поддерживает более широкий набор типов объектов. Наконец, в версии 2.0 нашей программы WinObj усовершенствован пользовательский интерфейс, предусмотрены средства открытия объектов устройств, а также просмотра и изменения данных безопасности объектов с помощью собственных редакторов безопасности NT.

Установка и использование

Никаких компонентов драйверов устройств для WinObj не предусмотрено, поэтому ее можно запускать точно так же, как и любые другие программы Win32.

Работа программы

За управление объектами NT отвечает диспетчер объектов. В рамках этой функциональности диспетчер поддерживает собственное пространство имен, в котором хранить и искать объекты могут разнообразные компоненты ОС, драйверы устройств и программы Win32. Собственный прикладной программный интерфейс NT содержит процедуры, которые позволяют программам, работающим в пользовательском режиме, просматривать пространство имен и отправлять запросы о состоянии хранящихся в нем объектов; проблема лишь в том, что эти интерфейсы не документированы.

Дополнительные сведения

Прекрасный обзор пространства имен диспетчера объектов содержится в работе Хелен Кастер (Helen Custer) Внутреннее устройство Windows NT; еще один высококачественный материал по этой теме представлен в колонке Марка Руссиновича в журнале Windows NT Magazine за октябрь 1997 ("Устройство диспетчера объектов").

Загрузить программу WinObj (60 КБ)

Active Directory Explorer v1.2

HELP

By Bryce Cogswell and Mark Russinovich

Published: April 22, 2009

Introduction

Active Directory Explorer (AD Explorer) is an advanced Active Directory (AD) viewer and editor. You can use AD Explorer to easily navigate an AD database, define favorite locations, view object properties and attributes without having to open dialog boxes, edit permissions, view an object's schema, and execute sophisticated searches that you can save and re-execute.

AD Explorer also includes the ability to save snapshots of an AD database for off-line viewing and comparisons. When you load a saved snapshot, you can navigate and explorer it as you would a live database. If you have two snapshots of an AD database you can use AD Explorer's comparison functionality to see what objects, attributes and security permissions changed between them.

 Download AdExplorer (242 KB)

Run AdExplorer now from Live.Sysinternals.com

Runs on:

* Client: Windows XP and higher.

* Server: Windows Server 2003 and higher.

Related Links

* AdRestore
Restore deleted objects on Windows Server 2003 domains.

AdRestore v1.1

Автор: Марк Руссинович (Mark Russinovich)

Опубликовано 11 января 2006 г.

Введение

Система Server 2003 дополнена возможностью восстановления удаленных (помеченных на удаление) объектов. Эта простая служебная программа с интерфейсом командной строки формирует список удаленных объектов домена и дает возможность восстановить каждый из них. Исходный текст этой программы написан на основе примера из комплекта разработчика Platform SDK корпорации Майкрософт. В этой статье, которая входит в состав базы знаний Майкрософт, описано использование служебной программы Adrestore:

840001: Как в службе каталогов Active Directory восстановить удаленные учетные записи пользователей и их членство в группах

Загрузка AdRestore (42 КБ)

BgInfo v4.15

By Bryce Cogswell

Published: March 30, 2009

Introduction

How many times have you walked up to a system in your office and needed to click through several diagnostic windows to remind yourself of important aspects of its configuration, such as its name, IP address, or operating system version If you manage multiple computers you probably need BGInfo. It automatically displays relevant information about a Windows computer on the desktop's background, such as the computer name, IP address, service pack version, and more. You can edit any field as well as the font and background colors, and can place it in your startup folder so that it runs every boot, or even configure it to display as the background for the logon screen.

Because BGInfo simply writes a new desktop bitmap and exits you don't have to worry about it consuming system resources or interfering with other applications.

Sysinternals BgInfo

Installation and Use

See Mark's Windows IT Pro Magazine Power Tools article for a primer on using BgInfo. If you have questions or problems, please visit the Sysinternals BgInfo Forum.

By placing BGInfo in your Startup folder, you can ensure that the system information being displayed is up to date each time you boot. Once you've settled on the information to be displayed, use the command-line option /timer:0 to update the display without showing the dialog box.

You can also use the Windows Scheduler to run BGInfo on a regular basis to ensure long-running systems are kept up to date.

If you create a BGInfo configuration file (using the File|Save Settings menu item) you can automatically import and use those settings on other systems by adding the /I<path> or /iq<path> command line option.

Using BgInfo

When you run BGInfo it shows you the appearance and content of its default desktop background. If left untouched it will automatically apply these settings and exit after its 10 second count-down timer expires.

Selecting any button or menu item will disable the timer, allowing you to customize the layout and content of the background information.

If you want BGInfo to edit or use a configuration stored in a file (instead of the default configuration which is stored in the registry) specify the name of the file on the command line:

BGInfo MyConfig.bgi

Appearance Buttons

Fields: Selects what information appears on the desktop, and the order in which it is displayed. For networking fields (NIC, IP, MAC, etc.) a separate entry is created for each network card on the system. Use the Custom button to add special information you define yourself.

Background: Selects the color and/or wallpaper to use for the background. If you select the Copy existing settings option then BGInfo will use whatever information is currently selected by the logged on user. This option allows end users to personalize their desktop while still displaying the BGInfo information.

Position: Selects the location on the screen at which to place the text. If some items are very long (for example some network card names) you can use the Limit Lines to item to wrap them. The Compensate for Taskbar position checkbox adjusts the position of the text to ensure that it is not covered by the Taskbar. The Multiple Monitor Configuration button allows you to specify how multiple monitors attached to a single console should be handled.

Desktops: Selects which desktops are updated when the configuration is applied. By default only the User Desktop wallpaper is changed. Enabling the Logon Desktop for Console users option specifies that the wallpaper should be displayed on the logon desktop that is presented before anyone has logged onto the system. On Windows 95/98/ME systems the same desktop is used for users and the login screen, so this option has no effect. Enabling the Logon Desktop for Terminal Services users option specifies that the wallpaper should be displayed on the Terminal Services login screen. This option is useful only on servers running Terminal Services.

Preview: Displays the background as it will appear when applied to your system.

Configuration Menu Items

These are options that control how the bitmap is produced, where it is located and how to import/export settings.

File | Open: Opens a BGInfo configuration file.

File | Save As: Saves a copy of the current BGInfo configuration to a new file. Once created, you can have BGInfo use the file later by simply specifying it on the command line, or by using File|Open menu option.

File|Reset Default Settings: Removes all configuration information and resets BGInfo to its default (install-time) state. Use this if you can't determine how to undo a change, or if BGInfo becomes confused about the current state of the bitmap.

File|Database: Specifies a .XLS, .MDB or .TXT file or a connection string to an SQL database that BGInfo should use to store the information it generates. Use this to collect a history of one or more systems on your network. You must ensure that all systems that access the file have the same version of MDAC and JET database support installed. It is recommended you use at least MDAC 2.5 and JET 4.0. If specifying an XLS file the file must already exist.

If you prefer to have BGInfo update the database without modifying the user's wallpaper you can unselect all desktops in the Desktops dialog; BGInfo will still update the database.

Bitmap|256 Colors: Limits the bitmap to 256 colors. This option produces a smaller bitmap.

Bitmap|High Color/True Color: Creates a 16-bit or 24-bit color bitmap.

Bitmap|Match Display: Creates a bitmap with color depth matching that of the display. Because the bitmap generated by BGInfo is not updated when a user changes the display's color depth you may see unexpected results (especially dithering of the text and background) with some combinations of bitmap and display depth.

Bitmap|Location: Specifies the location to place the output bitmap file. On Terminal Services servers the bitmap should be placed in a location that is unique to each user.

Edit|Insert Image: Allows you to insert a bitmap image into the output. Because BGInfo's configuration information is stored in the registry and Windows limits the size of registry values you may encounter errors when inserting larger images. On Windows 9x/Me systems the limit is 16K, while on NT/2000/XP systems the limit is 64K.

Command Line Options

<path> | Specifies the name of a configuration file to use for the current session. Changes to the configuration are automatically saved back to the file when OK or Apply is pressed. If this parameter is not present BGInfo uses the default configuration information which is stored in the registry under the current user ("HKEY_CURRENT_USER\Software\Winternals\BGInfo").
/timer | Specifies the timeout value for the countdown timer, in seconds. Specifying zero will update the display without displaying the configuration dialog. Specifying 300 seconds or longer disables the timer altogether.
/popup | Causes BGInfo to create a popup window containing the configured information without updating the desktop. The information is formatted exactly as it would if displayed on the desktop, but resides in a fitted window instead. When using this option the history database is not updated.
/silent | Suppresses error messages.
/taskbar | Causes BGInfo to place an icon in the taskbar's status area without updating the desktop. Clicking the icon causes the configured information to appear in a popup window. When using this option the history database is not updated.
/all | Specifies that BGInfo should change the wallpaper for any and all users currently logged in to the system. This option is useful within a Terminal Services environment, or when BGInfo is scheduled to run periodically on a system used by more than one person (see Using a Schedule below).
/log | Causes BGInfo to write errors to the specified log file instead of generating a warning dialog box. This is useful for tracking down errors that occur when BGInfo is run under the scheduler.
/rtf | Causes BGInfo to write its output text to an RTF file. All formatting information and colors are included.

Download BgInfo (387 KB)

Run BgInfo now from Live.Sysinternals.com

Runs on:

* Client: Windows XP and higher.

* Server: Windows Server 2003 and higher.

BlueScreen Screen Saver v3.2

By Mark Russinovich

Published: November 1, 2006

Introduction

One of the most feared colors in the NT world is blue. The infamous Blue Screen of Death (BSOD) will pop up on an NT system whenever something has gone terribly wrong. Bluescreen is a screen saver that not only authentically mimics a BSOD, but will simulate startup screens seen during a system boot.

* On NT 4.0 installations it simulates chkdsk of disk drives with errors!

* On Win2K and Windows 9x it presents the Win2K startup splash screen, complete with rotating progress band and progress control updates!

* On Windows XP and Windows Server 2003 it present the XP/Server 2003 startup splash screen with progress bar!

Bluescreen cycles between different Blue Screens and simulated boots every 15 seconds or so. Virtually all the information shown on Bluescreen's BSOD and system start screen is obtained from your system configuration - its accuracy will fool even advanced NT developers. For example, the NT build number, processor revision, loaded drivers and addresses, disk drive characteristics, and memory size are all taken from the system Bluescreen is running on.

Use Bluescreen to amaze your friends and scare your enemies!

Installation and Use

Note: before you can run Bluescreen on Windows 9x, you must copy \winnt\system32\ntoskrnl.exe from a Windows 2000 system to your \Windows directory. Simply copy Sysinternals BLUESCRN.SCR to your \system32 directory if on Windows NT/2K, or \Windows\System directory if on Windows 9x. Right click on the desktop to bring up the Display settings dialog and then select the "Screen Saver" tab. Use the pull down list to find "Sysinternals Bluescreen" and apply it as your new screen saver. Select the "Settings" button to enable fake disk activity, which adds an extra touch of realism!

More Information

You can find out how real Blue Screens are generated, and what the information on the Blue Screen means in my December 1997 Windows NT Magazine NT Internals column, "Inside the Blue Screen."

Note: Some virus scanners flag the Bluescreen screen saver as a virus. If this is the case with your virus scanner, you may not be able to use this screen saver.

Download Bluescreen (64 KB)

Runs on:

* Client: Windows XP and higher.

* Server: Windows Server 2003 and higher.

Ctrl2Cap v2.0

By Mark Russinovich

Published: November 1, 2006

Introduction

Ctrl2cap is a kernel-mode device driver that filters the system's keyboard class driver in order to convert caps-lock characters into control characters. People like myself that migrated to NT from UNIX are used to having the control key located where the caps-lock key is on the standard PC keyboard, so a utility like this is essential for our editing well-being.

Installation and Use

Install Ctrl2cap running the command "ctrl2cap /install" from the directory into which you've unzipped the Ctrl2cap files. To uninstall type "ctrl2cap /uninstall".

How Ctrl2cap Works

On NT 4 Ctrlcap is actually quite trivial. It simply attaches itself to the keyboard class driver so that it will catch keyboard read requests. For each request, it posts an I/O completion callback, at which point it takes a peek at the scancode that is being returned. If it happens to be a caps-lock, ctrl2cap changes it into a left-control.

On Win2K Ctrl2cap is a WDM filter driver that layers in the keyboard class device's stack above the keyboard class device. This is in contrast to the Win2K DDK's kbfiltr example that layers itself between the i8042 port device and the keyboard class device. I chose to layer on top of the keyboard class device for several reasons:

* It means that the Ctrl2cap IRP_MJ_READ interception and manipulation code is shared between the NT 4 and Win2K versions.

* I don't need to supply an INF file and have the user go through the Device Manager to install Ctrl2cap - I simply modify the appropriate Registry value (the keyboard class devices's HKLM\System\CurrentControlSet\Control\Class UpperFilters value).

The disadvantage of my approach is (and this an advantage or disadvantage depending on your point of view):

* Because I don't install with an INF file via the Device Manager, the user is not warned that the Ctrl2cap driver file is not digitally signed by Microsoft.

In this particular case, I felt that the advantages outweigh the disadvantages. However, before you model a Win2K keyboard filter on Ctrl2cap I strongly suggest that you study the kbfiltr example from the Win2K DDK. Kbfiltr's interception point in the key input sequence makes it very easy for kbfiltr to inject keystrokes into the input stream.

More Information

For more information on writing filter drivers (drivers that attach themselves to other drivers so that they can see their input and/or output), here are sources to check out:

* The Windows NT and Windows 2000 DDK sample \src\storage\filter\diskperf

* The Windows 2000 DDK sample \src\input\kbfiltr

* "Examining the Windows NT File System," by Mark Russinovich and Bryce Cogswell, Dr. Dobb's Journal, February 1997

* The accompanying file system filter driver, Filemon

Download Ctrl2cap(48 KB)

Runs on:

* Client: Windows XP and higher.

* Server: Windows Server 2003 and higher.

DebugView for Windows v4.76

HELP

By Mark Russinovich

Published: October 16, 2008

Introduction

DebugView is an application that lets you monitor debug output on your local system, or any computer on the network that you can reach via TCP/IP. It is capable of displaying both kernel-mode and Win32 debug output, so you don't need a debugger to catch the debug output your applications or device drivers generate, nor do you need to modify your applications or drivers to use non-standard debug output APIs.

DebugView Capture

Under Windows 2000, XP, Server 2003 and Vista DebugView will capture:

* Win32 OutputDebugString

* Kernel-mode DbgPrint

* All kernel-mode variants of DbgPrint implemented in Windows XP and Server 2003

DebugView also extracts kernel-mode debug output generated before a crash from Window's 2000/XP crash dump files if DebugView was capturing at the time of the crash.

DebugView Capabilites

DebugView has a powerful array of features for controlling and managing debug output.

Features new to version 4.6:

* Support for Windows Vista 32-bit and 64-bit

Features new to version 4.5:

* Support for log-file rollover: To better support long-running captures, DebugView can now create a new log file each day, optionally clearing the display when doing so.

Features new to version 4.4:

* Support for Windows Server 2003 64-bit Edition and Windows XP 64-bit Edition for x64:DebugView now captures kernel-mode debug output on 64-bit versions of Windows.

* Clock-time toggle: you can now toggle between clock time and elapsed time modes.

Features new to version 4.3:

* Support for Windows XP SP2: DebugView now captures kernel-mode debug output on Windows XP SP2.

* More highlighting filters: Many people have asked for more highlighting filters.

* Log file wrapping: A new log file option has DebugView wrap around to the start of the log file when the specified size limit is reached.

* Larger buffers: Larger Win32 and kernel-mode buffers lessen the chance of dropped debug output.

* Clear-output string: When DebugView sees the special debug output string "DBGVIEWCLEAR" it clears the output.

* Client minimize-to-tray: You can now run the client minimized in the tray.

Features new to version 4.2:

* Kernel-hook bug fixed: DebugView sometimes mistakenly report that it couldn't hook kernel-mode debug output on Windows XP and Server 2003.

* Client global-capture option: A new option allows the client to capture console Win32 debug output on Terminal Server systems when run from a non-console session.

* Filtering improved: Filters can be much longer and now apply to Win32 process IDs when process IDs are included in the output.

* Crash-dump support improved: Several bugs related to extracting kernel-mode output from crash dumps are fixed and DebugView now loads resulting log files.

* More highlight filters:DebugView now has 10 highlight filters, up from 5.

* Insert comments: A new menu item lets you insert comments into output.

* New switches: New command-line switches allow you to specify history depth and load log files.

* Better balloon tips: If an output line is wider than the screen its mouse hover balloon tip word wraps.

Features new to version 4.1:

* Save and load filters: You can save and load filters, including the highlighting colors.

* Load saved logs: You can now load a log file back into the DebugView output window.

* Capture boot-time kernel-mode debug output: Under Windows 2000, you can use DebugView to capture debug output generated by drivers from the earliest point in the boot process.

Here is a list highlighting some of DebugView's other features:

* Remote monitoring: Capture kernel-mode and/or Win32 debug output from any computer accessible via TCP/IP - even across the Internet. You can monitor multiple remote computers simultaneously. DebugView will even install its client software itself if you are running it on a Windows 2000 system and are capturing from another Windows 2000 system in the same Network Neighborhood.

* Most-recent-filter lists:DebugView remembers your most recent filter selections, with an interface that makes it easy to reselect them.

* Process ID option: Toggle the display of process IDs for Win32 debug output.

* Clipboard copy: Select multiple lines in the output window and copy their contents to the clipboard.

* Log-to-file: Write debug output to a file as its being captured.

* Printing: Print all or part of captured debug output to a printer.

* One-file payload:DebugView is implemented as one file.

* Crash-Dump Support:DebugView can recover its buffers from a crash dump and save the output to a log file so that users can send you the output your Windows driver generated right up to the time of a crash.

The on-line help file describes all these features, and more, in detail.

Installation and Use

Simply execute the DebugView program file (dbgview.exe) and DebugView will immediately start capturing debug output. Note that if you run DebugView on Windows 2000/XP you must have administrative privilege to view kernel-mode debug output. Menus, hot-keys, or toolbar buttons can be used to clear the window, save the monitored data to a file, search output, change the window font, and more. The on-line help describes all of DebugView's features.

This is a screenshot of DebugView capturing Win32 debug output from a remote system. Note the presence of a highlighting filter.

 Download DebugView (286 KB)

Run DebugView now from Live.Sysinternals.com

Runs on:

* Client: Windows XP and higher.

* Server: Windows Server 2003 and higher.

Desktops v1.0

By Mark Russinovich and Bryce Cogswell

Published: August 21, 2008

Introduction

Desktops allows you to organize your applications on up to four virtual desktops. Read email on one, browse the web on the second, and do work in your productivity software on the third, without the clutter of the windows you’re not using. After you configure hotkeys for switching desktops, you can create and switch desktops either by clicking on the tray icon to open a desktop preview and switching window, or by using the hotkeys.

Using Desktops

Unlike other virtual desktop utilities that implement their desktops by showing the windows that are active on a desktop and hiding the rest, Sysinternals Desktops uses a Windows desktop object for each desktop. Application windows are bound to a desktop object when they are created, so Windows maintains the connection between windows and desktops and knows which ones to show when you switch a desktop. That making Sysinternals Desktops very lightweight and free from bugs that the other approach is prone to where their view of active windows becomes inconsistent with the visible windows.

Desktops reliance on Windows desktop objects means that it cannot provide some of the functionality of other virtual desktop utilities, however. For example, Windows doesn't provide a way to move a window from one desktop object to another, and because a separate Explorer process must run on each desktop to provide a taskbar and start menu, most tray applications are only visible on the first desktop. Further, there is no way to delete a desktop object, so Desktops does not provide a way to close a desktop, because that would result in orphaned windows and processes. The recommended way to exit Desktops is therefore to logoff.

Screenshot

Configuration Dialog

Tray Desktop Switch Window

Download Desktops (62 KB)

Run Desktops now from Live.Sysinternals.com

Runs on:

* Client: Windows XP and higher.

* Server: Windows Server 2003 and higher.

Hex2dec v1.0

By Mark Russinovich

Published: November 1, 2006

Introduction

Tired of running Calc everytime you want to convert a hexadecimal number to decimal Now you can convert hex to decimal and vice versa with this simple command-line utility.

Usage: hex2dec [hex|decimal]

Include x or 0x as the prefix of the number to specify a hexadecimal value.
e.g. To translate 1233 decimal to hexadecimal: hex2dec 1233
e.g. To translate 0x1233 decimal to hexadecimal: hex2dec 0x1233

Download Hex2dec (41 KB)

Runs on:

* Client: Windows XP and higher.

* Server: Windows Server 2003 and higher.

RegDelNull v1.1

By Mark Russinovich

Published: November 1, 2006

Introduction

This command-line utility searches for and allows you to delete Registry keys that contain embedded-null characters and that are otherwise undeleteable using standard Registry-editing tools. Note: deleting Registry keys may cause the applications they are associated with to fail.

Using RegDelNull

Usage: regdelnull <path> [-s]

-s

Recurse into subkeys.

Here's an example of RegDelNull when used on a system on which the RegHide sample program has created a null-embedded key:

C:\>regdelnull hklm -sRegDelNull v1.10 - Delete Registry keys with embedded Nulls

Copyright (C) 2005-2006 Mark Russinovich

Sysinternals - www.sysinternals.com

Null-embedded key (Nulls are replaced by '*'):

HKLM\SOFTWARE\Systems Internals\Can't touch me!*

Delete (y/n) y

Scan complete.

Download Regdelnull (44 KB)

Runs on:

* Client: Windows XP (32-bit) and higher.

* Server: Windows Server 2003 (32-bit) and higher.

RegJump v1.01

By Mark Russinovich

Published: November 1, 2006

Introduction

This little command-line applet takes a registry path and makes Regedit open to that path. It accepts root keys in standard (e.g. HKEY_LOCAL_MACHINE) and abbreviated form (e.g. HKLM).

Usage: regjump [path]

Download Regjump (40 KB)

Runs on:

* Client: Windows XP and higher.

* Server: Windows Server 2003 and higher.

Strings v2.41

By Mark Russinovich

Published: March 2, 2009

Introduction

Working on NT and Win2K means that executables and object files will many times have embedded UNICODE strings that you cannot easily see with a standard ASCII strings or grep programs. So we decided to roll our own. Strings just scans the file you pass it for UNICODE (or ASCII) strings of a default length of 3 or more UNICODE (or ASCII) characters. Note that it works under Windows 95 as well.

Using Strings

Usage: strings.exe [-a] [-b bytes] [-n length] [-o] [-q] [-s] [-u] <file or directory>

Strings takes wild-card expressions for file names, and additional command line parameters are defined as follows:

-s | Recurse subdirectories.
-o | Print offset in file string is located.
-a | Scan for ASCII only.
-u | Scan for UNICODE only.
-b bytes | Bytes of file to scan.
-n X | Strings must be a minimum of X characters in length.

To search one or more files for the presence of a particular string using strings use a command like this:

strings * | findstr /i TextToSearchFor

Download Strings (72 KB)

Runs on:

* Client: Windows XP and higher.

* Server: Windows Server 2003 and higher.

ZoomIt v3.03

By Mark Russinovich

Published: March 30, 2009

Introduction

ZoomIt is screen zoom and annotation tool for technical presentations that include application demonstrations. ZoomIt runs unobtrusively in the tray and activates with customizable hotkeys to zoom in on an area of the screen, move around while zoomed, and draw on the zoomed image. I wrote ZoomIt to fit my specific needs and use it in all my presentations.

ZoomIt works on all versions of Windows and you can use pen input for ZoomIt drawing on tablet PCs.

Using ZoomIt

The first time you run ZoomIt it presents a configuration dialog that describes ZoomIt's behavior, let's you specify alternate hotkeys for zooming and for entering drawing mode without zooming, and customize the drawing pen color and size. I use the draw-without-zoom option to annotate the screen at its native resolution, for example. ZoomIt also includes a break timer feature that remains active even when you tab away from the timer window and allows you to return to the timer window by clicking on the ZoomIt tray icon.

Download ZoomIt (129 KB)

Run ZoomIt now from Live.Sysinternals.com

Runs on:

* Client: Windows XP and higher.

* Server: Windows Server 2003 and higher.

©Harut