Intereting Posts
Наиболее распространенный / любимый синтаксис для документации внутри кода (комментарии)? Mysql Count, чтобы вернуть ноль, если нет совпадений Используйте mod_rewrite для удаления расширения .php и очистки URL-адресов GET одновременно Добавление рекламного продукта при достижении определенной суммы корзины Защищенная пользовательская переменная PHP Получить имена полей формы HTML Где скачать iMagick PHP расширение VC6 и VC9 Как создать запись SPF для многих IP-адресов (SPF длиной более 255 символов) Вставка нескольких данных в базу данных в Yii 2 Для этого адаптера требуется расширение PDO, но расширение не загружено Копирование и вставка стилей из одной строки в другую Увеличение предела прикрепленных баз данных в SQLite от PDO jquery не скрывает невыбранные вкладки на php-странице, размещенной на сервере xampp читать xml-файл с php Как я могу очистить сайт с недопустимым HTML

Обнаружение цифровой подписи без WinVerifyTrust

У меня есть большое количество EXE-файлов и вам нужно выяснить, какие из них имеют цифровые подписи. Кто-нибудь знает, есть ли способ проверить без доступа к WinVerifyTrust (все они находятся на сервере Unix).

Кажется, я не могу найти никакой информации о том, где цифровая подпись действительно находится внутри EXE. Если бы я мог узнать, где это, я мог бы открыть файл и fseek в месте для тестирования. Мне не нужно делать «настоящую» проверку в сертификате, я просто хочу посмотреть, присутствует ли цифровая подпись (или, что более важно, НЕ присутствует) без использования WinVerifyTrust.

Solutions Collecting From Web of "Обнаружение цифровой подписи без WinVerifyTrust"

Как упоминалось выше, единственное присутствие каталога IMAGE_DIRECTORY_ENTRY_SECURITY является четким индикатором для обнаружения наличия подписи внутри PE-файла. Если у вас есть большое количество файлов для тестирования и вы хотите их отфильтровать, то проверяется наличие этого стандартного каталога. Для этого вам не нужна библиотека.

Вы можете найти эту информацию, используя код из Mono.Security.dll AuthenticodeBase [1]

[1] https://github.com/mono/mono/blob/master/mcs/class/Mono.Security/Mono.Security.Authenticode/AuthenticodeBase.cs

Ваш лучший намек (если присутствует подпись подлинника):

  // 2.2. Locate IMAGE_DIRECTORY_ENTRY_SECURITY (offset and size) dirSecurityOffset = BitConverterLE.ToInt32 (fileblock, peOffset + 152); dirSecuritySize = BitConverterLE.ToInt32 (fileblock, peOffset + 156); 

если dirSecuritySize больше 8, то есть подпись (действительная или нет).