Как отключить защиту файлов Windows в Windows XP или 7 из реестра?

24909
Searush

Как отключить защиту файлов Windows в Windows 7 и / или XP из реестра?

Я хочу автоматически заменить драйвер на созданный мной драйвер. Я использовал ключ PendingFileRenameOperations в HKLM \ System \ CurrentControlSet \ Control \ Session Manager, но обнаружил, что его можно использовать ТОЛЬКО для простых (не системных) файлов, поскольку защита файлов Windows отключает его для системных файлов ( см. Этот пост ).

Теперь мне нужно временно отключить WFP (и включить его после смены драйвера). Вы можете сказать мне другой способ отключить его. Это может помочь мне тоже. Есть идеи?

1

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

2
Kasius

Это не может быть сделано так тихо, как вы, вероятно, надеялись, в основном из-за требования отладчика:

Вы можете отключить WFP, установив значение SFCDisable (REG_DWORD) в HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon. По умолчанию SFCDisable имеет значение 0, что означает, что WFP активен. Установка SFCDisable на 1 отключит WFP. Установка SFCDisable на 2 отключит WFP только для следующего перезапуска системы (без запроса на повторное включение).

Важное замечание: Для использования SFCDisable = 1 или SFCDisable = 2 необходимо подключить к системе отладчик ядра с помощью нуль-модемного кабеля (например, I386kd.exe или Windbg.exe).

После отключения WFP с использованием настройки SFCDisable = 1 после входа в систему появится следующее сообщение:

Предупреждение! Защита файлов Windows не активна в этой системе. Вы хотите включить защиту файлов Windows сейчас? Это включит защиту файлов Windows до следующего перезапуска системы. ,

Нажатие Да активирует WFP до следующего перезапуска системы. Это сообщение будет появляться при каждом успешном входе в систему, пока SFCDisable не будет установлен в 0.

Смотрите здесь .

Рассматривали ли вы использование devcon или, что еще лучше, pnputil для загрузки драйвера из командной строки?

Большое спасибо за devcon и pnputil! Я попробую их. Они кажутся полезными. Searush 11 лет назад 0
Но я не могу найти HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon \ SFCDisable в моей Win7. Что мне делать? Будет ли это работать, если я создам новый ключ с именем SFCDisable? Searush 11 лет назад 0
Да, вы можете создать ценность, но я не думаю, что это принесет вам большую пользу. Вы должны подключить отладчик ядра, прежде чем установка значения в `1` сделает что-либо. Kasius 11 лет назад 0
Вы имеете в виду, что «создание SFCDisable» ключа будет работать после того, как я подключу отладчик ядра? Searush 11 лет назад 0
Если я правильно читаю цитируемую статью, тогда да. Он должен работать. Это не похоже на присоединение отладчика к другим процессам. Вы должны подключить другую систему к вашей. Кто-то должен физически подключить другую машину и запустить отладчик. Смотрите [здесь] (http://www.wd-3.com/archive/RemoteDbg.htm). Kasius 11 лет назад 0
:( Я не могу подключить каждый ПК к другой системе, когда мне нужно, чтобы они использовали драйвер. Я хочу создать программу, которая установит драйвер автоматически. Searush 11 лет назад 0
Отключение WFP, вероятно, не очень хороший способ. Вы пишете и компилируете приложение для этого или просто пишете сценарии? Вероятно, у вас будет гораздо больше [исследований, которые нужно выполнить] (http://msdn.microsoft.com/en-us/library/windows/hardware/gg463103.aspx), если вы компилируете приложение. Если просто сценарий, то, вероятно, `pnputil`. Если вы создаете .MSI, вы можете добавить строку `pnputil` как пользовательское действие. Вы также можете посмотреть на [dpinst] (http://msdn.microsoft.com/en-us/library/ff544842.aspx). Kasius 11 лет назад 0
@Kasius, (пожалуйста, ответь на этот вопрос) Jet 11 лет назад 0
@ SEARAS: Да, пользователь должен быть администратором. Драйверы не предназначены для загрузки обычными пользователями. Kasius 11 лет назад 0