我是一个业余程序员,因为一个大问题,我越来越绝望和疯狂:我的大部分项目都是由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不喜欢的程序:
- 用户双击或击上的可执行进入
- 该程序将启动,但几乎在瞬间,并强行AVAST坠毁
- 一个弹出出现,说是这样的:AVAST已经把这个计划变成了沙箱,因为他的名声是低
- 如果一个人在弹出的继续按钮点击时,程序的执行重新启动并正常工作
- 如果一个人不继续按钮单击,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。 我宁愿强烈,如果有任何其他的解决办法,即使是非常肮脏的一个忘了该选项。
谢谢您的阅读。