Страница 19 из 19

Добавлено: Вт июн 07, 2016 18:55
MVV
Skif_off писал(а):А вот если запустить "%WinDir%\regedit.exe", то получим regedit.exe родной разрядности ОС.
А вот не факт. Запустил из 32-битного тотала файл regedit.exe в папке винды и наблюдаю процесс в Process Hacker:

Код: Выделить всё

Command line: "C:\Windows\regedit.exe" 
Image file name: C:\Windows\SysWOW64\regedit.exe

Добавлено: Вт июн 07, 2016 19:26
Skif_off
MVV
Не понял, как ты запустил? Win7x64, TCx32:
- пишу regedit.exe в кнопке или командной строке ТС - получаю regedit.exe *32, вижу и в Process Hacker, и в диспетчере задач;
- пишу %WinDir%\regedit.exe в кнопке или командной строке ТС - получаю x64-regedit.exe, вижу и в Process Hacker, и в диспетчере задач. Двойной клик по C:\Windows\regedit.exe - аналогично.

Если запускаю консоль из ТСх32, то в ней всё аналогично: без пути - C:\Windows\SysWOW64\regedit.exe, с %WinDir% - C:\Windows\regedit.exe

Имею в виду сам процесс, а не Command line.

Добавлено спустя 5 минут:

Собственно, можно и без диспетчеров/хакеров, раз уж редактор запустился: ветка HKLM\Software\WOW6432Node есть - х64, нет - х32.

Добавлено: Вт июн 07, 2016 20:00
I95
Skif_off, спасибо Вам огромное за помощь в решении моей проблемы! У меня эти 2 проблемных ключа нужно было восстановить (rebuild). Что я сделал (решение из интернета):

1. В разделе реестра HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Perflib

- изменить значение Last Counter на 1846 (десятичное число)
- изменить значение Last Help на 1847 (десятичное число)

2. В командной строке из папки "System32" (cd\windows\system32) выполнить команду:

lodctr /R

Все. Ключи восстановились, поиск стал снова работать :)

Добавлено: Вт июн 07, 2016 23:06
MVV
Skif_off писал(а):Собственно, можно и без диспетчеров/хакеров, раз уж редактор запустился: ветка HKLM\Software\WOW6432Node есть - х64, нет - х32.
Иногда в ключе WOW6432Node есть подключ WOW6432Node, так что с виду сразу и не скажешь, что за птица запустилась.
Skif_off писал(а):Не понял, как ты запустил? Win7x64, TCx32:
- пишу regedit.exe в кнопке или командной строке ТС - получаю regedit.exe *32, вижу и в Process Hacker, и в диспетчере задач;
- пишу %WinDir%\regedit.exe в кнопке или командной строке ТС - получаю x64-regedit.exe, вижу и в Process Hacker, и в диспетчере задач. Двойной клик по C:\Windows\regedit.exe - аналогично.

Если запускаю консоль из ТСх32, то в ней всё аналогично: без пути - C:\Windows\SysWOW64\regedit.exe, с %WinDir% - C:\Windows\regedit.exe
В свою очередь я не понимаю, как запускаешь ты. :)
Хоть ентером в папке винды стартую regedit.exe, хоть в комстроке пишу %WinDir%\regedit.exe, а итог один, такой, как я писал ранее (путь к запускающемуся образу C:\Windows\SysWOW64\regedit.exe). Система Win7x64 SP1 Pro/Ent, TC 8.52a x32.

Впрочем, я понял, почему так. Дело в переменной окружения __COMPAT_LAYER=RunAsInvoker, которая у меня в тотале установлена, чтобы всякая малварь не просила прав админа при запуске (а то я много чего из тотала запускаю; впрочем, на regedit.exe это тоже действует). Возможно, она влияет на разрядность запускаемого regedit.exe из-за того, что при запуске с повышением окружение родительского процесса не наследуется.

Кстати, ещё одно но: из админской 32-битной консоли %WinDir%\regedit.exe так же запускает 32-битный regedit.exe (видимо, опять же, из-за отсутствия повышающей прослойки между процессами).

Добавлено: Ср июн 08, 2016 00:15
Skif_off
MVV писал(а):Иногда в ключе WOW6432Node есть подключ WOW6432Node, так что с виду сразу и не скажешь, что за птица запустилась.
Не встречал такого, видел только ветку HKCU\Software\WOW6432Node, что-то из инсталлера драйверов/ССС AMD туда пишет. Собственно, если пару раз заглядывал в реестр, то опускать глаза по TreeView до буквы W и не нужно - уже по первым веткам видно, что в HKLM\Software содержимое HKLM\Software\WOW6432Node.

ОС и ТС те же,
с кнопками

Код: Выделить всё

