【问题标题】:what's the process of executing windows programs in windows 10?windows 10中执行windows程序的流程是什么?
【发布时间】:2018-08-29 09:37:53
【问题描述】:

操作系统: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的hash值,还是和之前一样,是[9cd1c3d00ae15068...74a]。

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

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

【问题讨论】:

    标签: windows-10 system32 winsxs


    【解决方案1】:

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

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

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

    希望这对遇到类似问题的人有所帮助。

    【讨论】:

      猜你喜欢
      • 2016-10-30
      • 1970-01-01
      • 2016-04-21
      • 2012-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多