我正在开发一个应用程序,我需要做一个演示版本,它将在30天内到期。我现在的想法是将应用程序首次启动时的当前时间存储在存储在项目资源中的一个简单的txt文件中(因此它不必写入硬盘或注册表中),并且每次启动程序时检查是否已经过了30天。但是,如果用户将时间重置为较早的状态呢?
那么我的应用程序仍然会启动,因为现在"当前日期"可以在"第一次开始"后1天…
是否有任何方法可以获得一些信息以及第一次日期(或,而不是),以确保应用程序首次启动的特定时间?
感谢您的宝贵时间。
选项之一是从某些外部服务器而不是从本地系统检查日期时间。但这也有可能被破解,因为用户可以在中间放置一个代理,它将充当你应用程序的外部服务器,这个代理可以在用户想要的任何时间发送。如果您想为新手用户提供解决方案,外部服务器方法是不错的,但任何聪明的用户仍然可以破解应用程序。请记住,在客户机上运行的任何代码都可以被破解,您只需要翻转应用程序代码中的正确位:)
我有一个简单的检查在我的一个程序的代码在测试时。你说什么它就做什么。在初始代码中是一个硬编码的日期。然后,逻辑只测试当前日期是否早于硬编码日期。非常原始,它依赖于用户的系统日期。但是,一旦过期,除非更改系统日期,否则程序将无法运行。正如我提到的,我将其用于测试,而不是用于有评估期的生产程序。为此,我使用了违规许可证跟踪器。这是付费软件,但它允许设置评估期和代码的实际许可。
有趣的问题-如何以某种方式编码初始日期时间(base64或甚至某种加密),然后在每次运行应用程序时也存储日期时间。
这样你就可以通过检查每个日期时间来发现不一致,如果有有趣的事情发生(例如。