На окнах, как предотвратить изменение записей реестра? - PullRequest
1 голос
/ 20 декабря 2011

Я видел, как какое-то антивирусное программное обеспечение замечало, что какой-то другой процесс пытался изменить мою запись в реестре, и спрашивал меня, разрешить ли это.Как это антивирусное программное обеспечение может остановить этот процесс и остановить его, если я не изменю реестр, пока я не приму решение?Я не могу найти API, который мог бы делать такие вещи, что крайне важно для моего проекта.

Спасибо,

Фэн

Ответы [ 4 ]

2 голосов
/ 20 декабря 2011

Подумайте, как правильно защитить ключи реестра ваших приложений, используя RegSetKeySecurity (MSDN).

В качестве альтернативы, вы также можете создать драйвер режима фильтра реестра. Такой драйвер может использовать службу CmRegisterCallback / Ex () для фильтрации событий реестра. Это большая работа (тм), но это единственный документированный / поддерживаемый метод для достижения этой цели, о котором я знаю.

2 голосов
/ 20 декабря 2011

Это делается и с играми.Они перехватывают вызовы функций, которые визуализируют объекты в 3D-сцене, а затем говорят игровому движку визуализировать всех персонажей поверх всех остальных объектов, что приводит к взлому.

API, который вы можете использовать для этого (небольше, потому что античит программа блокирует это сейчас) API обхода.Вы по-прежнему можете использовать его в своих собственных целях.

В Интернете много информации об этом API.

http://research.microsoft.com/en-us/projects/detours/

1 голос
/ 20 декабря 2011

Скорее всего, антивирус перехватывает функции реестра, поэтому его собственный код вызывается перед передачей запросов реальным функциям.

Обратите внимание, что делать это при любых обстоятельствах, кроме нескольких очень специфических обстоятельств, может быть подозрительным поведением.

1 голос
/ 20 декабря 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...