【问题标题】:Application activation应用程序激活
【发布时间】:2012-03-15 20:44:46
【问题描述】:

我的 VB.NET 程序正在分发给一些 beta 测试人员。他们获得了一个 beta 测试“密钥”代码来激活他们 PC 中的程序。

我有一个在线 MySQL 数据库。它包含一个键列表。当有人激活他/她的密钥时,我的程序会检查数据库,如果之前从未使用过该密钥,则程序会被激活(并且他们在数据库中的密钥变为“已使用”)。

这对我有用。但是,有没有更好的方法?更标准、更简单的方法?

【问题讨论】:

  • 您的标题应该是应用程序激活,而不是身份验证(原文如此)。
  • 当然有更好的方法。在 beta 版本中消除此代码,它只会妨碍目标。如果你真的打算在 RTM 版本中使用这种激活机制,那么你改变主意已经很晚了。

标签: vb.net security activation beta-testing


【解决方案1】:

我也会考虑您的软件识别它是为它所在的特定机器注册的,并在每次启动时检查它。

就目前而言,很可能有人可以:

  1. 合法注册他们的软件副本
  2. 只需将他们的安装文件夹复制到另一台计算机上
  3. 注册一些 DLL/注册表项

...他们将进行重复安装。

查看这篇文章Generating a unique machine id

【讨论】:

    【解决方案2】:

    对于测试版,我只需硬编码到期日期并放弃任何形式的“许可”。 Beta 旨在让特定客户在您的产品准备好销售之前对其进行使用。让他们尽可能多地安装它,并在尽可能多的机器上安装它。这将提高您在此过程中发现错误的可能性。为安全起见,您可以通过公开time server 确认结束日期。

    准备好出售后,请使用知名供应商提供的商业版权保护工具。我们出售DeployLX Licensing,这使得生成序列号和激活码变得非常容易。

    如果你尝试自己做,你会的

    1. 第一次可能会出错,很容易失去足够的销售额或花费您的支持时间,而商业产品本来可以节省这些时间。
    2. 浪费你自己的时间与黑客斗争并试图弄清楚这些东西。您本可以花时间改进产品。

    【讨论】:

      猜你喜欢
      • 2011-07-24
      • 1970-01-01
      • 1970-01-01
      • 2019-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多