Мониторинг реестра. Как определить, какие программы обращаются к реестру.
Одной из лучших программ для мониторинга реестра, является утилита
Process Monitor,
которую можно загрузить с сайта Microsoft, по ссылке на странице программы:
Страница Process Monitor на Microsoft Sysinternals
Программа Process Monitor является усовершенствованным инструментом
отслеживания активности приложений и системных служб , который в режиме реального времени отображает активность файловой системы, реестра, сети, процессов и потоков.
В этой программе сочетаются возможности двух ранее выпущенных программ от
Sysinternals: Filemon и Regmon, а также огромный ряд улучшений,
включая расширенную фильтрацию, всеобъемлющие свойства событий,
такие как ID сессий и имена пользователей, достоверную информацию о процессах,
полноценный стек потока со встроенной поддержкой всех операций,
одновременную запись информации в файл и многие другие возможности.
Эти уникальные возможности делают программу Process Monitor ключевым
инструментом для устранения неполадок и избавления от вредоносных программ.
Недостатком программы можно считать вероятность зависания при большом количестве отслеживаемых событий.
Методике использования утилиты
Process Monitor для анализа активности процессов в Windows посвящена отдельная статья:
Подробное описание утилиты Process Monitor .
Не смотря на появление
Process Monitor , в среде Windows XP удобнее использовать хотя и устаревшую, но по прежнему эффективную, утилиту
Regmon, поддержка которой прекращена автором. Фактически,
Regmon, является частью утилиты
Process Monitor, и выполняет только мониторинг обращений к реестру. Параметры программы, панель инструментов, принципы фильтрации и выделения отслеживаемых событий, а также результатов мониторинга в обеих программах практически одинаковы.
Информация выдается в удобном виде, который можно настроить под свои нужды -
исключить из результатов мониторинга данные о работе с реестром неинтересных
вам приложений, подчеркнуть выбранным цветом то, что считаете особо важным,
включить в результаты мониторинга только выбранные процессы. Программа
позволяет быстро и легко выполнить запуск редактора реестра с переходом к
указанному разделу или параметру. Имеется возможность выполнять мониторинг
в процессе загрузки операционной системы с записью результатов в специальный
журнал %SystemRoot\Regmon.log.
После старта RegMon, можно определить критерии фильтрации результатов
мониторинга реестра:

По умолчанию протоколируются все события обращения к реестру.
Фильтр задается значениями полей:
Include - Если
* - выполнять мониторинг для всех процессов.
Имена процессов разделяются символом
";". Например -
FAR.EXE;Winlogon.exe - будут фиксироваться
обращения к реестру только для процессов far.exe и winlogon.exe.
Exclude - какие процессы исключить из результатов мониторинга.
Highlight - какие процессы выделить выбранным цветом (по умолчанию -
красным).
Значения полей фильтра запоминаются и выдаются при следующем старте Regmon.
При нажатии кнопки
Defaults выполняется сброс фильтра в установки по
умолчанию - фиксировать все обращения к реестру. Значения полей фильтра
удобнее формировать не при старте RegMon, а в процессе мониторинга,
используя меню правой кнопки мыши для выбранного процесса
-
Include process -
включить данный процесс в мониторинг
-
Exclude process - исключить данный процесс из мониторинга.
После старта Regmon с фильтрами по умолчанию, вы
увидите большое количество записей об обращении к реестру и, используя
Include/Exclude process, можете настроить вывод результатов только нужного
вам процесса (процессов).

Назначение колонок:
# - номер по порядку
Time - Время. Формат времени можно изменить с помощью вкладки
Options
Process - имя процесса: идентификатор процесса (PID)
Request - тип запроса. OpenKey - открытие ключа (подраздела) реестра, CloseKey - закрытие, CreateKey - создание, QueryKey - проверка наличия ключа и получение количества вложенных ключей (подразделов, subkeys), EnumerateKey - получить список имен подразделов указанного раздела, QueryValue - прочитать значение параметра, SetValue - записать значение.
Path - путь в реестре.
Result - результат выполнения операции. SUCCESS - успешно, NOT FOUND - ключ (параметр) не найден. ACCESS DENIED - доступ запрещен (недостаточно прав). Иногда бывает BUFFER OVERFLOW - переполнение буфера - результат операции не помещается в буфере программы.
Other - дополнительная информация, результат выполненного запроса.
Программа очень проста в использовании. После старта, лучше выбрать фильтр по умолчанию, т.е. фиксировать все обращения к реестру, а затем,
в основном окне программы, выбрать ненужный процесс и с помощью правой кнопки мыши вызвать контекстное меню - Exclude process - информация об обращении к реестру данного процесса выводиться не будет. И таким же образом отфильтровать другие, не интересующие вас процессы. Небольшим недостатком программы является ограниченное количество возможных фильтров.
При работе с программой можно использовать меню File, Edit, Options или сочетание клавиш:
CTRL-S - сохранить результаты
CTRL-P - свойства выбранного процесса
CTRL-E - включить/выключить мониторинг
CTRL-F - поиск по контексту
CTRL-C - копировать выбранную строку в буфер обмена
CTRL-T - изменить формат времени
CTRL-X - очистить окно результатов мониторинга
CTRL-J - запустить редактор реестра и открыть ветвь, указанную в колонке Path. Это же действие выполняется при двойном щелчке левой кнопки мыши.
Очень полезная возможность, позволяет значительно экономить время.
CTRL-A - включить/выключить автоматическую прокрутку
CTRL-H - позволяет задать число строк результатов мониторинга
Еще одна очень полезная возможность - получить журнал обращений к реестру в процессе загрузки операционной системы.
Для этого выбираете меню
Options-Log Boot. Программа выдаст сообщение, что Regmon сконфигурирован для записи обращений
к реестру в файл журнала в ходе следующей перезагрузки ОС:

