对于以 blob 或可执行文件形式分发的程序(明显的例子是免费软件),有没有办法确定程序是否正在执行或将要执行恶意操作?
答案1
不,没有办法 100% 确定您获取的任何二进制文件是否可信。
病毒扫描程序等工具排除已知威胁,但它们对于未知威胁没有帮助。
网站和互联网上的评论肯定可以帮助您排除明显的和常见的恶意软件。
加密签名提供了最强的保护,因为它们实际上保证了您收到的二进制文件来自特定的人或发布者。通过签名,您可以决定是否信任该人/发布者。
如果您不信任给定的二进制文件,通常最好先在备用计算机或虚拟机上尝试一下。
如果您非常偏执,开源世界会给您很大的信心,因为您可以获得源代码,可以自行审查并重新编译。
答案2
最快捷、最简单的方法是将其置于各种不同的恶意软件扫描程序中。有些网站允许您提交文件并使用多种扫描程序进行扫描,其中最受欢迎的扫描程序表面上是病毒总数。
VirusTotal 的一个特别之处是,如果之前已经扫描过,您无需等待扫描;您可以立即获得结果。当然,如果上次扫描是在一段时间前,您可以选择使用最新定义重新扫描。VirusTotal 的另一个优点是您根本不需要上传文件。您可以搜索文件的哈希值(MD5 或 SHA1),或者使用VirusTotal Uploader 程序从而使整个过程自动化。
答案3
理想的方法是在“沙箱”或特别限制的虚拟机中运行可疑代码,但我不知道有任何基于 Windows 的工具可以做得足够好以至于值得信赖。
答案4
当然 - 这就是像 McAfee 这样的病毒检查程序所做的。