在开发商业软件的时候,需要给软件添加一个使用期限的功能。
在不联网的情况下,如何能够保证软件不那么容易就被“破解”?
思路:
1.在保证时间不“倒流”的情况下,将软件的初次运行时间和过期时间保存到注册表中。
初次运行时间(first time)和过期时间(end time)由软件开发人员生成,通过注册码,发送给客户。
每次运行软件的时候,都将当前时间(current time)和注册表中的first time进行对比。
if(current time - first time >1天 或 current time>end time){
软件退出();
}else{
first time = current time;
}
如果时间差超过1天或当前时间current time大于过期时间end time,则退出,否则,用当前时间更新first time。
软件内置一个timer用于计算软件的运行时间(run time),在退出软件的时候,将软件的first time+run time结果用于更新first time。
first time = first time+run time;
通过以上几个步骤,就能保证时间不“倒流”。
注:以上只是针对流通性不高的软件的简单的防破解措施,对于通用软件,以上措施明显不适用。