下载的 exe 被 Windows 拦截了,是软件有毒还是误报
先说结论
「Windows 已保护你的电脑」这个蓝色窗口,绝大多数情况是信誉不足,不是病毒。
它说的是:这个文件没有足够的下载记录,我不知道它安全不安全。这和"检测到威胁"是两回事—— 后者是红色的窗口,措辞是「Windows Defender 已阻止一个威胁」。
分清这两者的区别,是继续安装还是立刻删除的分界线。
SmartScreen 为什么会拦
Windows 对每个下载的 exe 做两项检查:
- 有没有可信的数字签名——签名要花钱买(每年几百到上千元),开源项目和个人开发者大多没有
- 这个文件在微软那里有没有下载信誉——同一个文件被很多人下载过、没人举报,信誉才积累起来
一个新发布的版本,即使上一个版本信誉很好,新版本也是从零开始。所以每次软件更新后, 第一批下载的人必然会看到拦截提示。这不是软件变坏了,只是它"太新"。
三种情况,三种处理
情况一:没有数字签名(最常见)
表现:蓝色窗口,「Windows 已保护你的电脑」,下面只有「不运行」一个按钮, 需要点「更多信息」才会出现「仍要运行」。
开源软件里这非常普遍。判断依据不是"有没有签名",而是你从哪下的:
- 从项目官方 GitHub Releases 下载 → 可以继续
- 从本站跳转的官方链接下载 → 可以继续
- 从某个网盘、论坛附件、聚合下载站下载 → 不要继续
情况二:有签名但签名是新的
表现:同样是蓝色窗口,但文件属性里有「数字签名」标签(右键 → 属性 → 数字签名)。
说明开发者在认真做事,只是这个签名证书还没被微软标记为"可信发布者"。 这种情况也可以继续,前提同上——来源可信。
情况三:红色窗口 / Defender 报出具体威胁名
表现:红色背景,或者通知里出现 Trojan:Win32/xxx、Wacatac、PUA:Win32/xxx 这类具体名称。
不要继续。 这是真的检测到了特征,不是信誉问题。删掉文件,换官方渠道重下。
如果确认是从官方渠道下载还报毒,那可能是误报(打包工具被杀软误伤), 把文件传到 VirusTotal 看多引擎结果——70 个引擎里只有 1-3 个报毒,通常是误报; 超过 10 个报毒,别用。
更可靠的判断方式:核对校验值
比"看窗口颜色"更硬的办法是核对文件哈希。本站每篇软件页都给了官方发布的 SHA256。
Windows 上这样算:
certutil -hashfile .\下载的文件.exe SHA256
输出的哈希和页面上那串对比,完全一致就说明文件在传输中没被篡改。
注意这条的边界:SHA256 只能证明文件完整,不能证明文件安全。它防的是"下载过程中被替换", 防不了"官方源本身就有问题"。但配合官方渠道,这两条加起来已经能挡掉绝大多数风险。
为什么官网下载也会被拦
三个常见原因:
- 版本太新——发布不到几天,信誉还没积累(最常见)
- 用 Electron / PyInstaller / NSIS 打包——这些工具被大量恶意软件滥用,杀软对它们产的包更敏感
- 安装包带了自动更新组件——行为像"下载器",容易被启发式规则命中
这三条都能解释"为什么知名软件也会被拦",而且都不代表它有问题。
该停手的几种情况
- 窗口是红色,或者报出具体木马名称
- 下载地址不是官方域名(比如
xxx-soft-down.com、pan.xxx.com/share/...) - 安装过程要求关闭杀毒软件——正规软件不会提这种要求
- 安装时默认勾选了你不认识的捆绑软件,且无法取消
- 文件大小和官方发布页标的对不上(本站每篇都标了体积)