我是一个业余程序员,我因为一个大问题而变得绝望和疯狂:我的大多数程序都被avast反病毒阻止,而有些则没有,我不明白为什么.我试图调查越多,我就越不明白问题可能是什么.
我正在请求您的帮助以找到解决方案,以便我的程序不再被阻止,或者,默认情况下,至少有一些强有力的线索可以解释为什么会出现这种情况.网上已经有很多关于这方面的话题.然而,他们中的大多数只给出了肤浅的答案:他们只是解释了反病毒如何与签名和检测启发式一起使用,或者说你只需要在白名单中添加有问题的应用程序而不询问任何其他问题.虽然这当然是正确的,但我的感觉并不是可接受的答案,因为我仍然留下了自己的程序,拒绝工作而没有任何具体的想法开始调查.
首先,阻止我的程序的唯一反病毒是avast 7.x. 没有其他防病毒程序看到任何不方便运行我的软件.其次,我没有自己动手; 它安装在朋友的机器上.我有Windows 7,他有Windows XP.我完全确定问题是avast:暂时禁用它,或者如果程序被添加到其白名单中,一切都按预期工作得很好.
三个不同的程序遇到麻烦:
第一个是开源的,如果需要,我可以提供可执行文件和源代码的链接.另外两个是封闭源但可以免费使用,我只能给出当前版本的可执行文件的链接.这三个程序之间唯一明显的共同点是我作为开发人员,我编译它们的Windows 7机器,编译器系列是MinGW/GCC,它们都是没有任何框架的win32 GUI应用程序(没有MFC,没有WPF,没有QT,WXWidgets或其他;只是纯win32/C GUI应用程序)
这是我的观察,虽然到目前为止:
问题是由avast 7.x自动沙箱引起的.当尝试启动avast不喜欢的程序时会发生以下情况:
这是无法接受的.我的程序的新手用户,特别是游戏,不知道防病毒是如何工作的; 不知道怎么把它放到白名单中,为什么它会解锁呢?不知道如何改变他们的反病毒设置; 如果他们看到弹出窗口,不会理解它,最终会害怕或失望,因为他们不知道为什么不能玩; 如果他们没有看到弹出窗口,我不能指望他们用半冷冻电脑等待5分钟.每次他们想玩.
从那里,我做了以下扣除:
除此之外,我还认为我将程序作为便携式zip文件分发的事实可能是avast阻止的原因,相反,程序安装在程序文件中的事实可能是信任它的理由更多.所以我提供了一个简单的体验:我为我的游戏的beta 2.0.0编译了一个新的inno-setup 5安装程序,以及一个用于我的文本编辑器1.3版本的安装程序,并发现安装程序本身已被阻止!
我和我的朋友做了另一次经历,在那里我试图找到程序崩溃的地方,基于使用MessageBeep(MessageBox也被阻止了!).我没有发现任何问题.在登录对话框中第一次调用SetDlgItemText时会阻止游戏,但是如果我删除所有SetDlgItemText,它将被进一步阻止.在文本编辑器中,它在填充菜单栏时被阻止...
我的结论是,在我的游戏的新版本中,在我的文本编辑器的旧版本和我的音频播放器中,avast不喜欢这样的东西.最新版本的文本编辑器中缺少的东西.会是什么呢 ?你有什么线索吗?你是否只知道如何继续找到它是什么让我可以帮忙解决它?是否只有一种方法来分析这样的问题,还是由avast搞砸的洞世界?
请注意,我是一个人,而不是一个公司,所有这些程序都是免费使用的,我没有支付任何IDE来开发它们,而且当用户使用它们时我没有付费,所以我假设一个证书可能根本不负担得起.而且,我不知道它是否是一个真正的解决方案,如何签署一个用GCC编译的应用程序,我真的不想切换到像MSVC这样的"usineàgaz".如果有任何其他解决方案,即使是非常肮脏的解决方案,我宁愿强烈忘记该选项.
谢谢你的阅读.
Ric*_*orn 14
增加所有AV软件信心的一个好方法是对代码进行数字签名.Thawte拥有最便宜的公认证书,起价低于100欧元/年.
- 近两年后@ Herr_Doktor发表评论后更新 -
当代码签名不是一个选项时,我最近遇到了一种新情况 - 我在php中为Joomla编写了开源代码.在我收到Avast将我的文件标记为(假)阳性的第一个迹象后,我联系了他们,他们在几小时内将我的文件列入白名单.
为了让我的生活更轻松,我正在使用所谓的"危险"功能创建一个单独的文件,以便将来对程序的更改不需要重新提交以进行白名单.
可能它们的响应速度有助于读取一个简短的php文件比反向工程编译代码更快; 尽管如此,他们是善良,快速和有效的.
AV程序通过分析文件来处理已知"不良行为"的模式.
如果您的程序正在解引用指针,将200个字节写入100字节缓冲区或类似内容,则可能会生成类似于已知攻击签名的代码.(因为大多数攻击利用这些编程错误)
你应该调试你的代码(如果在linux上尝试valgrind或efence)并确保正确处理内存.
| 归档时间: |
|
| 查看次数: |
55462 次 |
| 最近记录: |