-1

操作系统:Windows 10 LTSB(64 位)

目前我正在研究白名单程序。

这是我的问题。

  • 我在 c:\Windows\System32\notepad.exe 中有 notepad.exe
  • 它的哈希值为 [9cd1c3d00ae15068...74a]

  • 我在 c:\Windows\WinSxS\amd64 中有另一个记事本...

  • 它的哈希值为 [da0acee8f60a460...10a]

所以基本上它们是我的白名单中的不同程序。但无论如何,我将它们都添加到了我的白名单中。

我试图编辑一个批处理文件,该文件触发了 notepad.exe 的执行。但是我的白名单程序阻止了 notepad.exe 的执行,因为 notepad.exe 来自 c:\windows\system32\notepad.exe 但哈希值为 [da0acee8f60a460...10a]。

但是如果我再次检查System32中notepad.exe的哈希值,它和之前一样,是[9cd1c3d00ae15068...74a]。

似乎 winSxS 中的 notepad.exe 在触发时已被复制到 system32。这是它对系统程序的工作方式吗?

顺便说一句,32位的windows7没有发生这种情况

4

1 回答 1

0

我发现造成这种混乱的不是 WinSxS 文件。它是 sysWow64。

基本上,windows10 提供 sysWow64 目录来将 64 位程序模拟为 32 位。windows10自动将对system32的访问重定向到sysWow64。

因此,当我在 System32 中计算 notepad.exe 的哈希值时,操作系统会自动将我重定向到 sysWow64 中的 notepad.exe。因此,我的列表记录中的哈希值是 [9cd1c3d00ae15068...74a] 但它的真正哈希值是 [da0acee8f60a460...10a]

希望这可能对面临类似问题的任何人有所帮助。

于 2018-08-30T04:55:30.087 回答