Каков процесс выполнения программ Windows в Windows 10? - PullRequest
0 голосов
/ 29 августа 2018

ОС: Windows 10 LTSB (64 бит)

В настоящее время я работаю над программой белого списка.

вот мой вопрос.

  • У меня есть notepad.exe в c: \ Windows \ System32 \ notepad.exe
  • его хеш-значение будет [9cd1c3d00ae15068 ... 74a]

  • У меня есть другой блокнот в c: \ Windows \ WinSxS \ amd64 ...

  • его значение хеша будет [da0acee8f60a460 ... 10a]

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

Я попытался отредактировать командный файл, который вызвал выполнение notepad.exe. Но моя программа из белого списка блокирует выполнение notepad.exe, поскольку notepad.exe был из c: \ windows \ system32 \ notepad.exe, но имел значение хеша [da0acee8f60a460 ... 10a].

Но если я снова проверю значение хэша notepad.exe в System32, оно будет таким же, как и раньше, а именно [9cd1c3d00ae15068 ... 74a].

похоже, что notepad.exe из winSxS был скопирован в system32 при его запуске. Это так работает для системных программ?

кстати, для windows7 в 32-битной не произошло

1 Ответ

0 голосов
/ 30 августа 2018

Я обнаружил, что это не файлы WinSxS, которые создают эту путаницу. Это был sysWow64.

В основном Windows10 предоставляет каталог sysWow64 для эмуляции 64-битных программ как 32-битных. Windows10 автоматически перенаправляет доступ к system32 на sysWow64.

Поэтому, когда я вычислял значение хеша для notepad.exe в System32, ОС автоматически перенаправляла меня к notepad.exe в sysWow64. Следовательно, значение хеша в моем списке записей [9cd1c3d00ae15068 ... 74a], но реальное значение хеша этого было [da0acee8f60a460 ... 10a]

Надеюсь, это поможет всем, кто столкнулся с подобными проблемами.

...