Какой тип хеша используется DISM / SFC?

536
Telmo Marques

Какой тип хеша представлен ниже?

Пример 1: 0h + p0j3 / Y9s1ly0mqtU741bzLjqz12mDQGKtVScMeKg =

Пример 2: uNryI5MYSV5U5O1NuFPGYexSxm2nLFrRXVqga + nQjw4 =

Эти хэши пришли из файла CBS.log после запуска утилиты DISM в Windows. Вот полная строка:

2017-03-11 20:46:08, Info CSI 00000005 Hashes for file member \SystemRoot\WinSxS\amd64_microsoft-windows-c...appxmain.resources_31bf3856ad364e35_10.0.14393.206_sr-..-cs_8caf1c5c152c5f9f\resources.sr-Latn-CS.pri do not match actual file [l:24]'resources.sr-Latn-CS.pri' : Found: Expected:  

Он похож на Base64, но этого не может быть, потому что хэш всегда имеет одинаковую длину с файлами разного размера. Я также подумал, что, может быть, это не сам хэш, а Base64 чего-то вроде MD5 или SHA, но Base64-декодирование этой строки также не помогает.

Спасибо.

0
Base64 - это просто способ представления произвольного двоичного файла в виде текста в форме, более компактной, чем запись байтов в шестнадцатеричном виде. Вы не можете «расшифровать» его во что-нибудь узнаваемое, потому что нет «строки» для декодирования; вы просто получаете необработанные данные хэша. Если вы Base64-декодируете их в необработанные данные, а затем кодируете данные в виде шестнадцатеричных символов, вы получите «типичное» представление хэша, с которым вы, возможно, знакомы. Bob 7 лет назад 0

1 ответ на вопрос

2
magicandre1981

Windows использует SHA256 для хеширования файлов в WinSxS:

<dsig:DigestMethod xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" /> 

Вот содержание для FlashUtil_ActiveX.dll:

<file name="FlashUtil_ActiveX.dll" destinationPath="$(runtime.system32)\Macromed\Flash\" sourceName="FlashUtil_ActiveX.dll" sourcePath=".\" importPath="$(build.nttree)\adobe\flash\"> <securityDescriptor name="WRP_FILE_DEFAULT_SDDL" /> <asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2"> <dsig:Transforms xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" /> </dsig:Transforms> <dsig:DigestMethod xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" /> <dsig:DigestValue xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">22R1ba1WE7oyGXwA0vGwywUOw/Hw/27MqRmwHJpL04g=</dsig:DigestValue> </asmv2:hash> </file> 

Под dsig:DigestValueвами виден ожидаемый хеш. Если Windows сканирует файлы, она создает хеш для фактического файла и сравнивает его с этим хешем в файлах манифеста в WinSxS.