我想以编程方式测试文件中的病毒。
我知道这个线程,我认为它没有得到令人满意的答案,但我不是在这里寻找 API。任何可以测试文件的解决方法都可以。
当然,API 可能是最好的解决方案(我在 Windows 平台上使用 .net),但也许可以将文件放到文件夹中,然后检查我是否仍然可以打开它或者它是否已经打开被杀毒软件隔离。
有人遇到过同样的情况吗?
假设您希望与系统上已经存在的任何防病毒软件集成,而不是捆绑您自己的,您应该查看 Firefox 3 执行此操作的方式。
错误 103487 和 408153 - 当 Firefox 下载可执行文件时通知防病毒软件(使用 Windows“ IOfficeAntiVirus ”和“IAttachmentExecute”API)。
(当然,如果您想捆绑自己的,请查看 ClamAV/ClamWin,但随后您必须处理更新等,您可能应该首先检查目标系统上没有完全更新的解决方案以示礼貌)
视窗?没问题。查看ClamWin。它基于 ClamAV。
您可以使用调试器或反汇编器
也许你可以使用这个网络服务,假设文件小于 1MB:
http://www.kaspersky.com/scanforvirus
如果您在计算机上发现可疑文件,或者怀疑您从 Internet 下载的程序可能是恶意的,您可以在此处查看这些文件。
指明要检查的文件;它将自动从您的计算机上传到专用服务器,然后使用卡巴斯基反病毒软件对其进行扫描。多项独立测试和出版物承认该解决方案具有出色的检测率。每三个小时更新一次,确保即使是最新的病毒也能被检测到。
一次只能检查一个最大为 1 MB 的文件。如果文件太大,将显示一个带有错误消息的窗口。在本页顶部的窗口中键入文件名,或使用“浏览”查找文件。然后点击“提交”。
Platform?
Most Windows anti-virus provide shell integration (right click on a file in explorer to scan that file), which will either mean running an executable, DDE or COM. All of which provide an entry point to another program to call the same mechanism.
Check out ClamAV.
Clam AntiVirus is an open source (GPL) anti-virus toolkit for UNIX, designed especially for e-mail scanning on mail gateways.
这实际上取决于您要使用的 AV 程序。阅读您选择的任何解决方案的文档,您可能会找到一个命令行界面或其他一些您可以调用的 API。没有“通用”的方式来做到这一点(跨 AV)。