禁用 XP SP2+ 的 FQP 要求?

禁用 XP SP2+ 的 FQP 要求?

我最终屈服了,决定将 XP 更新到 SP3。SP2+ 让我困扰并导致我拖延了这么久的一个问题是它需要文件类型和 Explorer 动词的完全限定路径。

例如,在 SP1 中,您可以执行以下操作:

REGEDIT4

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

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

假设notepad2.exe在路径中,那么您可以通过直接运行它或选择来打开一个文本文件记事本2从其上下文菜单中。

在 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是不够的,因为其他位置的级别会使问题更加复杂和混乱)。

此外,微软显然意识到他的“功能”毫无意义,因此他们在 Vista 中将其删除。在 Windows 7 中,第一个例子就像在 SP1 中一样工作。

对于已经配置并使用一段时间的系统来说,“修复”这些问题可能是一项艰巨的任务,尤其是在添加了第三方程序的情况下。

有没有办法关闭这个“功能”并让PATH变量再次发挥作用?

答案1

  1. 启动到安全模式。

  2. 导出整个注册表。

  3. 关闭电脑。

  4. 在另一个框中,编写正则表达式或简单脚本来扫描令牌并插入 FQP。

  5. 再次以安全模式启动,导入修改后的注册表配置单元。

  6. 祈祷并重新启动。

相关内容