TOTALCMD#BAR#DATA
regedit.exe

wcmicons.dll,79



-1

Код: Выделить всё

TOTALCMD#BAR#DATA
%WinDir%\regedit.exe

wcmicons.dll,79



-1
вторая - запускает C:\Windows\regedit.exe
MVV писал(а):Дело в переменной окружения __COMPAT_LAYER=RunAsInvoker
Суров :) Я такие вещи в HIPS разрулил и UAC включен.
MVV писал(а):Возможно, она влияет на разрядность запускаемого regedit.exe из-за того, что при запуске с повышением окружение родительского процесса не наследуется.
А вот это не понял: ну и пусть не наследуется, та же %WinDir% - системная и не зависит от разрядности, в консоли же в таком случае всё системное всё равно доступно и командой set видно.
MVV писал(а):Кстати, ещё одно но: из админской 32-битной консоли %WinDir%\regedit.exe так же запускает 32-битный regedit.exe (видимо, опять же, из-за отсутствия повышающей прослойки между процессами).
Вот это да-а-а... Офигеть, даже с прямым путём, развернув %WinDir%, - всё равно 32-битный из SysWOW64 :))


I95
Да не за что, вы сами всё сделали :) Статью на сайте поддержки MS видел, но вот значения не придал: думал, что если реестр повреждён или некорректно изменён - это скажется не только вылетами плагина.

Добавлено: Ср июн 08, 2016 11:30
MVV
Skif_off писал(а):Суров :) Я такие вещи в HIPS разрулил и UAC включен.
Очень сильно сомневаюсь (даже скорее уверен в обратном), что HIPS позволяет запускать без прав администратора то, что может работать и без них, но в манифесте прописано HighestAvailable. В основном это всякие инсталляторы, но есть и разные программки, которые мне по разным причинам надо запустить, и про которые я нутром чую, что права админа им не нужны, но им хочется. Перехочется, у меня есть волшебная переменная, позволяющая игнорировать манифесты!
Skif_off писал(а):Вот это да-а-а... Офигеть, даже с прямым путём, развернув %WinDir%, - всё равно 32-битный из SysWOW64 :))
Вот такой мелкомягкий замут. :D
Чтобы наверняка, это надо через промежуточный процесс нужной разрядности, например (запуск 64-битного regedit.exe из 32-битного процесса):

Код: Выделить всё

C:\Windows\Sysnative\cmd.exe /c "regedit.exe"

Добавлено: Ср июн 08, 2016 11:57
Skif_off
MVV писал(а):Очень сильно сомневаюсь (даже скорее уверен в обратном), что HIPS позволяет запускать без прав администратора то, что может работать и без них, но в манифесте прописано HighestAvailable.
Так и есть, просто проактивка гавкает, если нет явного разрешения.

Добавлено: Ср июн 08, 2016 12:54
MVV
Skif_off писал(а):Так и есть, просто проактивка гавкает, если нет явного разрешения.
Проактивка есть и у меня, но она делает совсем другое. Она не поможет запустить-таки программку, при этом не давая ей админских прав. А не дать права всегда лучше, чем сначала дать, а потом отбирать.

Добавлено: Ср июн 08, 2016 14:06
Skif_off
MVV
Я и не говорю, что она делает то самое, просто лишний алерт, если вдруг всякая малварь. Зато без сюрпризов с regedit в частности :)) Но рецепт таки забил в txt'шник, надо подумать.

Добавлено: Вс мар 03, 2019 14:59
LonerD
Плагин стабильно закрывал Тотал при каждом поиске по HKCU\Software.
Проблема оказалась в ветке реестр HKCU\Software\League of Geeks (игра Armello), которая разрослась до 140 Мб. Видимо, плагин не может переварить такой объём.

Добавлено: Сб дек 21, 2019 13:43
WindR
MVV
Возможно добавить распознавание алайаса HKLM как HKEY_LOCAL_MACHINE?
Это нужно для быстрого перехода по скопированным путям.

Добавлено: Сб дек 21, 2019 13:52
Flasher
WindR писал(а):Это нужно для быстрого перехода по скопированным путям.
О чём именно речь?

Добавлено: Чт янв 02, 2020 17:19
WindR
Flasher
Копируем в буфер обмена например путь "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer"
Сейчас плагин не распознаёт ссылку \\\Редактор реестра\HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\
Приходится править HKCU на HKEY_CURRENT_USER
Было бы удобно открывать куст реестра из буфера обмена в плагине по горячей клавише, по типу команды regup=clpget TCImg, но только с помощью данного плагина.

Добавлено: Чт янв 02, 2020 19:00
Flasher
WindR
Ну, разве это проблема для автоматизации (моего старого скрипта, в частности)?