Hklm software wow6432node microsoft windows currentversion run

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

Когда-то централизованные контейнеры для хранения данных об автоматически загружающихся сервисах и приложениях, в Windows 7 децентрализовались и разбрелись по углам, усложнив управление автозагрузкой. А в реестре 64-битной версии Windows они и вовсе поразбежались по разделам, связанным с битностью системы. Впрочем, пройдемся по порядку.

1. В 32-битных Windows раздел, в котором хранились данные о программах, запускаемых при регистрации в системе для всех пользователей компьютера, хранился в HKLMSOFTWAREMicrosoftWindowsCurrentVersionRun. В Windows 7 x86-64 этот путь углубился на один уровень, и теперь инстанс располагается в HKLMSOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionRun. При этом ПО, разработанное под платформу x86, запускается из него же. Не спрашивайте, почему. Мы все равно не знаем.

2. Привычный раздел, служащий для однократного (с последующим автоматическим удалением) запуска программ при регистрации пользователей в системе тоже переехал из HKLMSOFTWAREMicrosoftWindowsCurrentVersionRunOnce в HKLMSOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionRunOnce. Логично.

3. Помните раздел HKLUSoftwareMicrosoftWindowsCurrentVersionRun, который служил для запуска программ при регистрации текущего пользователя в системе? Из предыдущих двух пунктов сделали вывод, что он тоже перебрался в инстанс Wow6432Node? Как бы не так, изменения не были реализованы настолько системно и однообразно. Инстанс остался на своем месте, с той же функциональностью. Вспоминается детская шутка-загадка, в которой предлагалось сперва угадать домашнее животное на букву «К» из 4 букв (отгадка — Клоп), потом — домашнее животное на букву «Д» (отгадка — Два клопа), а потом животное на букву «Т» (обычно угадывающий сразу же восклицал «Три клопа!», на что ему степенно возражали «Нет, Таракан!»). У Microsoft тоже есть чувство юмора, не правда ли?

4. Тоже самое касается для раздела под однократный запуск для текущего пользователя с последующим удалением: он остался в HKLUSoftwareMicrosoftWindowsCurrentVersionRunOnce.

Dragokas

Very kind Developer

Привет!
Для тех, кому все это в новинку поясню, что для 64-разрядных ОС некоторые ключи в реестре существуют в двух представлениях:
— для х64 битных приложений.
— для х32 битных приложений.

1. Ключ HKEY_LOCAL_MACHINESOFTWAREClassesCLSID (и все его подразделы) — является 64-битным
2. Ключ HKEY_LOCAL_MACHINESOFTWAREClassesWow6432NodeCLSID (и все его подразделы) — 32-битным.

Если вы попытаетесь в 64-битной ОС с помощью 32-разрядного приложения прочитать/записать/удалить и.т.п. ключ № 1, произойдет перенаправление, и действие выполнится с ключем № 2.

Это пример обычного перенаправления (redirected).

В плане переадресации существуют такие виды ключей реестра:
1. Перенаправляемые (redirected)
2. Общие (shared)
3. Отраженные (reflected)
4. Также выделю отдельной группой симлинки (symlink), связанные с механизмом registry redirector.

1. Перенаправляемые (redirected).

Пример таких ключей описан выше (см. Введение).

Возьмем для примера такие ключи:
а) HKLMSoftwareWow6432NodeMicrosoftWindowsCurrentVersionPolicies (32-битное представление)
б) HKLMSoftwareMicrosoftWindowsCurrentVersionPolicies (64-битное представление)

В виду особой важности, некоторые ключи в обеих представлениях (64 и 32) физически ссылаются на один и тот же ключ. Это означает, что если Вы измените ключ под Wow6432Node (ключ а.), то изменения будут видны и в ключе б. И наоборот.

Такие ключи использовались в ОС Windows Server 2008 / Vista / Server 2003 / XP.
Начиная с Windows 7 они были заменены на Shared (общие ключи, см. выше).

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

4. Симлинки, связанные с переадресацией под Wow64.

Microsoft не рекомендует использовать для доступа к 32-разрядным ключам жестко закодированные строки, проходящие через имя Wow6432Node. Вместо этого есть цивилизованные способы.

