
Welcher Hash-Typ wird unten dargestellt?
Beispiel 1: 0h+p0j3/Y9s1ly0mqtU741bzLjqz12mDQGKtVScMeKg=
Beispiel 2: uNryI5MYSV5U5O1NuFPGYexSxm2nLFrRXVqga+nQjw4=
Diese Hashes stammen aus der Datei CBS.log nach dem Ausführen des Windows-Dienstprogramms DISM. Hier ist die vollständige Zeile:
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: {l:32 0h+p0j3/Y9s1ly0mqtU741bzLjqz12mDQGKtVScMeKg=} Expected: {l:32 uNryI5MYSV5U5O1NuFPGYexSxm2nLFrRXVqga+nQjw4=}
Es ähnelt Base64, aber das kann es nicht sein, da der Hash bei unterschiedlich großen Dateien immer gleich lang ist. Ich dachte auch, dass es vielleicht nicht der Hash selbst ist, sondern der Base64 von etwas wie MD5 oder SHA, aber die Base64-Dekodierung dieser Zeichenfolge hilft auch nicht.
Danke schön.
Antwort1
Windows verwendet SHA256 zum Hashen von Dateien in WinSxS:
<dsig:DigestMethod xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
Hier ist der Inhalt für 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>
Darunter dsig:DigestValue
sehen Sie den erwarteten Hash. Wenn Windows die Dateien scannt, erstellt es den Hash für die eigentliche Datei und vergleicht ihn mit diesem Hash in den Manifestdateien in WinSxS.