Отключить требование FQP для XP SP2+?

Я наконец сдался и решил обновить XP до SP3. Одна из вещей, которая беспокоит меня о SP2+ и которая заставила меня так долго откладывать его, - это то, что он требует полностью определенных путей для типов файлов и глаголов Explorer.

Например, в SP1 вы можете сделать что-то вроде следующего:

REGEDIT4

[HKCR\txtfile\shell]
"@"="Notepad2"

[HKCR\txtfile\shell\Notepad2]
"@"="notepad2.exe %1"

При условии, что notepad2.exe находится в пути, тогда вы можете открыть текстовый файл, запустив его напрямую или выбрав Notepad2 из его контекстного меню.

В SP2+ это не будет работать и вместо этого откроется диалоговое окно " Открыть с помощью… ". Чтобы исправить это, вы должны использовать полный путь к исполняемому файлу:

[HKCR\txtfile\shell\Notepad2]
"@"="e:\tools\editors\text\notepad2\notepad2.exe %1"

Это изменение (которое делает PATH переменная, по сути, бессмысленная) была улучшением безопасности, добавленным в Большое обновление безопасности SP2, и имеет смысл в том, что она предотвращает атаки путем внедрения пути.

Однако это больше проблем, чем стоит, потому что, если вирус может изменить переменную системного пути, он уже получил доступ к системе и может делать все, что захочет. Более того, это влияет только на Explorer; запуск вещей из командной строки все еще работает как прежде. Кроме того, это работает только для основной команды; то есть следующее все еще работает, если infectednotepad.exe находится в пути:

"@"="e:\tools\misc\shellexecute.exe /c infectednotepad.exe %1"

Это изменение на самом деле не обеспечивает никакой дополнительной безопасности; вместо этого все, что он делает, - это заставляет пользователя тратить часы на сканирование реестра в каждом из 6-10 различных мест, где могут быть зарегистрированы типы файлов, приложения и глаголы Explorer, поиск безусловных путей и замена каждого и каждый (замена только основной записи в HKCR этого недостаточно, потому что в других местах есть уровни, которые усугубляют проблему.

Кроме того, Microsoft, очевидно, понимает, что его "особенность" была бессмысленной, потому что они удалили ее в Vista. В Windows 7 первый пример работает так же, как в SP1.

"Исправление" элементов может быть непреодолимой задачей для системы, которая уже была настроена и использовалась в течение любого промежутка времени, особенно если были добавлены сторонние программы.

Есть ли способ отключить эту "функцию" и позволить PATH переменная снова делает свою работу?

1 ответ

  1. Загрузитесь в безопасном режиме.

  2. Экспортируйте весь реестр.

  3. Выключить компьютер.

  4. В другом окне напишите регулярное выражение или простой скрипт для поиска токенов и вставьте FQP.

  5. Снова загрузитесь в безопасном режиме, импортируйте измененный куст реестра.

  6. Скрестите пальцы и перезагрузитесь.

Другие вопросы по тегам