Que tipo de hash é usado pelo DISM / SFC?

0

Qual tipo de hash é representado abaixo?

Exemplo 1: 0h + p0j3 / Y9s1ly0mqtU741bzLjqz12mDQGKtVScMeKg =

Exemplo 2: uNryI5MYSV5U5O1NuFPGYexSxm2nLFrRXVqga + nQjw4 =

Esses hashes vieram do arquivo CBS.log depois de executar o utilitário DISM do Windows. Aqui está a linha completa:

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=}

Assemelha-se a Base64, mas não pode ser, porque o hash é sempre o mesmo tamanho com arquivos de tamanhos diferentes. Eu também pensei que talvez não seja o próprio hash, mas o Base64 de algo como o MD5 ou o SHA, mas o Base64-decodificando essa string também não ajuda.

Obrigado.

    
por Telmo Marques 11.03.2017 / 22:18

1 resposta

2

O Windows usa o SHA256 para arquivos de hashing no WinSxS:

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

Aqui está o conteúdo para o 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>

Em dsig:DigestValue , você vê o hash esperado. Se o Windows verificar os arquivos, ele cria o hash do arquivo real e o compara a esse hash nos arquivos de manifesto do WinSxS.

    
por 12.03.2017 / 09:32