如何创建Java程序的试用版

Edd*_*nho 17 java trialware shareware trial

我正在使用java编写软件并且我差不多完成了,我想知道如何创建一个例如30天的试用版,因为我会将它发送给一些公司

那么如何使它像共享软件或试用软件一样,我们也可以阻止访问jar文件中的.class吗?

谢谢

Jon*_*ott 10

这是一个想法:

  1. 创建Web上公开可用的数据库(如SQL Server数据库).它将保留一份"试用版"许可证密钥列表.购买产品时,可以使用相同的系统获取完整版许可证密钥.

  2. 首次运行Java软件时,它将导致创建一个将存储在数据库中的试用许可证

  3. Java软件每次运行时都会检查有效的许可证.创建许可证的日期存储在数据库中,因此设置客户端时钟无关紧要.

  4. 许可证过期后,软件将停止运行

标准Windows软件可以查找CPU ID并将其用作许可证的一部分,这样每台计算机只能运行一次试用版软件. 有没有人知道是否有某种"JVM ID"可以用于此目的?

也许已经存在免费或开源许可相关代码?


Mar*_*ams 6

为什么不在测试程序中硬编码到期日,以便您不必继续支持它?你可以把它放在main()中.

// Die after October 1, 2010
Calendar expireDate = Calendar.getInstance();
// January is 0 (y, m, d)
expireDate.set(2010, 9, 1);
// Get current date and compare
if (Calendar.getInstance().after(expireDate)) {
  // Die
  System.exit(0);
}
Run Code Online (Sandbox Code Playgroud)

这就是微软分发其大规模测试版软件的方式.他们只是给它一个到期日.

如果您正在谈论防止逆向工程或修改代码,则不能.您可以对已编译的程序进行模糊处理,但这不会阻止那些反向设计代码的人.

  • 如果用户将系统时钟设置回来,则会欺骗您的系统. (5认同)
  • @Paul,这是真的,但很简单,至少我不会支持它. (2认同)

小智 2

有一个名为 Rampart 的产品,可让您为 Java 应用程序制作试用版。只需要几分钟,而且效果非常好。

您可以在http://Rampartlicensing.com找到它