Как отключить защиту файлов Windows в Windows 7 для перезаписи shell32.dll

3845
user3800036

Я пытаюсь заменить shell32.dll в Windows 7, чтобы настроить некоторые значки (я знаю риски, этот вопрос не об этом).

Попытки пока:


1. Я использую Windows 7 Home Premium, которая не поставляется с редактором групповой политики, поэтому я добавил ее с помощью этого метода, и она работает. Затем я следовал этому руководству, чтобы отключить защиту файлов Windows.

Я загрузился в безопасном режиме с командной строкой. Когда в редакторе групповой политики было включено «Не сохранять информацию о зоне во вложенных файлах», я запустил команду копирования и сказал перезаписать shell32.dll в системной папке 32 с помощью моего настроенного shell32.dll, но доступ был отклонен. Я думал, что отключение информации о зоне остановит WFP и позволит мне перезаписать, но это не сработало.

2. Обратите внимание, что я попытался отключить WFP из реестра, перейдя по ссылке HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon, как объяснено здесь, но по какой-то причине SFCDisable там вообще не было.

3. Также обратите внимание, что я взял на себя ответственность и предоставил себе полные права администратора для shell32.dll, и он все еще не позволяет мне перезаписать, я думаю, что это WFP, который является сверхзащитным и блокирует мои попытки перезаписи.

4. Я добился небольшого прогресса, запустив привилегированный cmd.exe от имени администратора, мне не было отказано в доступе к shell32.dll, однако я не смог перезаписать его, так как он использовался. Я запустил tasklist / m, чтобы увидеть, какие процессы использовали shell32.dll, и, что удивительно, ни один из них не использовал его. Похоже, что shell32.dll вообще не использовался, однако я все еще не мог перезаписать его, поскольку окна продолжали сообщать мне, что он использовался.

5. Как ни странно, мне было разрешено переименовать shell32.dll в системе 32 во что-то другое, а затем скопировать в мой настраиваемый shell32.dll (как обходной путь для перезаписи), но кажется, что Windows автоматически заменила мою пользовательскую DLL на исходную версию - Я открыл его с помощью Resource Hacker сразу после копирования в систему 32 и обнаружил, что все значки, которые я изменил, вернулись обратно. Переименованный оригинал также все еще был рядом с моей копией.

6. Удивительно, но даже загрузка из Linux на USB для удаления shell32.dll и копирования в моей собственной версии не работала. Я подозреваю, что Windows обнаружила изменения при загрузке после этого и снова восстановила оригинальный shell32.dll.


Последняя идея:

Могу ли я заменить shell32.dll в system32, а также заменить его везде, где Windows хранит свои резервные копии для восстановления?

-1
начиная с Vista, в Windows нет WFP. Его заменяет защита ресурсов Windows (WRP): http://msdn.microsoft.com/en-us/library/windows/desktop/aa382503%28v=vs.85%29.aspx Почему вы хотите заменить файл и испортил твою винду? magicandre1981 9 лет назад 1
Это было объяснено в начале поста, и что вопрос не о рисках или возможных последствиях. Я не волнуюсь, если это будет повреждено. Спасибо за упоминание о WRP, знаете ли, есть ли способ обойти это? user3800036 9 лет назад 0

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

0
Kirill2485

Перейдите в «C: \ Windows \ System32», щелкните правой кнопкой мыши на shell32, щелкните «Свойства» и перейдите на вкладку «Безопасность». Нажмите «Дополнительно» и измените права доступа на полный контроль для администратора. По умолчанию это TrustedInstaller, вы захотите добавить себя в список людей, которые могут редактировать shell32. После этого вы сможете перезаписать shell32.

Причина в том, что по умолчанию все в C: \ Windows заблокировано, Microsoft решила заблокировать перезапись, чтобы новички не испортили свой компьютер.

Я забыл добавить, что я также дал себе полные права администратора, и это все еще не позволит мне перезаписать. Может быть, я забыл сделать повышенный run.exe от имени администратора, попробую и скоро обновлю. Спасибо user3800036 9 лет назад 0
Хорошо, раньше у меня была такая же проблема, так что если вам нужна дополнительная помощь, просто напишите мне в личку ... Kirill2485 9 лет назад 0
Здесь нет возможности отправить сообщение в личку, я думал, что вы хотели проверить свой веб-сайт на наличие электронной почты, но срок действия домена истек. Что вы сделали, чтобы исправить ту же проблему, что и у меня? user3800036 9 лет назад 0
0
Trond Børge Krokli

Если вы не можете попробовать то, что упомянули до сих пор, вы можете использовать Linux Live CD или USB-флешку для загрузки другой ОС, чтобы иметь возможность перезаписать этот файл. Я не знаю, знакомы ли вы с Linux или нет, но очень полезно получить доступ к файлам, заблокированным исходной ОС, или спасти файлы из нестабильной или поврежденной ОС.

0
user355510

Вы также можете попытаться получить доступ к своему жесткому диску извне с помощью дистрибутива Linux Live CD или USB (например, Ubuntu, Wi-Fi, даже загрузочный компакт-диск hiren). Этот метод позволяет вашему компьютеру загружаться непосредственно с компакт-диска или USB-накопителя, создавая временный виртуальный жесткий диск в вашей оперативной памяти. Таким образом, вы можете получить доступ к своему жесткому диску и вашим файлам без каких-либо ограничений, потому что операционная система не использует его для работы. Может быть, я бы порекомендовал попробовать загрузочный диск Hiren. Вы можете скачать его бесплатно на официальном сайте, и он довольно прост в использовании