Однако, некоторые программисты все же используют такие пути. И это могло бы плохо закончится, потому что, начиная с Windows 7 (?) путь к Wow6432Node для некоторых ключей изменился, а для других было вообще отключено 32-битное представление.

Тем не менее, MS позаботилась о таких ситуациях и ввела поправочные симлинки.
Так, согласно офф. документации, известны такие симлинки, перенаправляющие запросы от одного ключа к другому (независимо от разрядности программы):

  • HKEY_LOCAL_MACHINESOFTWAREWow6432NodeClasses указывает на HKEY_LOCAL_MACHINESOFTWAREClassesWow6432Node
  • HKEY_LOCAL_MACHINESOFTWAREClassesWow6432NodeAppId указывает на HKEY_LOCAL_MACHINESOFTWAREClassesAppId
  • HKEY_LOCAL_MACHINESOFTWAREClassesWow6432NodePROTOCOLS указывает на HKEY_LOCAL_MACHINESOFTWAREClassesPROTOCOLS
  • HKEY_LOCAL_MACHINESOFTWAREClassesWow6432NodeTypelib указывает на HKEY_LOCAL_MACHINESOFTWAREClassesTypelib
  • HKEY_LOCAL_MACHINESOFTWAREWow6432NodeClasses указывает на HKEY_LOCAL_MACHINESOFTWAREClassesWow6432Node (для ОС Windows Server 2008 / Vista / Server 2003 / XP)

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

Возьмем замечательную утилиту ListRegistryLinks от Helge Klein, и выполним в командной строке, например, такое для улья HKLM:

Перечень ключей реестра, подверженных переадресации

Такой перечень присутствует на сайте Microsoft, но он давно не обновлялся.
Я написал скрипт (батник), который позволяет проверить индивидуальный (введенный вами) ключ на предмет его перенаправления таких видов:
1) Shared
2) Redirected

Если ключ обычный — батник ничего не выведет.
Рекомендуется пользоваться батником на виртуальной машине , т.к. он оставляет мусор в виде пустых ключей в 32-битном представлении. Они специально не удаляются в целях безопасности (чтобы ничего лишнего не наудалять).
Также он не особо хорошо тестировался. Я на 100% не гарантирую, что он все правильно определит.
Тем не менее, по моим ручным тестам (с подтверждением) уже нашлись расхождения даже с официальной информацией, например, на Windows 7 ключ

Потенциально опасные параметры и ветви реестра

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

HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/ControlMiniNT. Этому разделу вообще не место в Windows XP и тем более Windows 7, поэтому если он будет присутствовать в системе, то при каждой загрузке система будет выводить сообщение о нехватке размера файла подкачки pagefile.sys и создавать новый файл.

HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Explorer/Desktop/NameSpace/ — об этом разделе уже упоминалось не раз — если он окажется удаленным, то диалоговое окно «Поиск» работать не будет.

HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Explorer/Desktop/NameSpace/ — это еще один раздел, без которого не будет работать диалоговое окно «Поиск».

HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Winlogon. Вообще эти ветви реестра могут включать в себя множество параметров, за содержимым которых необходимо следить. Например, к ним можно отнести следующие параметры строкового типа.

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

Userinit — указывает программы, которые будут запускаться с правами пользователя при его регистрации процессом WINLOGON.EXE. Программы пишутся через запятую, это опять-таки означает, что в данной ветви могут находиться сразу несколько вызовов программ. По умолчанию значение данного параметра равно %systemroot%system32userinit.exe.

VmApplet — определяет программы, которые будут запускаться для настройки параметров виртуальной памяти процессом WINLOGON.EXE. Программы пишутся через запятую. По умолчанию значение данного параметра равно rundll32 shell32, Control_RunDLL “sysdm.cpl”.

Shell — указывает файлы оболочки, которые будут запускаться при входе пользователя. Он как раз и определяет, что вы используете стандартную оболочку Windows explorer.exe — именно эта строка является значением параметра Shell по умолчанию. Но если вы измените значение этого параметра, например, на explorer.exe, notepad.exe, то наряду с оболочкой Windows при вашем входе в систему будет запускаться и Блокнот. Этот параметр может находиться как в корневом разделе HKEY_CURRENT_USER, так и в разделе HKEY_LOCAL_MACHINE.

