【问题标题】:Implementing a Trial实施试验
【发布时间】:2014-05-19 20:55:07
【问题描述】:

我已经提出了一个申请,我希望申请应该在 180 天后过期,但问题是如果我采用系统日期,任何人都可以更改它并继续,我也不能采用互联网日期,因为很多时候用户将离线工作。那么我如何让它进行试验,然后它会自我毁灭呢?我不能放任何其他 DRM,因为我已经读过检查 MAC 地址是一个非常糟糕的 DRM,在经历了Making commercial Java software (DRM) 之后,我意识到我必须让它变得简单一些。所以我的想法是我计算应用程序启动了多少次,但是我在哪里存储值在注册表中? (我已经看过了:read/write to Windows Registry using Java

我也读过Create a trial version of a Java application, with limited functionalityHow to create a trial version of a Java program,但那里给出的答案并不令人满意。因为:
1. 在一个答案中,给出了使用“Rampart”,但这是一个付费应用程序,我不想使用它。
2. 在另一个答案中,他们检查了系统日期,但正如我之前所说,我也不想使用它。
3. 一问一答与我不想减少的功能有关
4. 还有许多需要互联网,但我的客户可能不会一直使用它

我知道没有完美的 DRM,每个人都可以破解。我在这里问的是我最好的镜头是什么? (注:我的用户数量有限,我不会在网上销售这个应用程序)

更新:我相信这个问题不是题外话,因为我真正要问的是如何让我的软件试用......我只是问如何?我知道它很容易破解,但请告诉我在 java 中设置试用的最佳方法是什么

【问题讨论】:

  • 老实说,如果您想要严格的 DRM,您将需要组合工具。请注意,一旦用户能够切断网络通信,维护该 DRM 就会变得更加困难。那样,Java 可以很容易地被反编译,他们可以删除任何提供 DRM 的代码。
  • 注册表项可以删除:) PS:你不能保护应用程序,如果你的软件太酷我不想付钱,我可以在虚拟机中运行它,当试用结束,例如在另一个 VM 中运行它,你不能阻止我 :)
  • @Rogue Java 可以反编译吗?我从没听说过。
  • @DakshShah 尝试谷歌搜索jd-gui,它是一个非常准确的反编译器,适用于比 java 1.5 更新的源代码。
  • @SvetlinZarev 是的,这就是问题所在,我无法阻止像你这样的人。但我想做一些事情,让比你更不了解的人不能破解我的软件,因此我有某种良好的安全性

标签: java drm trial


【解决方案1】:

使用包含以下内容的数据包发送数据文件:

  1. 客户的全名。
  2. 发货日期。
  3. 到期日期。
  4. 整个文件的校验和,因此无法编辑。

每次跑步:

  1. 检查校验和是否仍然有效。
  2. 检查文件修改日期是否表明文件已被篡改。
  3. 在闪屏中显示客户名称。
  4. 确保文件上的模组日期不晚于到期日期。
  5. “触摸”文件以确保其修改日期更改为当前日期。
  6. 确保“触摸”有效。

这边:

  1. 制作副本很困难,因为模组日期会改变。
  2. 很难将副本分发给其他人,因为来源很容易获得。
  3. 应该可以检测到大多数不专业的篡改。

显然 - 不添加硬件 - 不可能覆盖所有基础,但我发现这个方案效果很好。

【讨论】:

  • 您是否有任何关于上述任何内容的 java 代码?
  • 他们只需要知道您如何为此生成校验和。我想这对于许多情况来说已经足够了。如果您使用自定义的未知算法,实际上可能会变得很棘手。
【解决方案2】:

如果互联网连接不可用,如果最终用户在公司网络中并使用带有 Active Directory 的 Windows(如果客户端是 Windows,大多数公司都有 Active Directory),则留下一种方法,使用 Active Directory 服务器作为时间服务器。大多数用户可能会更改其客户端窗口上的时钟时间,但由于其他影响软件(邮件服务器等),他们不想更改其服务器上的时间。 License4J 可以在本地活动目录服务器上查找和检查日期/时间。

(披露:我为 License4J 工作)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-16
    • 1970-01-01
    • 2016-02-14
    • 1970-01-01
    • 2012-01-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多