После перезагрузки ОС, в корневом каталоге системы (C:\Windows) будет находиться файл Regmon.log с журналом результатов мониторинга. Режим записи
в журнал будет продолжаться до запуска Regmon.exe вошедшим в систему пользователем и выполняется только для одной перезагрузки системы.
Конечно же, содержимое журнала не будет полностью отображать абсолютно все обращения к реестру. Поскольку Regmon в режиме Log Boot инсталлируется в системе и, после перезагрузки, запускается в качестве драйвера, все обращения к реестру, произошедшие до его старта, в журнале не зафиксируются.
Однако большая часть все же туда попадет, и вы увидите, что таких обращений будет несколько сотен тысяч.
Подробное описание утилиты
Regmon и ее использования для мониторинга реестра.
Поскольку утилита Regmon больше не поддерживается Microsoft, скачать ее с официального
сайта невозможно.
Скачать отсюда RegMon.exe v7.04, 700кб
Автозапуск программ.
В операционных системах семейства Windows предусмотрена возможность автоматического запуска программ для создания определенной пользовательской среды. Простейшим способом автоматического запуска является размещение ярлыков приложений или файлов сценариев в специальной папке
Автозагрузка. Автоматический запуск по ссылкам в данной папке возможен как для отдельного пользователя, так и для всех пользователей, регистрирующихся в системе. Кроме папки "Автозагрузка", для запуска программ могут использоваться и разделы реестра:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
Последние 2 раздела (...Once) отличаются тем, что программы, прописанные в
них запускаются только 1 раз и после выполнения параметры ключа удаляются.
Записи в HKLM относятся ко всем пользователям компьютера. Для текущего пользователя
запуск определяется ключами в разделе HKU:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
Пример раздела HKLM\...\RUN:
В правом окне вы видите список
параметров, значениями которых
является строка, ссылающаяся на программу.
При входе пользователя в систему, все перечисленные программы будут выполнены.
Удалите параметр - программа не запустится. В связи с тем, что автозапуск программ через реестр используется очень многими программными продуктами, причем, как правило, не в интересах пользователя, большинство автоматически запускаемых программ для работы не нужны, и их запуск можно отключить, удалив соответствующие записи из данного раздела реестра. Если у вас недостаточно знаний для выбора претендентов на удаление из автозапуска, попробуйте поэкспериментировать, меняя расширение exe на ex_. В случае необходимости можно вернуть автозапуск, изменив расширение исполняемого файла.
Для просмотра и отключения автоматически запускаемых программ можно воспользоваться системной утилитой настройки системы от Microsoft -
msconfig.exe
Кроме программ, запускающихся при регистрации пользователя в системе,
запускается еще огромное количество других, не всегда очевидных, - это и системные
службы (сервисы), различные драйверы, программы оболочки (Shell) и т.п. Кроме
полезных ( а иногда и бесполезных) программ могут выполняться, используя
автоматический запуск и внедрившиеся в систему вирусы. Более подробно о вирусах
здесь. Точек
возможного автоматического запуска исполняемых модулей огромное множество,
и для
их поиска в реестре удобнее использовать специальные программы - мониторы
автозапуска, наиболее популярной из которых, является
Autoruns.exe , обладающей более широким спектром возможностей,
чем служебная программа MSConfig, входящая в состав Windows.
Инсталляция не требуется. Просто скачайте Autoruns, разархивируйте его и
запустите файл
Autoruns.exe (в пакет включена утилита
autorunsc.exe - консольная версия). Программа покажет,
какие приложения настроены на автоматический запуск, а также представит полный
список разделов реестра и каталогов файловой системы, которые могут
использоваться для задания автоматического запуска. Элементы, которые
показывает программа Autoruns, принадлежат к нескольким категориям: объекты,
автоматически запускаемые при входе в систему, дополнительные компоненты
проводника, дополнительные компоненты обозревателя Internet Explorer (включая объекты
модулей поддержки обозревателя (Browser Helper Objects или сокращенно - BHO), библиотеки DLL инициализации
приложений, подмены элементов, объекты, исполняемые на ранних стадиях
загрузки, библиотеки DLL уведомлений Winlogon, службы Windows и многоуровневые
поставщики услуг Winsock.
Чтобы просмотреть автоматически запускаемые объекты требуемой категории,
достаточно выбрать нужную вкладку.
Поскольку Autoruns разрабатывалась тем же автором, что и рассмотренная выше
утилита Regmon.exe, у них много общего.
Для поиска записей в реестре, относящихся к выбранному объекту достаточно
использовать пункт "Jump to" контекстного меню, вызываемого правой
кнопкой мыши. Произойдет запуск редактора реестра и откроется ключ,
обеспечивающий его запуск.
Cтраница
с подробным описанием и практическими примерами использования
утилиты
Autoruns
Драйверы и службы.
Информация о драйверах и системных службах (сервисах) находится в разделе
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
Каждому драйверу или сервису соответствует свой раздел. Например, "atapi" -
для драйвера стандартного IDE контроллера жестких дисков, "DNScache" - для
службы "DNS клиент". Назначение основных ключей:
DisplayName - выводимое имя - то что вы видите в качестве осмысленного
названия при использовании, например, элементов панели управления.
ErrorControl - режим обработки ошибок.
0 - игнорировать (Ignore) при ошибке загрузки или инициализации драйвера не выдается
сообщение об ошибке и система продолжает работу.
1 - нормальный (Normal) режим обработки ошибки. Работа системы продолжается
после вывода сообщения об ошибке. Параметры ErrorControl для большинства
драйверов устройств и системных служб равна 1.
2 - особый (Severe) режим. Используется для обеспечения загрузки последней
удачной конфигурации (LastKnownGood).
3 - критическая (Critical) ошибка. Процесс загрузки останавливается, и
выводится сообщение о сбое.
Group - название группы, к которой относится драйвер,
например - "Видеоадаптеры"
ImagePath путь и имя исполняемого драйвера. Файлы драйверов обычно имеют расширение
.sys и располагаются в папке \Windows\System32\DRIVERS\. Файлы сервисов - обычно
.exe и располагаются в \Windows\System32\.
Start управление загрузкой и инициализацией. Определяет, на каком
этапе загрузки системы производится
загрузка и инициализация данного драйвера или службы. Значения Start:
0 - BOOT - драйвер загружается загрузчиком системы.
1 - SYSTEM - драйвер загружается в процессе инициализации ядра.
2 - AUTO - служба запускается автоматически при загрузке системы.
3 - MANUAL - служба запускается вручную.
4 - DISABLE - драйвер или сервис отключен.
Загрузка драйверов и запуск служб с параметрами Start от 0 до 2 выполняются до
регистрации пользователя в системе. Для отключения драйвера или службы достаточно установить
значение параметра
Start равным
4. Отключение драйверов и служб через редактирование
этого ключа реестра - довольно опасная операция. Если вы случайно или по
незнанию отключите драйвер или сервис, без запуска которых невозможна загрузка или
функционирование операционной системы, то получите ее аварийное завершение (чаще всего -
синий экран смерти Blue Screen Of Death или сокращенно - BSOD).
Во многих случаях, раздел драйвера содержит параметр типа DWORD с
именем
Tag. Основное его назначение - определение порядка загрузки
драйвера или службы внутри группы. Сначала загружаются драйверы и службы в
соответствии со значением параметра
Start, затем - в соответствии с номером группы, определяемым
разделом реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GroupOrderList
и затем - по номерам
тегов отдельных драйверов или служб внутри группы. Если поле тега отсутствует,
то загрузка драйвера выполняется только после того, как будут загружены
драйверы с установленными значениями
Tag.
Неверный порядок загрузки драйверов и служб может быть вызван ошибками
их установки, недоработками разработчиков и, в редких случаях, -
приводить к проблемам функционирования системы (захват ресурсов, необходимых
другим драйверам, загрузка раньше другого драйвера, который
необходим для работы, и т.п.). Чем меньше значение
Tag, тем выше
приоритет загрузки драйвера в группе.
Для получения информации о порядке
загрузки драйверов, можно воспользоваться специальной утилитой от Sysinternals
LoadOrder
Информация, выдаваемая программой не полностью отсортирована в
соответствии с реальным
порядком загрузки драйверов и служб, но собрана в компактном виде и значение
поля
Tag присутствует. Иногда этой информации вполне достаточно для
анализа ситуации, связанной с проблемой функционирования конкретного устройства.
При нажатии кнопки
Copy выходные данные LoadOrder копируются в буфер обмена, после
чего их можно сохранить в текстовый файл. Текст можно открыть в Excel, что позволит
сортировать, фильтровать и отбирать результаты.
Из приведенного снимка экрана видно, что в самом начале загрузки Windows,
загружаются драйверы группы
Boot Bus Extender. Первым, в соответствии
со значением Tag = 1,
будет загружен
Драйвер Microsoft ACPI, затем -
Драйвер шины PCI,
затем -
Драйвер шины PnP ISA/EISA и т.д.
Утилита LoadOrd входит в стандартный пакет утилит
Sysinternals Suite, не требует установки и работает во всех версиях Windows.
Драйверы и службы для безопасного режима.
При загрузке операционной системы для инициализации драйверов и служб используется
набор управляющих параметров из раздела текущей конфигурации
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
Практически, этот раздел определяет набор драйверов, которые известны системе, их параметры, системные службы и дополнительные наборы, которые используются в различных вариантах загрузки ОС. Для загрузки системы в безопасном режиме
(Safe Mode) используется минимально необходимая конфигурация драйверов
и системных служб, перечень которых задается разделом:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot
Там имеются подразделы:
Minimal - список драйверов и служб, запускаемых в безопасном режиме
(Safe Mode)
Network - то же, но с поддержкой сети.
Кроме раздела HKLM\SYSTEM\CurrentControlSet, в реестре присутствуют и
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet002
По своей структуре они идентичны HKLM\SYSTEM\CurrentControlSet, и предназначены для
дополнительной возможности восстановления работоспособности системы с использованием
загрузки последней удачной конфигурации системы (Last Known Good Configuration).
Возможные варианты загрузки управляющих наборов определяются содержимым раздела :
HKEY_LOCAL_MACHINE\SYSTEM\Select
Current - управляющий набор, который был использован для текущей загрузки.
Default - управляющий набор, который будет использоваться при следующей загрузке.
LastKnownGood - управляющий набор, который будет использоваться, если будет выбран режим загрузки последней удачной конфигурации (Last Known Good Configuration).
Failed - сбойный управляющий набор, который будет создан, если будет выбран режим загрузки последней удачной конфигурации (Last Known Good Configuration).
После успешной загрузки и входа пользователя в систему, данные из
CurrentControlSet и ControlSet001 копируются в ControlSet002. При изменении
конфигурации, данные записываются в CurrentControlSet и ControlSet001. Если
изменение настроек привело к краху системы, имеется возможность ее
восстановления при использовании варианта последней успешной загрузки,
берущей данные из ControlSet002. После удачной загрузки в этом режиме,
появится новый подраздел с управляющим набором, ControlSet003, - на тот
случай, если вам снова понадобится использовать Last Known Good Configuration.
При каждом использовании загрузки последней удачной конфигурации значение
ControlSet00x будет увеличиваться, поэтому в реестре некоторых ОС имеются
разделы ControlSet003, ControlSet004 и т.д.
Использование загрузки с параметрами последней удачной конфигурации позволяют восстановить работоспособное состояние системы в тех случаях, когда ошибка не позволяет войти пользователю в систему и загрузка завершается синим экраном смерти или зависанием до момента регистрации.
Список установленных приложений в реестре Windows.
Подавляющее большинство программ, установленных в системе стандартным образом, выполняют запись в раздел реестра:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
Каждый подраздел раздела \Uninstall\ содержит подразделы с именами в виде уникальных глобальных идентификаторов (GUID) в виде:
{23170F69-40C1-2702-0922-000001000000}
Также, возможны имена в виде обычных строк символов, например
Recuva. Каждый подраздел содержит информацию об отдельном установленном в системе программном продукте:
Наиболее интересные параметры ключей из раздела
\Uninstall:
DisplayName - имя программы.
DisplayVersion - версия.
InstallDate - дата установки.
InstallLocation - каталог, в который установлена программа.
Publisher - автор.
UninstallString - строка для запуска процесса удаления программы.
VersionMajor - старшая часть версии.
VersionMinor - младшая часть версии.
Для получения текстового файла со списком установленных программ и некоторых их характеристик, можно использовать сценарий
.vbs, работающий с данными раздела
\Uninstall реестра:
Const HKLM = &H80000002
keyUninst = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\"
Set fso = CreateObject ("Scripting.FileSystemObject")
Set reg = GetObject("winmgmts://./root/default:StdRegProv")
Set shell = CreateObject("WScript.Shell")
hostname = shell.RegRead("HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Hostname")
Set fout = fso.CreateTextFile(hostname & ".progs.txt", true)
reg.EnumKey HKLM, keyUninst, subkeys
for each subkey in subkeys
outline = ""
if reg.GetStringValue(HKLM, keyUninst & subkey, "DisplayName", strret) <> 0 Then
reg.GetStringValue HKLM, keyUninst & subkey, "QuietDisplayName", strret
end if
if strret <> "" then
outline = outline & strret
reg.GetStringValue HKLM, keyUninst & subkey, "InstallDate", strret
if strret <> "" then
outline = outline & "; дата установки: " & strret
if (reg.GetDWORDValue(HKLM, keyUninst & subkey, "VersionMajor", intret1) = 0) and (reg.GetDWORDValue(HKLM, keyUninst & subkey, "VersionMinor", intret2) = 0) then
outline = outline & ", версия: " & intret1 & "." & intret2
end if
end if
fout.WriteLine outline
end if
next
fout.Close
Готовый файл сценария в виде ZIP-архива
pkg_info.zip – скачать, менее 1кб. . При выполнении сценария, в текущем каталоге будет создан текстовый файл, содержащий список установленных программ с датой установки и номером версии.
Имя текстового файла с результатами выполнения сценария -
Имя компьютера.progs.txt
Пароли приложений в реестре Windows.
Единого места хранения паролей для прикладных программ в реестре Windows
не предусмотрено, однако, имеется несколько разделов, которые
стандартно используются популярными приложениями.
Сразу добавлю, практически нет никаких шансов получить какой-либо пароль с
помощью простого просмотра данных реестра. Пароли, в подавляющем большинстве
случаев, хранятся в зашифрованном виде, и для их дешифрации потребуется
специальное программное обеспечение.
Для доступа к некоторым разделам реестра, где хранятся данные о паролях,
потребуется запуск редактора реестра с правами локальной системной учетной
записи (Local System).
В качестве места хранения паролей обозревателя Internet Explorer
(до версии 7.0) для доступа к сайтам, паролей для почтовых учетных записей и
паролей FTP-доступа используется
Защищенное хранилище ( Protected Storage ).
Информация запоминается в специальном разделе реестра
HKEY_CURRENT_USER\Software\Microsoft\Protected Storage System
Provider
Новые версии Internet Explorer (7.0 и старше) хранят пароли и информацию
для автозаполнения форм в двух разных местах - в защищенном хранилище,
определяемом разделом реестра
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\IntelliForms\Storage2
и в специальном файле (
credentials ) в каталоге пользователя Windows XP
Documents and Settings\имя пользователя\Application Data\Microsoft\Credentials
Для Windows 7 используются скрытые папки
Credentials в каталогах профилей пользователя, например "C:\Users\Имя пользователя\Local Settings\Microsoft\Credentials\"
Данные об учетных записях почтовых клиентов и некоторых других сетевых приложений можно найти в разделе
HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts
Но информация о паролях также зашифрована.
Учетные записи для dialup (VPN) - подключений и данные об учетных
записях некоторых других типов можно найти в разделе
HKEY_LOCAL_MACHINE\Security\Policy\Secrets
Для доступа к разделу нужны права локальной системной учетной записи. Информацию о паролях в открытом виде найти не удастся.
Есть очень редко встречающиеся приложения, хранящие пароли доступа в ключах
реестра в открытом виде, но это не правило, а исключение из правила,
поэтому, если вам нужно восстановить забытый пароль, редактор реестра вам не
поможет. Пользуйтесь например,
программами
для восстановления забытых паролей от Nirsoft
Ассоциации расширений файлов и приложений.
Как я уже упоминал выше, корневой раздел реестра
HKEY_CLASSES_ROOT ( сокращенное обозначение
HKCR) - используется для ассоциации между приложениями и расширениями файлов. Другими словами, содержимое данного раздела, определяет, какие приложения, и каким образом, обрабатывают файлы с определенными расширениями. Например, при установленном пакете Microsoft Office, файлы с расширением .doc отображаются в проводнике с иконкой ассоциированного с данным типом файлов приложения Microsoft Word, а двойной щелчок на ярлыке такого файла вызовет его открытие для редактирования в Word'е.
Для просмотра и изменения ассоциаций файлов и приложений можно воспользоваться меню
Панель управления - Свойства папки - Типы файлов
При создании ассоциаций выполняется запись определенных данных в раздел HKCR, что позволяет сопоставить определенному типу файла нужное для его обработки приложение и соответствующую ему иконку. В качестве примера я взял записи в HKCR, относящиеся к файлам с расширением
.3gp
Отрываем раздел
HKEY_CLASSES_ROOT\.3gp
Первый строковый параметр (Параметр по умолчанию) определяет имя раздела в HKCR, данные которого, описывают приложение, сопоставленное расширению файла .3gp. Остальные параметры не обязательны, и описывают тип содержимого для файлов .3gp.
В данном случае, раздел реестра для ассоциации приложения с типом файлов .3gp -
HKEY_CLASSES_ROOT\mplayerc.3gp
Количество и содержание подразделов и отдельных ключей определяется особенностями конкретных типов файлов и ассоциируемых с ними приложений, однако практически всегда присутствуют
DefaultIcon - параметр по умолчанию указывает на файл, содержащий иконку, сопоставленную файлам с данным расширением. В данном примере для открытия файлов с
расширением .3gp используется приложение
Media Player Classic , набор иконок которого
хранится в библиотеке mpciconlib.dll в каталоге программы. Значение строкового параметра
"C:\Program Files\K-Lite Codec Pack\Media Player Classic\mpciconlib.dll",28
Где 28 - порядковый номер иконки. Одно и то же приложение может быть ассоциировано с несколькими типами файлов, и иметь несколько разных вариантов отображаемых иконок.
Shell - раздел определяет набор возможных действий над файлом данного типа.
Подраздел
Open раздела Shell определяет действие при открытии файла .3gp
Подраздел
Command раздела Open задает команду, выполняемую при открытии файлов .3gp. В данном случае:
"C:\Program Files\K-Lite Codec Pack\Media Player Classic\mplayerc.exe" "%1"
Т.о. при открытии файла с расширением .3gp, например, двойным щелчком мышки, будет запущен проигрыватель Media Player Classic, и в качестве входного параметра ему будет передано имя проигрываемого файла ("%1" в строке команды).
В ветви HKEY_CLASSES_ROOT есть раздел с именем
"*". Параметры, задаваемые в
данном разделе определяют действия, выполняемые по отношению ко всем
расширениям файлов, в том числе и не зарегитрированным. Действия по
отношению к папкам определяются содержимым раздела
HKEY_CLASSES_ROOT\
Folder.
Ограничение доступа пользователя к ресурсам.
В большинстве случаев, для того, чтобы изменения, внесенные в реестр, возымели действие,
нужна перезагрузка или выход и повторный вход в систему. Параметры в разделе
HKEY_CURRENT_USER относятся к текущему пользователю системы. Параметры в
разделе HKEY_LOCAL_MACHINE - ко всем пользователям.
Скрываем логические диски
Открываем раздел:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer
и добавляем в него параметр
NoDrives типа DWORD. Значение параметра определяет скрываемые
диски A-Z. Наличие "1" начиная с младшего бита двойного слова означает отсутствие логического диска
в "Мой компьютер"
00000001 - нет диска A, 00000002 - нет диска B, 00000004 - нет диска C, 0000000F - нет дисков A-F
Добавлю, что скрытые таким образом диски не видны только для Explorerа и в других программах могут
быть доступны (в FAR например).
Изменяем меню кнопки "ПУСК"
NoRun =dword:00000001 нет кнопки "Выполнить"
NoLogOff=hex:01 00 00 00 ( не dword а hex) нет "Завершение сеанса <Имя>"
NoFind =dword:00000001 - нет пункта "Найти"
NoFavoritesMenu =dword:00000001 нет "Избранное"
NoRecentDocsMenu=dword:00000001 нет "Документы"
NoSetFolders =dword:00000001 нет "Панели управления" в подменю "Настройка"
NoSetTaskbar=dword:00000001 нет "Панель задач" там же
NoPrinters =dword:00000001 нет "Принтеры" в Панели управления
NoAddPrinter=dword:00000001 нет "Добавить принтер"
NoDeletePrinter=dword:00000001 нет "Удалить принтер"
NoDesktop=dword:00000001 Пустой рабочий стол
NoNetHood=dword:00000001 нет "Сетевое окружение"
NoInternetIcon=dword:00000001 нет значка "Интернет" на Рабочем столе Windows
NoTrayContextMenu =hex:01,00,00,00 -Отключить меню, вызываемое правой кнопкой мыши на панели задач
NoViewContextMenu =hex:01,00,00,00 - Отключить меню, вызываемое правой кнопкой мыши на Рабочем столе:
Чтобы включить обратно, надо 01 заменить на 00.
NoFileMenu=hex:01,00,00,00 скрыть " File " в верхней строке меню Проводника
ClearRecentDocsOnExit=hex:01,00,00,00 не сохранять список последних открываемых документов по выходу из системы.
Параметры, изменяющие системные настройки среды пользователей Windows XP хранятся в разделе
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\System
NoSecCPL =dword:00000001 отключает доступ к значку "Пароли" в Панели управления
NoAdminPage=dword:00000001 скрывает вкладку "Удаленное управление"
NoProfilePage =dword:00000001 скрывает вкладку "Профили пользователей"
NoPwdPage"=dword:00000001 скрывает вкладку "Смена паролей"
NoDispCPL=dword:00000001 отключает доступ к значку "Экран" в Панели управления
NoDispAppearancePage=dword:00000001 скрывает "Оформление" в окне свойств экрана
NoDispBackgroundPage=dword:00000001 скрывает "Фон" в окне свойств экрана
NoDispScrSavPage скрывает "Заставка" в окне свойств экрана
NoDispSettingsPage=dword:00000001 скрывает "Настройка" в окне свойств экрана
NoConfigPage=dword:00000001 скрывает "Профили оборудования" в окне свойств системы
NoDevMgrPage=dword:00000001 скрывает вкладку "Устройства" в окне свойств системы
NoFileSysPage=dword:00000001 скрывает кнопку "Файловая система..." на вкладке
"Быстродействие" в окне свойств системы
NoVirtMemPage=dword:00000001 скрывает кнопку "Виртуальная память..." на вкладке
"Быстродействие" в окне свойств системы
DisableRegistryTools=dword:00000001 запрет Regedit.exe или Regedt32.exe
Некоторые из перечисленных запретов на действия пользователя используют не
только системные администраторы, но и внедрившиеся
в систему вирусы. Обычно выполняется запись в реестр данных, блокирующих возможность
поиска и удаления внедрившегося вредоносного программного обеспечения и,
в качестве завершающего аккорда - запрет на запуск редактора реестра (DisableRegistryTools).
Как следствие, даже обладая правами администратора, пользователь не имеет возможности
что-либо сделать со своим собственным реестром. Попытка запуска редактора завершается
подобным сообщением:

Администратор компьютера получает сообщение
Редактирование реестра запрещено администратором системы. Иногда вирусное заражение сопровождается еще и блокировкой запуска менеджера программ, блокировкой некоторых пунктов контекстного меню проводника или невозможностью его запуска вообще.
Для управления разрешениями, на практике используются редакторы групповых политик, предоставляющие более удобный пользовательский интерфейс при выполнении задач по разграничению прав пользователей.
Практические примеры и советы
Настройка автозапуска сменных носителей.
Тип дисков, с которых необходимо разрешить или запретить автозапуск
определяется значением
ключа
NoDriveTypeAutoRun в разделе
HKEY_CURRENT_USER-Software-Microsoft-Windows-CurrentVersion-Policies-Explorer
NoDriveTypeAutoRun - это маска запрета автозапуска - шестнадцатеричное число,
биты которого, установленные в единицу, означают запрет, а в ноль - разрешение
автозапуска:
Типам дисков соответствуют биты маски (начиная со старшего разряда)
7 разряд - неопределенный (зарезервированный) тип (Unspecified Reserved Type)
6 разряд - виртуальный диск в оперативной памяти (DRIVE_RAMDISK)
5 разряд - CD/DVD диск (DRIVE_CDROM)
4 разряд - сетевой диск (DRIVE_REMOTE)
3 разряд - несъемный жесткий диск (DRIVE_FIXED)
2 разряд - съемный диск (DRIVE_REMOVABLE)
1 разряд - диск без каталога в корне диска (DRIVE_NO_ROOT_DIR)
0 разряд - диск не распознан (DRIVE_UNKNOWN)
Значение маски NoDriveTypeAutoRun по умолчанию - 0x95, т.е.
10010101 в двоичном виде.
Таким образом,
запрещен автозапуск с устройств, тип которых задан 7,4,2,0 разрядами - с
дисков неопределенного типа, сетевых, съемных и нераспознанных. Разрешен автозапуск
с дисков, тип которых определяется 6,5,3,1 разрядами, т.е. для ramdisk, CD/DVD,
несменных жестких дисков, и дисков без каталога в корне. Для разрешения
автозапуска с любых дисков все биты маски NoDriveTypeAutoRun нужно установить
в ноль (0x0), для разрешения - в единицу (0xFF). для разрешения автозапуска только с
CD/DVD носителей NoDriveTypeAutoRun должен быть равен 0x20.
С появлением
вирусов, распространяющихся через съемные USB диски (флешки), автозапуск программ
с внешних носителей стал серьезной угрозой безопасности компьютера и
практически, как способ запуска программ, не используется. Обновления
безопасности Майкрософт полностью блокируют данную возможность не только для
маски NoDriveTypeAutoRun, но и настройками запрета обработки самого файла
autorun.inf, в котором содержится информация о запускаемом приложении. Например,
следующим образом
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\Autorun.inf]
@="@SYS:DoesNotExist"
Для полного исключения автозапуска программ с любых носителей можно выполнить
импорт в реестр reg-файла следующего содержания:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cdrom]
"AutoRun"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer]
"NoDriveTypeAutoRun"=dword:000000ff
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\Autorun.inf]
@="@SYS:DoesNotExist"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\CancelAutoplay\Files]
"*.*"=""
В списке установленных программ присутствует программа, которая уже была удалена
Обычно это может быть вызвано тем, приложение было удалено вручную, а не деинсталлировано, или же деинсталлятор некорректно выполнил удаление записей приложения в реестре системы. Исправить ситуацию можно отредактировав раздел:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall
Постоянно приходится указывать путь на дистрибутив Windows
Найдите раздел
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Setup
и в параметре
SourcePath укажите путь на ваш дистрибутив - например, строковое значение
D:\i386
.
Проблемы с русским шрифтом на некоторых программах
Обычно, это характерно для нелокализованных ОС. Даже если
вы установили русифицированные шрифты и в региональных установках указали Россию, проблемы с кириллическими шрифтами все же, могут возникнуть при использовании некоторых приложений. Для исправления ситуации перейдите в раздел
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\FontSubstitutes
и измените (добавьте) следующие параметры:
System,0 на значение System,204
Courier,0 на значение Courier,204
Arial,0 на значение Arial,204
Courier New,0 на значение Courier New,204
Times New Roman,0 на значение Times New Roman,204
Скорее всего, эти параметры там уже есть, но вместо 204 стоит 238.
Снятие пароля с заставки (ScreenSaver'а)
Параметры рабочего стола текущего пользователя задаются значениями ключей раздела реестра
HKEY_CURRENT_USER\Control Panel\Desktop
Ключи данного раздела реестра определяют не только внешний вид рабочего стола, но и некоторые другие параметры поведения системы, например, при выключении и перезагрузке. Так,
ключ
WaitToKillAppTimeout определяет время ожидания принудительного завершения приложения в миллисекундах( стандартное значение - 20000 или 20 секунд).
Использование экранной заставки определяется значением параметра
ScreenSaveActive
1 - заставка используется
0 - заставка не используется
Параметр
ScreenSaveTimeOut определяет время ожидания в секундах для активации заставки.
Параметр
SCRNSAVE.EXE указывает на файл с расширением .scr используемый для формирования заставки.
Для снятия пароля с заставки для рабочего стола нужно
установить значение ключа
ScreenSaverIsSecure равным нулю.
Очистка имени пользователя в окне регистрации при входе в систему
Раздел HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
DontDisplayLastUserName=dword:00000001
Запрет /разрешение запуска редактора реестра и диспетчера задач.
Для запрета запуска редактора реестра любым пользователем используется
раздел
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system
DisableRegistryTools =dword:00000001 запрещено запускать
DisableRegistryTools =dword:00000000 разрешено запускать
DisableTaskMgr - =dword:00000001 запрещено запускать
DisableTaskMgr - =dword:00000000 разрешено запускать
Для ограничения запуска редактора реестра и диспетчера задач текущего пользователя
аналогичные значения устанавливаются в разделе
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies
Изменение языка по умолчанию в окне входа в систему
Выбор языка ввода определяется разделом реестра
HKEY_USERS\.DEFAULT\Keyboard Layout\Preload.
В разделе имеется два строковых параметра - "1" и "2".
Если значения равны:
1=00000409
2=00000419
то раскладка в окне входа в систему станет английской.
Если значения параметрам присвоить наоборот ("1"=00000419, "2"= 00000409) - то
раскладка станет русской.
Информация о версии Service Pack
При установке Service Pack проверяется ключ реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows\CSDVersion.
Значение REG_DWORD = 0x00000100 указывает на Service Pack 1 ( Windows 7 )
Значение REG_DWORD = 0x00000400 указывает на SP4 ( Windows XP )
Если номер версии устанавливаемого обновления ниже, то
установка не выполняется. Если вам нужно все же установить более раннюю версию,
можно подправить это значение, например на REG_DWORD = 0x00000300 для Service
Pack 3
В реестре также имеется ключ
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
\CSDVersion
где хранится текстовое значение для версии Service Pack
"CSDVersion"="Service Pack 1"