Pyinstaller .exe 抛出 Windows Defender [无发布者]

No *_*dio 4 python pyinstaller publisher windows-defender

我开发了一个 Python 代码并将其转换为.exewithpyinstaller但问题是没有发布者所以每次计算机运行我的程序时,Windows Defender 都会抛出一个警告说没有发布者所以程序不确定.. .

有谁知道如何将 an 的发布者.exe从 none更改为 something 或如何在 中实现 Publisher pyinstaller

Buv*_*inJ 6

简短的回答是,这与 PyInstaller 无关。这是最近版本的 Windows 中任何 exe 的普遍问题。您现在需要对您的 exe 进行“代码签名”。这确实是一个伪装成安全增强的赚钱计划。

例如,您可以从 digicert 购买证书。它们是 MS 会自动识别的主要授权代理之一。 https://www.digicert.com/code-signing

或者谷歌“代码签名”以获取其他选项。

您也可以免费自行签名。查看此 SO 帖子: Signing a Windows EXE file

自签名的问题在于用户必须首先安装您的自定义密钥才能识别您签名的 exe。但是...有一些技巧可以先静默安装,如果您想省下几块钱的话。

  • 不要在用户的计算机上安装根证书,以便您可以使用自签名证书。它损害了他们的安全。如果您的根证书的私钥遭到泄露,那么您的用户就很容易受到攻击。如果您不愿意/无法购买代码签名证书,那么您可能也不愿意/无法正确保护根证书。 (3认同)
  • 密钥应该被加密、访问控制、安全备份等等。我想象私钥通过受损的网络或开发机器泄漏......公司一直受到黑客攻击。其次,攻击者已经定期向合法应用程序注入恶意负载,并通过 BitTorrent 和“破解应用程序”目录分发它们。如果他们能够签署不良应用程序,它就可以伪装成合法应用程序。成千上万人使用的应用程序是有价值的目标。 (3认同)
  • 谢谢。这些都是有效的观点。当然,您所列举的应该作为自签名的最佳实践。我认为背景是关键。请注意,最初的问题是关于分发 **PyInstaller** 生成的 exe 文件。其中存在明显的安全漏洞,胜过这个标牌细节。这本身就是一个很大的话题。当然,如果您要分发大量程序,您可能可以根据您最初的建议购买证书。 (2认同)