【问题标题】:My C# program is detected as a virus?我的 C# 程序被检测为病毒?
【发布时间】:2017-04-19 00:41:24
【问题描述】:

我创建了一个 C# 程序,最近我注意到,当我使用 IL Merge 将引用的 .dll 合并到一个可执行的 .exe 文件中时,我的 Anti Virus (Avast) 立即将其删除并说它是病毒。我总是做很多备份,所以我用 2 天前的备份测试了同样的东西,我没有遇到这个问题。

所以我逐行删除了我最近的代码,并注意到是什么触发了程序被检测为病毒。我有一个空白,我检查指定路径中是​​否存在文件列表(在我的应用程序文件夹中,位于 %appdata% 中)。 void 有大约 8 个File.Exists(path) 命令,删除这 8 行我的程序不再被检测为病毒。

所以我的问题是,有没有办法解决这个问题?为什么我的程序仅仅因为我使用File.Exists 而被检测为病毒?

【问题讨论】:

  • A similar question 已被删除,所以我会从那里复制我的评论:鉴于启发式的性质,我认为不可能有明确或持久的答案。是的,File.Exists(path) 可以将其关闭,但我们无法确定;是的,这将是一个朴素启发式的例子,它可能会在下一个版本中改变。发生误报,您可以做的是将您的应用作为误报提交给供应商。
  • 在这个例子中,它肯定是 'File.Exists(path)' 设置它,因为我保持所有其他代码相同。
  • 理论上你可以使用他们的“report false positive”表单来发送你的应用程序,这样它就不再被报告avast.com/false-positive-file-form.php在实践中,你的请求可能会被忽略,你会遭受其他痛苦也是 - Avast 是报告的误报数量最多的公司之一。
  • 问题是。这将是我将发布的第一个应用程序。如果人们看到病毒被触发(不管是误报),我将失去我的合法性。我不希望人们认为他们下载了不安全的东西。
  • 我认为它不是代码 File.Exists,它是您的程序正在访问应用程序数据文件夹的内容,不同的路径不会显示为病毒

标签: c# .net antivirus virus


【解决方案1】:

您是否提供了至少包含“名称、作者和描述”字段(不是默认值)的 AssemblyInfo.cs?大约 1 年前我遇到了类似的问题,这解决了我的问题。

【讨论】:

  • 不幸的是,这对我不起作用。感谢您的意见。
  • 将 Title、Description、Company、Product 和 GUID 的值添加到 AssemblyInfo 解决了我的问题。
【解决方案2】:

请稍微更改 AssemblyInfo.cs 中的“Guid”,然后重试。

这对我有用。

【讨论】:

    猜你喜欢
    • 2010-09-06
    • 2013-10-27
    • 2010-10-13
    • 2011-03-15
    • 2010-11-26
    • 2021-08-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多