-->

我的计划是由AVAST防毒受阻(My programs are blocked by avast a

2019-07-18 08:17发布

我是一个业余程序员,因为一个大问题,我越来越绝望和疯狂:我的大部分项目都是由AVAST防毒阻挡,而有些则不是,我不明白为什么。 我越努力调查,少我明白这个问题可能是什么。

我请求你的帮助,以找到一个解决方案,使我的计划是不再受阻,或作为默认,至少有一些强有力的线索,这可以解释为什么它可能是这种情况。 目前已经有关于网络上的许多话题。 然而,他们大多只给出了答案浅:他们只是解释反病毒如何与签名和启发式检测,或国家,你只需要添加白名单问题的应用程序,而不要求任何其他问题。 虽然这当然是正确的,它在我的SENS不能接受的答案,因为我仍然留下了我自己的程序,拒绝没有任何具体想法合作,开始调查。

首先,只有抗病毒,阻止我的计划是AVAST 7.x版本 没有其他防病毒看到任何不便运行我的软件。 其次,我没有停住自己; 它安装一个朋友的机器上。 我有Windows 7,他有Windows XP中。 我完全肯定,问题是AVAST只有:当它暂时禁用,或者如果该程序被添加到其白名单,不出所料一切工作得很好。

三种不同的节目有麻烦了:

  • 一个文本编辑器,用进球来取代Windows的记事本,同时保持简单,高效和可定制
  • 一个小的业余音频播放器使用起来非常简单
  • 在线游戏平台的客户端程序,目前有超过1000个用户

第一个是开源的,如果需要的话我可以给一个链接到可执行文件和源代码。 两个人都是闭源,但免费使用的,我可以给一个链接到的只是当前版本的可执行文件。 这三个方案之间的唯一明显的共同的东西是我作为一个开发者,我的Windows 7机器,它们编译,编译器家族是的MinGW / GCC,和他们没有任何框架,所有的Win32 GUI应用程序(无MFC,没有WPF,不QT,wxWidgets的或任何;只是纯粹的Win32 / C GUI应用程序)

这里是我的意见,虽然至今:

  • 版本1.1,1.2.1和我的文本编辑器的1.3被阻止。 他们在C不是C ++,编译时有在Unicode模式下GCC 3.4.5,并且分布在便携式zip文件(由便携式,我只是意味着没有安装,没有安装所需)
  • 同样的文本编辑器的版本1.4.1不堵塞。 它已被编译GCC 4.7.2,仍然在C和不是C ++,仍然在Unicode模式下,仍然作为一个便携式zip文件
  • 我的音频播放器的所有版本都被阻挡; 他们是在C ++中启用0x特性的,都在ANSI模式下被编译通过GCC 4.7.2,分布在便携式zip文件
  • 我的游戏,1.7.2的最新版本,不堵塞。 它是在C,已在ANSI模式编译GCC 3.4.5,并且分布作为INNO-设置5安装程序。
  • 我的游戏,2.0.0,这也是目前内测的新版本,被阻塞。 这是在C ++中启用0x特性的,已编制与Unicode模式GCC 4.7.2。 我与我的私人beta测试团队的zip文件共享的私人Dropbox的文件夹中

问题是因为avast 7.x的自动沙箱引起的。 出现以下情况时,一个尝试启动由AVAST不喜欢的程序:

  1. 用户双击或击上的可执行进入
  2. 该程序将启动,但几乎在瞬间,并强行AVAST坠毁
  3. 一个弹出出现,说是这样的:AVAST已经把这个计划变成了沙箱,因为他的名声是低
  4. 如果一个人在弹出的继续按钮点击时,程序的执行重新启动并正常工作
  5. 如果一个人不继续按钮单击,Windows资源管理器冻结,可执行留在任务管理器,并不约而同地使用76 KB的RAM,同时无法杀死; 最后大约5分钟后,Windows资源管理器解冻,重新启动该程序并正常工作

这是无法接受的。 我的程序,特别是游戏的新手用户,不知道反病毒是如何工作的; 不知道如何把它变成了白名单,以及为什么它会解锁; 不知道如何改变他们的反病毒的设置; 如果他们看到弹出,不会理解它,最终会害怕或失望,因为他们不可能不知道为什么玩; 如果他们没有看到弹出,我不能指望他们等待5分钟,半冻计算机。 他们每次要玩。

从那里,我做了如下扣除:

  • 我的机器是不是本身感染者和无病毒注入我分发的可执行文件; 否则,所有最近的程序将被阻止; 我有两个它们是(我的球员,我的游戏的新版本),而一个不能(最新的我的文本编辑器的版本)。 游戏的1.7.2已编制2012年3月,而文本编辑器的1.4.1是从2012年10月。
  • GCC 4.7.2的最新版本是不是原因,通过同样的道理; 同为ANSI VS Unicode的编译。
  • MinGW的C ++运行时,分布为自动链接DLL,在使用GCC 4.7.2编译所有的C ++应用程序必须的,很可能不是原因,因为许多知名的程序使用它; 和我的文字编辑器被阻塞,并且在C,因而不使用它。
  • 我的音频播放器和我的比赛有共同的音乐库; 这以后是不是原因,因为我的游戏作品的1.7.2版本和最新内测版没有。 当然,音频库也被用于在没有阻止其他许多已知的或不太知名的应用程序。
  • 无论是玩家和游戏接入用winsock的网络; 因此通过同样的道理,这不是原因要么
  • 如果真的是的avast声誉的事情,为什么我的文字编辑器,它不会被阻止的版本1.4.1,只被大约70次下载,而这被阻止的1.3版本已被下载超过300次? IT看起来完全不合逻辑。 70个用户足够的权利要求一些有关的声誉? 它是多与300级的用户? 我真的不这么认为......大概几十成千上万的用户的临界质量是必要的。

另外想,我也不过是我在我的分配方案,作为便携式zip文件的事实可能是AVAST阻止的理由,相反,某个程序以及安装程序文件的事实可能是信任它的理由更多。 于是我做了一个简单的实验:我编译一个新的INNO-设置5安装程序进行测试我的游戏2.0.0,以及一个为我的文本编辑器的1.3版本,并发现安装程序本身被封锁!

我与我的朋友,在这里我试图找到准确的地方另一体验,其中的程序崩溃,基于使用的MessageBeep(MessageBox中也堵住了!)。 我没有发现任何问题。 当SetDlgItemText被要求在登录对话框中的第一次比赛被阻断,但如果我删除所有SetDlgItemText它进一步下跌受阻。 在文本编辑器,它在填充菜单栏被封锁...

我的结论是,有一些东西的avast不要在我的游戏的新版本一样,在旧版本我的文本编辑器,并在我的音频播放器。 东西是在我的文本编辑器的最新版本不存在的。 会是什么呢 ? 你有什么线索? 你只对我怎么能继续找到它是什么,这样我才有希望解决它的想法? 仅在那里分析该问题的方式,或者说是洞的世界因为avast拧?

请注意,我是一个人,而不是一个公司,所有这些程序都可以自由使用,我没有支付任何IDE开发他们,我不是当他们使用它们的用户付费,所以我假设证书可能是不相宜的。 此外,我不知道这是否是一个真正的解决方案,如何注册使用GCC编译的应用程序,我真的不想切换到“usineà嘎斯”像MSVC。 我宁愿强烈,如果有任何其他的解决办法,即使是非常肮脏的一个忘了该选项。

谢谢您的阅读。

Answer 1:

递增所有杀毒软件的信心,一个很好的办法就是进行数字签名的代码。 Thawte的具有起动/年低于100€最廉价的公认证书。

- 更新@ Herr_Doktor的评论经过近两年后 -

我最近遇到了一个新的局面时,代码签名不是一种选择 - 我写的开源为Joomla在PHP。 我收到了Avast的显着正我的文件作为一个(假)的第一个征兆后,我联系他们,他们列入白名单小时内我的文件。

为了使我的生活更轻松,我创建与所谓的“危险”的功能,一个单独的文件,以便将来对程序的改变将不需要重新提交它的白名单。

可能在他们的反应速度是由一个事实,即读一短的PHP文件比逆向工程的编译代码更快的帮助; 尽管如此,他们是善良,快速和有效的。



Answer 2:

病毒程序通过分析已知的“不良行为”模式的文件。

如果你的程序是取消引用指针,写200个字节到100字节的缓冲区或相似的,机会是你会生成代码类似于已知攻击的签名。 (因为大多数攻击利用了这些类型的编程错误)

你应该调试代码(如果在Linux上尝试的valgrind或efence表示),并确保该内存的正确处理。



Answer 3:

你可以将感兴趣的这篇文章在:

http://www.codeproject.com/Articles/71128/The-Case-of-Evil-WinMain

它说明了如何与链接一个简单的C运行时库的小程序打交道时,杀毒可以从字面上去坚果。

你能做的唯一的事情就是信号问题到反病毒厂商,并从他们一个公平的行为希望。



Answer 4:

好吧,理解了它转到您的AVAST的设置和存在,您可以添加例外设置的区域>防病毒,然后向下滚动该菜单,有一个标题为排除在那里你可以浏览到您的Visual Studio路径,即一个区域。 C:>约翰>文件> visualStudio2010>项目选择:::您的项目路径,它将把它添加到扫描例外列表,你应该能够测试运行您的文件...工作很适合我。 我也因从另一个成员建议禁止在同一菜单中进行深度扫描



Answer 5:

去AVAST“文件系统sheild”并单击“专家设置”按钮。 然后找到并从左侧的菜单中点击“例外”选项。 添加您的项目foldr相似的文件排除列表。 这是安全的,除非危险的病毒中没有乌尔所学知识的项目文件夹爬:P



Answer 6:

我最近遇到的一些地方我的应用程序将无法运行的问题。 他们将显示为过程(windows下),但从来没有在任务管理器中的应用程序选项卡下。 进程通常有大约120K的存储器大小,有时会有多个进程。

罪魁祸首是Avast的DeepScreen。 从Avast的道:“DeepScreen技术允许在一个未知的文件执行的Avast做出实时决策”。

在我的情况Matlab的被封锁,因为是一些其他的应用程序。

有没有从Avast的迹象表明它挡住的应用程序,使得“删除的Avast!” 以上比较合适的评论。



Answer 7:

您需要为其他人所说去您的防病毒帐户 - >设置 - >排除或文件路径相似,类型的东西。 我AVAST做到了。 围绕它的第一时间没有工作,所以我卸载并安装,然后去排除和现在的工作。



Answer 8:

上面的注释是指“如果你去参考指针”。 如果你使用C或C ++这是你的程序会做什么 - 这就是他们的工作。

而作为carpetsmoker说,这是没有用的固定自己的Avast的设置,它是所有谁想要下载软件,而是由Avast的被吓坏的人们。



Answer 9:

Avast的有一个叫CYBERCAPTURE /深度扫描功能。

这是什么导致你的烦恼。

它甚至没有与启发式打扰。

如果没有验证码签名,就认为它可疑,并将其发送到avast对他们进行扫描,直到他们宣称其没关系,你将无法运行。 一旦他们已经宣布它好,那么所有其他与AVAST可以放心,如果它自己的版本相匹配运行它。



文章来源: My programs are blocked by avast anti-virus
标签: c++ c virus