【发布时间】:2021-11-09 14:25:18
【问题描述】:
在 Windows 上将 .py 脚本转换为 .exe 似乎总是会导致误报病毒检测命中。
在 stackoverflow 和其他地方有很多关于此的讨论线程。一个真正好的总结是here。
来自 pip 的 pyinstaller、带有本地编译引导加载程序的 pyinstaller、py2exe 和 nuitka 是迄今为止我尝试过的各种 .exe 构建器。各种构建工具会导致 virustotal.com 上的点击次数不同,但无论您做什么,似乎总会有一些点击 - 这就是我们生活的世界。
我知道签名是一种选择,虽然分发的工具是免费和开源的,所以可能不会采用签名选项。
每次编辑脚本和重建 .exe 时都追查防病毒供应商报告误报似乎不是很好地利用时间。
这里的问题是:最好放弃分发 .exe 的想法吗?在最终用户的机器上安装完整的 python,然后分发 .py 文件是最好的方法吗?该选项似乎非常重量级和霸道,并且容易出现更多安装问题。但是,如果这是避免杀毒舞会的唯一方法......?还是有其他中间选项?
【问题讨论】:
-
这似乎是一个基于意见的问题?
-
我认为一个很大的可能部分(因为我个人没有遇到这个问题)是代码的某些部分,或在某些库中。但我想我还不确定对此发表声明。
-
@Mahrkeenerh 我不这么认为,因为它提出了一个明确的问题(“我如何避免误报”),但措辞可以做一些工作..
-
我之前也没有出现过病毒错误(在多台机器上)。只有一个有问题,所以也可能是基于反恶意软件的?
-
你不能。防病毒软件使用启发式方法来检测程序的可疑行为和知名程序的白名单。当然,您的 pyinstaller 生成的程序也不可能成为众所周知的程序。因此,如果它设法触发启发式规则,那么您就离开了......
标签: python pyinstaller antivirus