从 python 代码构建 exe 以避免 AV 误报的最佳方法
Posted
技术标签:
【中文标题】从 python 代码构建 exe 以避免 AV 误报的最佳方法【英文标题】:Best way to build exe from python code to avoid AV false positive 【发布时间】:2018-03-25 18:19:38 【问题描述】:我使用 python 3.6 开发了一个应用程序,并使用 pyIntaller 将其构建为 exe。该 exe 被许多众所周知的反病毒软件作为特洛伊木马/病毒阻止。通过过去 2 天的研究,我发现没有办法解决这个问题。但是,是否有任何已知的最佳实践可以遵循,可以降低 exe 被 AV 阻止的可能性。我知道最好的解决方案是将 exe 发送给所有 AV 供应商并将其排除在外,但这对我来说并没有真正的帮助,因为时间因素和发布机制。所以在这里寻找任何支持。我的应用程序是使用以下 python 模块构建的:
altgraph (0.15)
macholib (1.9)
matplotlib (2.1.2)
numpy (1.14.0)
pandas (0.22.0)
pefile (2017.11.5)
pyinstall (0.1.4)
PyInstaller (3.3.1)
pyparsing (2.2.0)
pypiwin32 (220)
PySide
python-dateutil (2.6.1)
pytz (2018.3)
sip (4.19.7)
six (1.11.0)
XlsxWriter (1.0.2)
【问题讨论】:
相关:Program made with PyInstaller now seen as a *** Horse by AVG 检查how-to-recompile-the-bootloader-of-pyinstaller。重构bootloader
并不难,而且pyinstaller
比py2exe
有更多的外部库支持。
【参考方案1】:
你可以试试python中的py2exe模块。
【讨论】:
【参考方案2】:好的,你可以试试 Base64 编码吗 去https://www.base64encode.net/加密你的python代码 比导入 base64 这里的代码: 导入base64
exec(base64.standard_b64decode("BASE64 CODE"))
【讨论】:
1. Base64 编码不是加密。 2. 在任何严肃的应用程序中使用exec
而不知道所有潜在的陷阱是不好的,bad,bad 建议。以上是关于从 python 代码构建 exe 以避免 AV 误报的最佳方法的主要内容,如果未能解决你的问题,请参考以下文章
尝试使用 Cython 和 Visual Studio 2019 (32/64bits link.exe) 从 python 文件构建可执行文件时出错