在開發商業軟件的時候,需要給軟件添加一個使用期限的功能。
在不聯網的情況下,如何能夠保證軟件不那麼容易就被“破解”?
思路:
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;
通過以上幾個步驟,就能保證時間不“倒流”。
注:以上只是針對流通性不高的軟件的簡單的防破解措施,對於通用軟件,以上措施明顯不適用。