Опасные ветви реестра

HKEY_LOCAL_MACHINE SYSTEM

GinaDLL — определяет путь к библиотеке msgina.dll, которая запускается вместе с системой по умолчанию и необходима для взаимодействия с оболочкой Windows. Если изменить значение этого параметра на вызов какой-нибудь программы, а не библиотеки, то при инициализации процесса

WINLOGON.EXE будет выдано сообщение об ошибке и вы не сможете войти в систему.

HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/WindowsNT/ CurrentVersion/Windows.

Может содержать несколько потенциально опасных параметров, среди которых можно выделить следующие параметры строкового типа:
Run — определяет программы, которые будут запускаться с правами пользователя при его входе. Как и рассмотренные выше параметры, он может вызывать сразу несколько программ — в этом случае они пишутся через запятую. Параметр может находиться как в корневом разделе реестра HKEY_CURRENT_USER, так и в корневом разделе HKEY_LOCAL_MACHINE.

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

AppInit_DLLs — определяет библиотеки, необходимые для совместимости с каким_нибудь оборудованием или программой. Все описанные в данном параметре библиотеки будут запускаться перед запуском любой программы.

HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Explorer/Browser/Helper/Objects — определяет все CLSID, но мера ActiveX_объектов (в виде разделов, названных в честь CLSID_номера ActiveX_объекта), которые будут запускаться при каждом запуске браузера

HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session/Manager — содержит REG_MULTI_SZ_параметр BootExecute, его значением являются команды, которые будут запускаться при каждой перезагрузке компьютера. Он используется системой для запуска таких системных программ работы с дисками, как автопроверка диска (значение этого параметра autocheck autochk *) или преобразование файловой системы диска FAT в NTFS (значение данного параметра autoconv DosDevicex: /FS:NTFS).

HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/Current/Version/Image/File/Execution/Options — используется для возможности определения программ, при выполнении которых происходит утечка памяти. Но можно воспользоваться этой ветвью и для других целей. Например, если создать в ней раздел explorer.exe, а в нем создать DWORD-параметр ShutdownFlags и присвоить ему значение 3, то после выгрузки оболочки Windows существует вероятность, хотя и малая, что вы не сможете ее загрузить. Система может не дать вам этого сделать. Но даже если вы и сможете загрузить оболочку, то, скорее всего, увеличится количество ошибок неправильной адресации к памяти, выдаваемых различными программами.

HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/SafeBootoption — определяет, в каком режиме будет загружаться операционная система — обычном или безопасном. Именно поэтому возможен такой режим — создайте в этой ветви реестра DWORD_параметр OptionValue и присвойте ему значение, равное 1. Теперь вы всегда будете загружаться в режиме, в чем-то подобном безопасному, т.е. будет загружаться лишь минимальный набор сервисов, но драйверы устройств, таких как видеокарта, будут использоваться обычные, устанавливаемые вместе с устройством (а не стандартные, как при полноценном безопасном режиме). При этом, даже если вы являетесь администратором компьютера, вам будет запрещено запускать такие службы, как, например, Windows Audio, которые нельзя запускать в безопасном режиме. Раздел «option» создается только в безопасном режиме.

Проблемы решаем просто: устанавливаем правило “Доступ только для чтения”. Теперь, кроме вас, никто содержимое ветви реестра изменить не сможет. Не всякий, по-крайней мере. Делается просто. Покажем на примере Windows 7. Необходимо в строке Найти программы и папки набрать заветную программу regedit и щёлкнуть правой мышью по выбранной ветви реестра . Выпадет такое окно (если пожелаете, можно посмотреть и дополнительные функции по ограничению прав):

Опасные ветви реестра: здесь могут быть трояны

За автозапуск служб и приложений операционной системы ответственность можно возложить на следующие ветви, которые разделю на несколько групп:

  • настройки Проводника Windows Explorer

параметр Common Startup

параметр Common Startup

параметр Startup

параметр Startup

параметр load (если существует)

  • настройки запуска Windows
  • ну куда же без Internet Explorer-а

[an error occurred while processing the directive]
Карта сайта