gpt4 book ai didi

python - 使用 Python 保护软件许可

转载 作者:行者123 更新时间:2023-12-05 06:26:15 26 4
gpt4 key购买 nike

我想出售一些我用 Python 编写的软件。我的界面允许用户提交他们的许可证 key 并将其保存在本地。该程序围绕运行程序的界面中的一个按钮。我的想法是在 AWS EC2 服务器上创建一个 HTTPS API(可能使用 Flask,因为我知道如何使用它)。然后,只要用户单击按钮运行服务器,程序就会检索他们本地存储的许可证 key 并向服务器发出 GET 请求。服务器然后检查数据库中是否存在该键,如果存在则返回 True,否则返回 False。如果返回True,则本地程序将运行该程序,否则会告诉用户他们的 key 无效。

我知道这不是特别安全。我看到的主要原因是使用 Python,用户可以进入我的 .py 文件并将 bool 值设置为始终为 True,或者完全删除检查。所以,我想我可以通过使用 py2exe 来解决这个问题。 , 尽管 unpy2exe存在。 pyarmor似乎也是一种选择,但我认为可能存在一些工具来破解它,例如 this one .

即使我能够阻止用户访问代码,他们也不能更改服务器的响应并将其更改为 True 吗?即使是HTTPS?

我还有一个问题,我希望用户一次只能在一台计算机上使用我的程序。我想存储他们的 MAC 地址,但我知道这很容易被欺骗,所以我不太确定如何实现它。

有人可能会说这太过分了,如果有人想破解我的软件,他们就会这样做。然而,该程序将相当昂贵,并且将在破解非常普遍的市场上销售。因此,我真的很想尽我所能让它变得尽可能困难。

那么,有谁知道我可以如何为我的程序创建一个安全的许可系统?至少只是一个大纲会非常有帮助。

谢谢。

编辑:关于安全生成许可证 key ,如果我确定它不存在的话,这样的东西怎么样?

from base64 import b64encode
from os import urandom

random_bytes = urandom(32)
license = b64encode(random_bytes).decode('utf-8')

EDIT2:当然必须有某种许可软件的行业标准,不管它是否用 Python 编码?他们是怎么做到的?

最佳答案

如果我正确理解了您的问题陈述,那么一切都可以归结为:

  1. 订阅和许可续订问题,以及
  2. 单用户许可证 key

在阅读了您的初步尝试后,我可以评论说您能够挥动球棒,但最终这些方法都变得无能为力。

虽然我可以分享一些技巧来解决上述问题,但我更愿意建议您使用第三方供应商,他们已经从事许可业务并在游戏中享有盛誉。

NetLicensing恰好是一种符合成本效益的解决方案。

对于目标 #1,他们提供了一种反射(reflect)典型订阅场景的订阅许可模型,在该模型中,允许在特定日历时间内使用并且可以按需延长,并且他们最先进的安全性有助于您可以避免所有此类破解和黑客攻击(如帖子中所述)。

他们还提供了一种称为“节点锁定”的解决方案,可用于实现目标 #2,其中使用 CPU 序列号验证来强制执行此类许可。

总而言之,我想说您总是可以使用家庭自制的补救措施来实现软件许可,但是如果您的产品确实物有所值并且您打算避免盗版并限制未经授权的使用,请让专业人员来处理您的问题业务,而您则专注于产品开发及其分销。

关于python - 使用 Python 保护软件许可,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56360588/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com