Я загрузился в безопасном режиме с командной строкой. Когда в редакторе групповой политики было включено «Не сохранять информацию о зоне во вложенных файлах», я запустил команду копирования и сказал перезаписать 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 хранит свои резервные копии для восстановления?
начиная с 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. Вы можете скачать его бесплатно на официальном сайте, и он довольно прост в использовании