Что означает путь \ REGISTRY \ A \ ... в журнале Sysinternals Procmon?

3070
Vladimir Reshetnikov

Я использую утилиту Sysinternals Procmon для контроля доступа к реестру некоторыми программами. Большинство записей журнала имеют свойство Path, начинающееся с HKCU\…или HKLM\…, которое соответствует кустам реестра HKEY_CURRENT_USERи HKEY_LOCAL_MACHINEкоторое можно увидеть с помощью Regedit. Но у некоторых записей есть Путь, начинающийся с \REGISTRY\A\…:

enter image description here

Не могли бы вы объяснить, что это за реестр? Могу ли я увидеть это с помощью Regedit или другой утилиты? Могу ли я получить к нему доступ программно?

Я использую Windows 8.1 Enterprise x64 .


ОБНОВЛЕНИЕ: я связался с разработчиками Procmon, и они указали мне на следующие ресурсы MSDN, посвященные этому вопросу:

18
Соответствующий вопрос: http://stackoverflow.com/questions/4611291/mysterious-native-a-registry-key-with-path-registry-a Vladimir Reshetnikov 10 лет назад 2
Вы пытались щелкнуть правой кнопкой мыши по одному и выбрать * Перейти к *? Synetech 10 лет назад 0
Да, но он переходит к неродственному ключу. Vladimir Reshetnikov 10 лет назад 0
Вы уверены, что это не связано? Вы пытались использовать переход к аналогичному ключу, чтобы увидеть, переходит ли он к аналогичному ключу или к совершенно другому ключу? Например, если `registry \ a \ foobar \ 1` переходит к` hkcu \ software \ blah \ a`, а `registry \ a \ foobar \ 2` переходит к` hklm \ software \ microsoft \ internet explorer`, то они делают кажется, не связаны, но если второй переход к `hkcu \ software \ blah \ b`, то они, похоже, связаны каким-то образом *; есть какое-то отображение. Synetech 10 лет назад 0
Хм, я думаю, я знаю, как вы можете точно узнать, что это такое, но придется подождать до завтрашнего утра (моего времени), когда я смогу проверить это ... Synetech 10 лет назад 0
Извините, что так долго; вчера был занят, чем ожидалось. Я отправил ответ сейчас. Дайте нам знать, если вы узнаете, что это было. Synetech 10 лет назад 0
Может быть, это может быть виртуализация реестра? http://msdn.microsoft.com/en-us/library/windows/desktop/aa965884(v=vs.85).aspx NothingsImpossible 10 лет назад 0
@NothingsImpossible, сомнительный; это предназначено для перенаправления записей с системных ключей на пользовательские ключи; например, `hklm \ software \ foobar` в` hkcu \ virtualstore \ machine \ software \ foobar`. Это как папка virtualstore. Однако это может быть как символическая ссылка или точка соединения, монтирующая другой куст реестра в путь (в этом случае он / * должен * быть указан в ключе, который я упомянул ниже). Synetech 10 лет назад 0

4 ответа на вопрос

6
abs2run

Это улей приложения, который можно увидеть в волатильности без названия! Ульи приложения - это кусты реестра, загружаемые приложениями пользовательского режима для хранения данных о состоянии приложения. Приложение вызывает функцию RegLoadAppKey для загрузки куста приложения.

больше информации о

http://msdn.microsoft.com/en-us/library/windows/hardware/jj673019%28v=vs.85%29.aspx

Можно ли редактировать или удалять эти данные полностью? Maxim 6 лет назад 1
5
Piotr Shatalin

\REGISTRY\A is a hidden registry hive for use by Windows Store apps (aka Metro-style apps).

Несколько проблем: • [Этот вопрос] (http://stackoverflow.com/questions/4611291) имеет рассматриваемый куст реестра, но находится в * Windows 7 *, поэтому он не выглядит как подключенный Windows-приложения. • Даже если вы правы, что и как именно приложения Windows используют; то есть, что это обеспечивает, что обычный реестр нет? • На странице Википедии, на которую вы ссылались, реестр вообще не упоминается, поэтому у нас нет возможности подтвердить, что вы сказали, или узнать об этом. Synetech 10 лет назад 2
В win10, если вы ведете журнал загрузки procmon и фильтруете «путь содержит \ registry \ a» и «операция - это regloadkey», в деталях вы увидите «путь куста: system32 \ config \ BBI» и многие другие «путь куста» : activationstore.dat "файлы, обработанные для приложений Windows во время загрузки. Иногда служба dcomlaunch занимает много времени с кустом BBI в зависимости от количества пользователей. js2010 7 лет назад 0
4
Synetech

Что означает путь '\ REGISTRY \ A \…' в журнале Sysinternals Procmon? Не могли бы вы объяснить, что это за реестр? Могу ли я увидеть это с помощью Regedit или другой утилиты? Могу ли я получить к нему доступ программно?

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

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist 

Вы можете использовать эту команду, чтобы увидеть, какие службы размещены конкретным экземпляром svchost.exe. Я использовал pid (1240), который он использовал во время скриншота; замените его текущим PID.

tasklist /svc /fi "pid eq 1240" 

Рисунок 1 : Снимок экрана редактора реестра с выделенным ключом списка кустов, показывающий подключенные кусты реестра

Screenshot of registry-editor with hivelist key highlighted

`\ REGISTRY \ A` отсутствует в ключе` hivelist`. [Ответ] (http://superuser.com/a/805662/33682) из ​​@ abs2run является правильным ответом в целом. eryksun 8 лет назад 2
Хотя информация о `hivelist` интересна и полезна, хотя это и не объясняет` \ REGISTRY \ A`. binki 7 лет назад 1
0
Maxim

Мне нужно ответить на свой вопрос в комментариях.

Чтобы редактировать частный улей, он должен быть загружен раньше.

Для Visual Studio это можно сделать так:

https://social.msdn.microsoft.com/Forums/vstudio/en-US/f636ee47-1eb7-45ed-ae2a-674cbabb8b2c/clear-mru-list-in-visual-studio-2017?forum=visualstudiogeneral

Повышая изоляцию и устойчивость VS 2017, он теперь использует улей частного реестра. Внутренне VS использует перенаправление, и в то время как для расширений VS (которые являются dll) это прозрачно, для внешних процессов (которые являются exes) это заставляет их не работать.

Чтобы вручную изменить значения в кусте частного реестра, вы можете использовать regedit.exe для загрузки частного куста. Вам нужно выбрать узел HKEY_USERS и нажать меню «Файл»> «Загрузить куст ...». Вы выбираете файл privateregistry.bin, присваиваете имя кусту (я ввел «VS2017PrivateRegistry»), и теперь вы видите, что ключ 15.0_Config заполняется как обычно (примечание: используйте File> Unload Hive, когда закончите):

Скриншот

Чтобы программно изменить значения в кусте частного реестра, вам нужно либо создать расширение для VS, либо, если вы хотите использовать внешний exe-файл, вам нужно использовать функцию RegLoadAppKey или избегать прямого использования реестра и использования диспетчера внешних настроек. См. Раздел «Изменение: уменьшение влияния реестра» в разделе «Преодоление изменений в расширяемости Visual Studio 2017».

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

Похожие вопросы