Выполнение проверки на вирусы для файла из сценария сборки - PullRequest
1 голос
/ 19 мая 2010

Я хотел бы иметь возможность вызывать проверку на вирусы в качестве заключительного этапа процесса сборки (пожалуйста, не задавайте вопрос, почему машина разработчика получает вирус, это всего лишь пояс и -бразы подход, чтобы избежать риска судебного преследования со стороны клиентов ...). Также я хотел бы иметь возможность иметь AV на машине, но отключить автоматическую защиту файловой системы (по крайней мере для каталогов сборки).

Что мне хотелось бы, так это общий способ сканирования файла с использованием любой имеющейся AV-системы. Я предполагаю, что для этого есть Windows API, учитывая, что Windows обнаруживает присутствие AV-системы, а браузеры, такие как Firefox, запускают проверку на вирусы при каждой загрузке файла. Так какой API они используют? Существует Microsoft AntiVirus API , но это похоже на документы Office. Подход предполагает использование WMI ? (и если вы можете обнаружить провайдера AV оттуда, как вы тогда вызываете его для сканирования файла?)

Я знаю, что мог бы написать скрипт для ручного вызова AV-сканера, который, как я знаю, должен быть установлен, но как интеллектуальное упражнение мне больше интересно узнать, как такие приложения, как Firefox, делают это.

Ответы [ 2 ]

1 голос
/ 19 мая 2010

Хорошо, вы можете взглянуть на систему nsDownloadScanner непосредственно в исходном коде Firefox:

Как сказано в комментариях к этим файлам:

Download scanner attempts to make use of one of two different
virus scanning interfaces available on Windows - IOfficeAntiVirus
(Windows 95/NT 4 and IE 5) and IAttachmentExecute (XPSP2 and up).
The latter interface supports calling IOfficeAntiVirus internally,
while also adding support for XPSP2+ ADS forks which define security
related prompting on downloaded content.

Документацию по этим интерфейсам можно найти здесь:

Если ваше программное обеспечение с открытым исходным кодом соответствует лицензии MPL (спасибо, @MSalters), вы также можете напрямую использовать код Firefox, чтобы не изобретать велосипед.

1 голос
/ 19 мая 2010

Firefox использует API IAttachmentExecute . Однако вы не хотите использовать это в скрипте сборки, так как он добавит окна с альтернативной информацией потока, чтобы при запуске файла показывалось раздражающее окно с предупреждением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...