0

我在这里遇到了一个问题:我创建了一个应用程序,它就像我今年学校年鉴的计算机化/数字化版本。我想只向那些购买了这本书的人提供这个程序。该程序是用java编程的,我可以做键码/序列号/cd键,但我不知道该怎么做。我不希望没有购买年鉴的人访问该程序,也不希望购买了年鉴的人将密码/代码提供给他们的朋友以便他们使用。

我们可以建立一个在线交易,以防想要一本年鉴但没有购买它的人可以以更便宜的价格获得该程序,但我们希望那些购买了实际书籍的人免费。这是一个挑战,但我们可以在程序内部和在线创建数据库,但我不确定。

我想过尝试的事情:

  • 加密文件
  • 光盘
  • 用户名密码
  • CD 上的“自毁”文件
  • 和其他几个

但是我们所有的想法都不能满足我们的需求。

4

2 回答 2

0

不确定它是否有帮助,但最近的一些游戏已经实现了在线实时客户端/服务器验证,以确保许可证是合法的,即使在单人游戏中也是如此(例如,ubisoft 的定居者 7 初始版本)。您至少可以保证当时只使用了一份软件副本。

可能有帮助的主题:

https://stackoverflow.com/questions/5039395/copy-protection-and-license-expiration

制作商业 Java 软件 (DRM)

于 2013-04-04T21:21:57.647 回答
0

想到的最简单的方法(虽然从可用性的角度来看不是很好):

  • 该应用程序需要互联网访问才能安装运行。
  • 每次应用程序安装时,它都会为当前计算机生成一个唯一的 id 并将其发送到服务器。
  • 每次应用程序运行时,它都会将服务器上的 id 与当前计算机的 id 进行比较。
  • 如果两者匹配,则运行;否则它会通知用户该软件已安装在另一台 PC 上。
  • 每次用户安装软件时,您都会覆盖服务器上的 ID(您监控的是安装,而不是卸载)。
  • 这样,最后一个安装的人可以运行,但会将其他人踢出去。

人们仍然可以作弊,但它要求他们每次想要运行软件时都反复重新安装软件,这很烦人。烦恼杀死盗版:)

奖励积分:

  • 每次软件检测到 ID 不匹配时,都会以“X 美元的低价”购买许可证。如果产品足够好,价格足够低,人们就会买单。
于 2013-04-04T21:23:24.343 回答