gpt4 book ai didi

java - 实现试验

转载 作者:行者123 更新时间:2023-11-30 06:19:37 24 4
gpt4 key购买 nike

我做了一个应用程序,我希望应用程序应该在 180 天后过期,但问题是如果我使用系统日期,任何人都可以更改它并继续使用,我也不能使用互联网日期,因为很多时候用户将离线工作。那么我如何让它进行试验,然后它会 self 毁灭呢?我不能放置任何其他 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 中设置试用版的最佳方法是什么

最佳答案

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

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

每次运行时:

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

这样:

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

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

关于java - 实现试验,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22915392/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com