导致应用程序加载缓慢的病毒扫描程序
Virus scanner causing a slow application load
我创建了一个 C# 应用程序,用于为客户部署一组非常具体的应用程序。根据客户的要求,此应用程序包含在单个可执行文件中完整部署我们整个应用程序套件所需的所有资源 - 嵌入前压缩。
但是,此应用程序非常大 (150mb),每次启动时,都会触发来自 Windows Defender 或客户端 AV 的病毒扫描。这会导致加载时间过长,超过 5 分钟。
有没有办法对我的应用程序进行签名或以其他方式将其列入白名单,以便病毒扫描程序在加载时不会对其进行扫描?随着内容的变化,应用程序会在每次部署时更改其签名。我试过将它所在的目录列入白名单,将文件路径列入白名单,但无论病毒扫描程序是否继续触发。
我已通过以下操作确认它是病毒扫描程序:
1) 启动应用程序时,病毒扫描进程会占用整个 CPU 核心
2) 将 Debugger.Launch() 调用作为应用程序中的第一个 LOC 几分钟后不会被调用
2) 禁用病毒扫描程序后,应用程序加载时间不到 5 秒。
不幸的是,禁用病毒扫描程序不是客户端的选项。我在开发部署应用程序时在本地使用它,但出于充分的理由,在客户端的机器上关闭它 - 甚至建议关闭它 - 不会很好。
AV 行为并不罕见,因为您的应用程序表现出病毒的主要迹象:正在解压缩的压缩资源。 AV 产品当然不知道您的程序是如何压缩的,因此它必须花费大量时间尝试多种解包方法,以确定其中 none 会产生有害代码。
路径白名单不可靠;任何设法覆盖列入白名单的可执行文件的病毒都会绕过 AV。
我只想把问题还给客户。他们要求一种相当不寻常的可执行文件形式,正是 AV 正在防范的内容。
我创建了一个 C# 应用程序,用于为客户部署一组非常具体的应用程序。根据客户的要求,此应用程序包含在单个可执行文件中完整部署我们整个应用程序套件所需的所有资源 - 嵌入前压缩。
但是,此应用程序非常大 (150mb),每次启动时,都会触发来自 Windows Defender 或客户端 AV 的病毒扫描。这会导致加载时间过长,超过 5 分钟。
有没有办法对我的应用程序进行签名或以其他方式将其列入白名单,以便病毒扫描程序在加载时不会对其进行扫描?随着内容的变化,应用程序会在每次部署时更改其签名。我试过将它所在的目录列入白名单,将文件路径列入白名单,但无论病毒扫描程序是否继续触发。
我已通过以下操作确认它是病毒扫描程序:
1) 启动应用程序时,病毒扫描进程会占用整个 CPU 核心
2) 将 Debugger.Launch() 调用作为应用程序中的第一个 LOC 几分钟后不会被调用
2) 禁用病毒扫描程序后,应用程序加载时间不到 5 秒。
不幸的是,禁用病毒扫描程序不是客户端的选项。我在开发部署应用程序时在本地使用它,但出于充分的理由,在客户端的机器上关闭它 - 甚至建议关闭它 - 不会很好。
AV 行为并不罕见,因为您的应用程序表现出病毒的主要迹象:正在解压缩的压缩资源。 AV 产品当然不知道您的程序是如何压缩的,因此它必须花费大量时间尝试多种解包方法,以确定其中 none 会产生有害代码。
路径白名单不可靠;任何设法覆盖列入白名单的可执行文件的病毒都会绕过 AV。
我只想把问题还给客户。他们要求一种相当不寻常的可执行文件形式,正是 AV 正在防范的内容。