【问题标题】:Trying to deploy program尝试部署程序
【发布时间】:2013-03-27 03:22:17
【问题描述】:

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

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

我想过尝试的事情:

  • 加密文件
  • CD
  • 用户名/密码
  • CD 上的“自毁”文件
  • 和其他一些人

但我们所有的想法都无法满足我们的需求。

【问题讨论】:

    标签: java deployment drm


    【解决方案1】:

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

    可能有帮助的主题:

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

    Making commercial Java software (DRM)

    【讨论】:

      【解决方案2】:

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

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

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

      奖励积分:

      • 每次软件检测到 ID 不匹配时,都以“X 美元的低价”提供购买许可证。如果产品足够好,价格足够低,人们就会买单。

      【讨论】:

        猜你喜欢
        • 2021-05-11
        • 1970-01-01
        • 2014-12-25
        • 1970-01-01
        • 2021-12-12
        • 1970-01-01
        • 1970-01-01
        • 2014-03-04
        • 2012-07-04
        相关资源
        最近更新 更多