You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Inno Setup打包程序被Microsoft Defender误报为Wacatac.B!ml木马如何解决

问题原因分析

  • 首先可以排除官方正版Inno Setup植入木马的可能性:Inno Setup是开源且全球普及超过20年的安装包制作工具,官方分发版本不存在恶意修改用户待部署文件的逻辑,只要你使用的是从官方渠道获取的原版安装包,就不存在植入木马的风险。
  • 你观察到的exe体积差异和Inno Setup无关:你原始280KB的exe是Visual Studio默认编译的未绑定运行时版本,而安装后132MB的文件,是你在发布.NET应用时选择了「单文件部署+包含.NET运行时」模式生成的部署包,本身就集成了.NET 5.0运行时、所有第三方依赖库,体积自然会达到百MB级别。Inno Setup只会原样释放你预先指定的待部署文件,不会修改或增大你的exe体积。
  • 手动复制原始exe不报毒、安装程序释放的exe报毒的差异,是因为Defender会监控程序的行为:无签名的安装程序写入Program Files目录的操作,会触发实时监控的额外规则校验,叠加文件本身的特征,就会触发误报;而你手动复制文件属于用户主动操作,Defender对用户主动行为的检测阈值更高,所以不会触发报毒。
  • 本次报毒属于微软Defender的典型误报:你遇到的Trojan:Script/Wacatac.B!ml是Defender基于机器学习模型的启发式检测结果,误报率极高。近期Defender病毒库更新后,把包含离线.NET运行时的单文件部署包、无数字签名的安装包释放行为的特征误判为恶意软件,是导致本次问题的核心原因。

解决方案

  • 优先给所有待部署的exe、最终生成的Inno Setup安装包添加正规数字签名,无签名的陌生可执行文件是触发Defender误报的核心诱因之一,添加签名后可以大幅降低误报概率。
  • 将被误报的文件提交到微软Defender的官方误报申诉通道,审核通过后微软会更新病毒库特征,后续就不会再对同类文件触发误报。
  • 调整.NET应用的发布配置:取消单文件部署模式,把.NET运行时、第三方依赖库作为独立文件随安装包部署,避免单文件大体积+嵌入式运行时的特征触发检测。
  • 调整Inno Setup的打包规则:不要将.NET运行时直接嵌入到主exe中,改为在安装流程中独立部署运行时组件,也可以降低误报概率。
  • 确认你使用的Inno Setup为官方原版,不要使用第三方修改的汉化版、破解版,避免版本被篡改引入真正的恶意代码。
  • 本地调试阶段可以把软件安装目录添加到Microsoft Defender的排除项,避免调试过程中文件被隔离,该方案不适合推送给普通用户使用。

内容的提问来源于stack exchange,提问作者geriwald

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 10:45:01