Вверх ↑
Этот топик читают: Гость
Ответов: 34
Рейтинг: 0
#1: 2025-04-10 08:54:36 ЛС | профиль | цитата
Нужно решить задачу в рамках HiAsm по изменению, удалению неких веток реестра с отсутствующими разрешениями (нет владельца, нет групп и пользователей). Желательно без сторонних утилит типа SetACL, SubinACL и т.д.
карма: 1

0
Ответов: 1120
Рейтинг: 80
#2: 2025-04-10 14:52:12 ЛС | профиль | цитата
DSAnd писал(а):
утилит типа SetACL, SubinACL и т.д.


мож это?
карма: 2

0
Ответов: 34
Рейтинг: 0
#3: 2025-04-10 15:06:37 ЛС | профиль | цитата
tom-it, понятно, что эти утилиты справляются, без них можно обойтись? Может IC...
карма: 1

0
Ответов: 1120
Рейтинг: 80
#4: 2025-04-10 15:13:36 ЛС | профиль | цитата
DSAnd писал(а):
эти утилиты справляются

Не совсем утилиты.
PowerShell этакой продвинутый аналог cmd. Команды можно выполнять с помощью Winexec. От Gunta примеров на форуме не мало.
карма: 2

0
Ответов: 34
Рейтинг: 0
#5: 2025-04-10 16:28:54 ЛС | профиль | цитата
tom-it, к сожалению powershell ни как не среагировал при Get-Acl на ветку реестра без владельца
карма: 1

0
Ответов: 1120
Рейтинг: 80
#6: 2025-04-10 17:46:06 ЛС | профиль | цитата
Я с powershell очень вежливо, никогда єтой приблудой серьезно не пользовался. Gunta с ним на "ТЫ". Может что подскажет.
DSAnd писал(а):
с отсутствующими разрешениями

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

0
Ответов: 34
Рейтинг: 0
#7: 2025-04-10 18:25:56 ЛС | профиль | цитата
Ключ создаёт приложение HKEY_LOCAL_MACHINE\SECURITY\Цель. При этом у "Цели" начисто отсутствуют необходимые разрешения, в том числе не определён владелец (автор данной программы, как-то читает/изменяет параметры этой ветки). Задача простая - удалить "цель". Через редактор реестра, в рукопашную, через зав.склада можно изменить разрешения и "апосля" удалить, но приложение вновь и вновь создаёт данный ключ, что в конечном итоге не даёт морального удовлетворения от пользования сим поделием, а от этого приложения невозможно отказаться.
карма: 1

0
Ответов: 1120
Рейтинг: 80
#8: 2025-04-10 18:53:37 ЛС | профиль | цитата
А почему категорически против внешних утилит, а именно на хиасм?

DSAnd писал(а):
вновь и вновь создаёт данный ключ

А если запретить доступ к ветке "Цель"?

Первое, что пришло в голову, периодически проверять наличие ключа, с помощью RegIni установить права доступа. А далее reg-ом удалять.
Правда Regini принимает файл с параметрами, но временный файл думаю не проблема.
карма: 2

0
Ответов: 34
Рейтинг: 0
#9: 2025-04-10 19:43:57 ЛС | профиль | цитата
Я не против сторонних утилит, на данный момент всё работает с помощью SetACL+HiAsm, просто на мой взгляд тема интересная с разрешениями, хотелось красивого решения без "костылей", да, может кому-то из форумчан пригодится. Regini не справился... увы...
карма: 1

0
Ответов: 1120
Рейтинг: 80
#10: 2025-04-10 20:25:56 ЛС | профиль | цитата
DSAnd писал(а):
Regini не справился... увы...

Случайно права на раздел HKEY_LOCAL_MACHINE\SECURITY\ЦЕЛЬ не устанавливали


file.txt
HKEY_LOCAL_MACHINE\SECURITY [1 5 17]


regini file.txt
reg delete HKEY_LOCAL_MACHINE\SECURITY\ЦЕЛЬ /f
карма: 2

0
Ответов: 34
Рейтинг: 0
#11: 2025-04-11 14:44:47 ЛС | профиль | цитата
tom-it, где-то читал, что раздел SECURITY защищён от regini и к тому же эта утилита не умеет работать без явного владельца.
REGINI: CreateKey (HKEY_LOCAL_MACHINE\SECURITY\Цель) relative to handle (000000000) failed - 5
REGINI: Failed to load from file '1.txt' (5)

П.С.:
tom-it писал(а):
Случайно права на раздел HKEY_LOCAL_MACHINE\SECURITY\ЦЕЛЬ не устанавливали
, как раз все права удаляет то приложение.

Редактировалось 2 раз(а), последний 2025-04-11 16:07:07
карма: 1

0
Ответов: 1120
Рейтинг: 80
#12: 2025-04-11 16:21:58 ЛС | профиль | цитата
Ну что сказать, мне не удалось получить раздел без владельца.
С другой стороны если SetACL может установить права доступа, значит есть winapi функции которые это приложение использует.
Тоесть можно из инлайкода тоже использовать эти функции. Но проверить не могу, поскольку не на чем.

Нужно воссоздать аналогичные условия, чтобы протестировать.

--- Добавлено в 2025-04-11 16:35:03

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

Редактировалось 1 раз(а), последний 2025-04-11 16:35:03
карма: 2

0
Ответов: 34
Рейтинг: 0
#13: 2025-04-11 19:41:08 ЛС | профиль | цитата
Странное дело, не видеть владельца, но при этом иметь возможность сменить его, под администратором. А способов автоматизировать этот процесс не так уж и много, на первый взгляд. Да, я уже упоминал возможность IC, но к сожалению, моё программирование, на данном этапе, ограничивается стандартными компонентами HiAsm. Без крутых парней, с этого форума, не обойтись
карма: 1

0
Ответов: 1120
Рейтинг: 80
#14: 2025-04-11 22:32:20 ЛС | профиль | цитата
DSAnd писал(а):
Странное дело, не видеть владельца, но при этом иметь возможность сменить его, под администратором.

ну вот
Давайте порассуждаем.
На компе жыли-были дед и баба, дед концы отдал. Что теперь неприкосновенный ярлык с рабочего стола удалить никак? Пускай, как картина, в память об откинувшемся деде будет
Создали отдельного пользователя для жены, с женой развелись, пользователя удалили, груз в тонны файлов остался. Все, равелся с женой, разводись и с виндой.(прям поговорка получилась )


DSAnd писал(а):
упоминал возможность IC

Сделано уже, только протестировать не на чем. Да и тема довольно обширная
чего только стоит
https://learn.microsoft.com/ru-ru/windows/win32/secauthz/sid-strings
https://learn.microsoft.com/ru-ru/windows/win32/secauthz/ace-strings
задолбешся буковки разбирать, а не погрузившись фиг поймешь.
карма: 2

0
Ответов: 34
Рейтинг: 0
#15: 2025-04-11 22:52:47 ЛС | профиль | цитата
Картинка в точности описывает условие данной задачи.
карма: 1

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)