代码之家  ›  专栏  ›  技术社区  ›  xRobot

创建只在预定试用期(评估期)内工作的程序的最佳方法是什么?

  •  3
  • xRobot  · 技术社区  · 15 年前

    我需要创建一个30天后不工作的简单应用程序。

    我该怎么做?

    有没有办法在30天后使用试用程序?

    6 回复  |  直到 14 年前
        1
  •  12
  •   Tuomas Pelkonen    15 年前

    总有一种方法可以在30天后使用试用程序。

        2
  •  11
  •   Robert Cartaino    15 年前

    如果说“最好”是指最不易损坏的,那么实际上只有一种方法:使其成为基于互联网的“软件即服务”应用程序。如果你不提供访问权限,他们就不会使用该软件。 如果是基于桌面的应用程序 ,那么一些关键的功能仍然必须在某个地方的在线服务器上。

    如果黑客在他们的本地机器上有整个应用程序, 它可以逆向工程 以某种方式“破裂”。克服这一问题的唯一方法是确保某些功能永远不会出现在他们的机器上。

        3
  •  7
  •   tvanfosson    15 年前

    我认为一个更好的解决方案是一个功能有限的应用程序——比如说你可以进行基本操作,但是要利用最好的功能,你必须获得付费许可。这可以做两件事——假设你的应用做得很好,而且对各种用户都很有意思。首先,你可以让更多的人尝试你的应用。其次,你可以通过免费发布你的“lite”版本来获得一些善意。

    如果你真的需要做一个限时试用,那么我会考虑让它写一个加密的注册表键(windows)或点文件(linux)。此密钥可以对到期日期进行编码。使用可逆加密可以将此值还原出来。使用密钥有助于防止某人生成自己的(有效的)密钥。完全授权的应用程序可以使用相同的密钥机制,但可以加密允许永久使用的密钥值。

        4
  •  6
  •   Community CDub    8 年前

    从我的回答到 implementing-expiration-dates-in-an-application/1871218#1871218 :

    用户最友好的做法可能是跟踪用户使用您的软件的天数。例如,每次程序启动时,都可以将日期写入加密文件(除非该日期已存在于文件中)。然后,一旦文件中有超过30个日期,让用户知道是时候购买完整版本了。

    真正的产品,如Beyond Compare,使用这个方案-非常适合那些安装了您的产品并且在30天内没有使用它的潜在客户,只会发现试用期已经过期。

    还要记住,你的方案并不一定要完美,只要让它足够强大,它将不方便用户打破它。

        5
  •  3
  •   Kris    15 年前

    让程序在第一次运行时从服务器请求密钥,并在程序每次启动和每24小时检查其有效性。

        6
  •  1
  •   Maz    15 年前

    另一个选择是在下载应用程序时使用服务器端编译器。这可以将许可证密钥“注入”到二进制文件中。您可以使用单独文件中的常量来完成此操作。然后,可以将此链接到其他预编译的文件。这种方法速度较慢,但很难破解,因为黑客需要对程序进行反编译。