Man*_*ish 25 c# security installation trialware
我已经创建了我的产品,并为此生成了许可证密钥,但我想在30天后问密钥.我已经使用注册表值来存储日期,并添加了30天.但我发现,如果用户在我的逻辑不起作用前30天更改系统日期.
那么试用版软件是否有任何解决方案,而无需检查系统日期,只允许30天的试用期?
Joe*_*nez 41
您可以使用另一个在每天使用后增加的注册表项.这样,即使他们更改了计算机的日期,此密钥也会向您的程序表明它已运行超过30天.
此外,此值可以加密,以便如果用户尝试手动更改它,程序可以拒绝运行,因为它无法解密该值并从中获取有效数字.
要绕过重新安装,您可以向使用应用程序试用版保存的任何文件添加一些信息,该文件对于该特定版本的应用程序是唯一的(可能是安装时的时间戳).当您的应用的试用版试图打开文件时,它会检查此签名并确保它是使用同一实例创建的,否则拒绝打开该文件.这基本上是neuters能够简单地重新安装应用程序并继续使用它.
但是,在一天结束时,用户可以完全控制他们的计算机,并且可以找到解决您想要做的事情的方法(在您让用户使用该应用程序之前,无法访问保留这些详细信息的Web服务).你可能不应该花费太多的精力试图阻止那些愿意经历这个额外麻烦的人,而是花费额外的时间/金钱/精力来改善那些愿意付钱的人的应用程序.
您可以使用许可组件.您可以自己创建一个(请参阅LicenseManager类),或者从供应商处购买一个(例如CryptoLicensing).
我有一个简单的解决方案.
将2个变量用于注册表:1.日期2.计数器
脚步:
设置计数器= 1
将系统日期复制到日期
每次检查日期是否与当前日期不同,而不是将该日期复制到注册日期,也将计数器增加1.如果日期相同,则不要执行任何操作.
现在,您可以检查您的柜台是否有试用期到期
通过使用这些技巧,如果用户将系统日期更改为上一个日期而不是它的工作原理.
对于注册表,您可以加密日期和计数器,以便技术人员无法识别您的逻辑!
干杯...
添加
仅当用户未更改每天的日期时,此逻辑才会失败!我们再次为此提供解决方案!
我不知道是否可能,但你总能得到一些解决方案:
| 归档时间: |
|
| 查看次数: |
15506 次 |
| 最近记录: |