C#应用程序被防病毒软件阻止了?

3

我有一个使用 Visual C# Express 编写的工资系统。我已经完成了编码并发布了它。但是,每当我在笔记本电脑上安装它时,Avast! 杀毒软件会将其视为可疑内容并阻止进程。之后,尽管已经安装,应用程序也无法启动,显示一个文件丢失的错误信息。在其 details 中包含以下信息:

PLATFORM VERSION INFO
    Windows             : 6.1.7601.65536 (Win32NT)
    Common Language Runtime     : 4.0.30319.296
    System.Deployment.dll       : 4.0.30319.1 (RTMRel.030319-0100)
    clr.dll             : 4.0.30319.296 (RTMGDR.030319-2900)
    dfdll.dll           : 4.0.30319.1 (RTMRel.030319-0100)
    dfshim.dll          : 4.0.31106.0 (Main.031106-0000)

SOURCES
    Deployment url          : file:///C:/Users/John%20Jayson/AppData/Roaming/Microsoft/Windows/Start%20Menu/Programs/IT%20Box%20Incorporated/Payroll%20System.appref-ms%7C

ERROR SUMMARY
    Below is a summary of the errors, details of these errors are listed later in the log.
    * Activation of C:\Users\John Jayson\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\IT Box Incorporated\Payroll System.appref-ms| resulted in exception. Following failure messages were detected:
        + Activation failed.
        + The system cannot find the file specified. (Exception from HRESULT: 0x80070002)

COMPONENT STORE TRANSACTION FAILURE SUMMARY
    No transaction error was detected.

WARNINGS
    There were no warnings during this operation.

OPERATION PROGRESS STATUS
    * [2/15/2013 12:39:05 PM] : Activation of C:\Users\John Jayson\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\IT Box Incorporated\Payroll System.appref-ms| has started.
    * [2/15/2013 12:39:05 PM] : Performing necessary update check as specified by the deployment.

ERROR DETAILS
    Following errors were detected during this operation.
    * [2/15/2013 12:39:05 PM] System.Deployment.Application.DeploymentException (Activation)
        - Activation failed.
        - Source: System.Deployment
        - Stack trace:
            at System.Deployment.Application.ComponentStore.ActivateApplication(DefinitionAppId appId, String activationParameter, Boolean useActivationParameter)
            at System.Deployment.Application.SubscriptionStore.ActivateApplication(DefinitionAppId appId, String activationParameter, Boolean useActivationParameter)
            at System.Deployment.Application.ApplicationActivator.Activate(DefinitionAppId appId, AssemblyManifest appManifest, String activationParameter, Boolean useActivationParameter)
            at System.Deployment.Application.ApplicationActivator.ProcessOrFollowShortcut(String shortcutFile, String& errorPageUrl, TempFile& deployFile)
            at System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl)
            at System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)
        --- Inner Exception ---
        System.IO.FileNotFoundException
        - The system cannot find the file specified. (Exception from HRESULT: 0x80070002)
        - Source: System.Deployment
        - Stack trace:
            at System.Deployment.Application.NativeMethods.CorLaunchApplication(UInt32 hostType, String applicationFullName, Int32 manifestPathsCount, String[] manifestPaths, Int32 activationDataCount, String[] activationData, PROCESS_INFORMATION processInformation)
            at System.Deployment.Application.ComponentStore.ActivateApplication(DefinitionAppId appId, String activationParameter, Boolean useActivationParameter)

COMPONENT STORE TRANSACTION DETAILS
    No transaction information is available.

在显示“应用无法启动”的窗口出现之前,Avast的一个通知窗口显示它是一个Win32:Evo-gen威胁。

我该怎么办?


1
你是如何安装它的?使用Click Once吗?如果你将它加入到白名单中并尝试运行,会发生什么错误吗?你确定没有任何恶意代码被插入源代码中吗?你已经对系统进行了完整的杀毒扫描了吗? - John
1
你是否将其他 DLL 引用到项目中? - whastupduck
你确定更新了 Avast 吗?根据我上面链接的帖子,显然在2013年1月31日解决了一个问题。 - John
也许以下文章能帮到您 http://malwaretips.com/blogs/win32evo-gen-susp-virus/. 您也可以使用VirusTotal扫描您的exe文件,然后将报告发送给Avast。请参阅Avast论坛上的以下帖子http://forum.avast.com/index.php?topic=124051.0。 - Ikaso
你也在使用混淆器工具吗?几年前,在我的程序集上运行 Xenocode 混淆器时,我的 AntiVir 给出了警告。最终通过白名单解决了这个问题。 - Jens H
显示剩余7条评论
4个回答

1
我在使用VB.NET开发项目时也遇到了这个问题,后来我把最近的更新撤回来以找出问题所在。问题出在一个“插入”语句上,我直接从Datetimepicker控件中获取日期值,使用以下代码:

dtpJD.Value.ToString("yyyy/MM/dd HH:mm:ss")

然后我将其替换为插入语句中的变量,一切正常。

parJDDate = dtpJD.Value.ToString("yyyy/MM/dd HH:mm:ss")


1
我也遇到了这个问题,我的项目是用C#编写的,我在项目中使用外部的Ribbon35控件,该控件有选项卡,如创建、扫描、处理等。当我添加了4个新选项卡并在选项卡上添加了按钮时,突然出现了[Win32:Evo-gen]的提示,而且exe文件被阻止了。请记住,我没有重命名选项卡名称,它们仍然是默认名称,如[RibbonTab1,captiontext = Scanning]。我认为杀毒软件可能会将此视为应用程序的恶意行为,于是我将所有选项卡重命名为与其行为相符的名称,问题就解决了。(也许黑客不在乎控件的名称与其行为是否一致)

0
发现了一个线索.. - 当我的应用程序从名称中带有外文字符的文件夹运行时,Avast会阻止它。 - 将文件夹重命名为仅包含英文字符后,问题得到解决。

-2
伙计,它被检测为病毒是因为它包含付款信息,而且它认为你中了勒索软件,你可以将其添加到排除列表中,但我从未使用过Avast,它不是最好的杀毒软件。如果你想要一个免费的杀毒软件并且具有良好的保护功能,请使用Comodo,或者如果你想要最好的,则应该使用卡巴斯基,或者你可以使用另一种方法,但我更喜欢卸载Avast并安装更好的杀毒软件,查看AV Test网站并选择你需要的最佳保护级别。
祝好

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接