Сначала я должен предоставить некоторый контекст.
Я могу настроить запуск procmon на некоторой высоте не по умолчанию, внеся два изменения в ключ 'HKLM \ SYSTEM \ CurrentControlSet \ Services \ PROCMON24 \ Instances \ Process Monitor 24 Instance':
- Изменение значения высоты со стандартного значения 385200 на требуемое значение; например. '136500'
- И добавление специального разрешения для ключа: пользователь: Все тип: Запретить разрешения :( 'установить значение' | 'удалить')
Причина изменения высоты очевидна. Причина добавления специального разрешения менее очевидна: без этого procmon просто сбросит высоту до значения по умолчанию.
Хорошо, вот мой вопрос:
Я не могу программно удалить добавленное разрешение или изменить этот ключ или его значения. Это неудивительно, потому что разрешение запрещает доступ «каждому».
Однако я могу легко удалить это разрешение, используя regedit. Я просто выбираю разрешение и удаляю его.
Так какой же прием использует regedit для переопределения этого разрешения?
Я вижу, что он работает как текущий пользователь, а не как «СИСТЕМА». Я могу использовать psexec для запуска сценария удаления как «SYSTEM», но доступ к нему также запрещен.