Как я могу извлечь данные подписи из файла `exe` Windows под Linux, используя cli

Если вы перейдете на ссылку VirusTotal , появится вкладка с именем file info (я думаю, мой голландский). Вы увидите заголовок, который называется

"Authenticode signature block and FileVersionInfo properties" 

Я хочу извлечь данные под заголовком с помощью Linux cli. Пример:

 Signature verification Signed file, verified signature Signing date 7:43 AM 11/4/2014 Signers [+] Microsoft Windows [+] Microsoft Windows Production PCA 2011 [+] Microsoft Root Certificate Authority 2010 Counter signers [+] Microsoft Time-Stamp Service [+] Microsoft Time-Stamp PCA 2010 [+] Microsoft Root Certificate Authority 2010 

Я использовал Camera.exe в Windows 10, чтобы каким-то образом извлечь данные.

Я извлек файл .exe и нашел в нем файл CERTIFICATE , есть много нечитаемых данных, но также и некоторый текст, который я могу читать, то есть примерно такой же, как вышеприведенный вывод.

Как я могу извлечь подписи из файла Windows .exe в Linux, используя cli

В Linux есть инструмент под названием osslsigncode который может обрабатывать подписи Windows Authenticode. Проверка двоичной подписи дает результат, аналогичный тому, что вы показываете в своем примере; на vcredist_x86.exe Мне нужно передать:

 $ osslsigncode verify vcredist_x86.exe Current PE checksum : 004136A1 Calculated PE checksum: 004136A1 Message digest algorithm : SHA1 Current message digest : 0A9F10FB285BA0064B5537023F8BC9E06E173801 Calculated message digest : 0A9F10FB285BA0064B5537023F8BC9E06E173801 Signature verification: ok Number of signers: 1 Signer #0: Subject: /C=US/ST=Washington/L=Redmond/O=Microsoft Corporation/CN=Microsoft Corporation Issuer : /C=US/ST=Washington/L=Redmond/O=Microsoft Corporation/CN=Microsoft Code Signing PCA Number of certificates: 7 Cert #0: Subject: /OU=Copyright (c) 1997 Microsoft Corp./OU=Microsoft Corporation/CN=Microsoft Root Authority Issuer : /OU=Copyright (c) 1997 Microsoft Corp./OU=Microsoft Corporation/CN=Microsoft Root Authority Cert #1: Subject: /OU=Copyright (c) 1997 Microsoft Corp./OU=Microsoft Corporation/CN=Microsoft Root Authority Issuer : /OU=Copyright (c) 1997 Microsoft Corp./OU=Microsoft Corporation/CN=Microsoft Root Authority Cert #2: Subject: /C=US/ST=Washington/L=Redmond/O=Microsoft Corporation/CN=Microsoft Code Signing PCA Issuer : /OU=Copyright (c) 1997 Microsoft Corp./OU=Microsoft Corporation/CN=Microsoft Root Authority Cert #3: Subject: /C=US/ST=Washington/L=Redmond/O=Microsoft Corporation/CN=Microsoft Corporation Issuer : /C=US/ST=Washington/L=Redmond/O=Microsoft Corporation/CN=Microsoft Code Signing PCA Cert #4: Subject: /C=US/ST=Washington/L=Redmond/O=Microsoft Corporation/OU=nCipher DSE ESN:D8A9-CFCC-579C/CN=Microsoft Timestamping Service Issuer : /C=US/ST=Washington/L=Redmond/O=Microsoft Corporation/CN=Microsoft Timestamping PCA Cert #5: Subject: /C=US/ST=Washington/L=Redmond/O=Microsoft Corporation/OU=nCipher DSE ESN:10D8-5847-CBF8/CN=Microsoft Timestamping Service Issuer : /C=US/ST=Washington/L=Redmond/O=Microsoft Corporation/CN=Microsoft Timestamping PCA Cert #6: Subject: /C=US/ST=Washington/L=Redmond/O=Microsoft Corporation/CN=Microsoft Timestamping PCA Issuer : /OU=Copyright (c) 1997 Microsoft Corp./OU=Microsoft Corporation/CN=Microsoft Root Authority Succeeded 

Вы также можете извлечь подпись:

 osslsigncode extract-signature vcredist_x86.exe vcredist_x86.sig 

Вы также можете проверить https://github.com/msdhedhi/VerifyWinFileDigitalSignature

Это код Java, который я написал некоторое время назад, которое извлекает и проверяет цифровую подпись файла PE Windows (32-битного и 64-битного)