你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 计算机安全与维护
在VC中实现软件版权保护的几种方法(三)
 

BOOL IsOverTime(int nYear,int nMonth,int nDate)

{

    SYSTEMTIME st;GetSystemTime(&st);

    if(st.wYear>nYear)return TRUE;

    else if(st.wYear<nYear)return FALSE;

    else    {   if(st.wMonth>nMonth)        { return TRUE;}

        else    {  if(st.wMonth==nMonth&&st.wDay>nDate)return TRUE;}

    }   return FALSE;

}

如果您前移了机器时间则将终止时间nYear=-1并写入“c:\\muxuanshe.sys”,软件以后终止运行!

另一种情况是对于正常的剩余时间计算:IsOverTime(nYear,nMonth,nDate),不再赘述,具体实现请参见例子代码。

这里介绍的方法主要是要注意存放时间的文件要保密,如果知道了时间存放位置,那么时间限制就很容易被解除。也可以用其他更为稳妥的方法将将时间存放,比如存放在注册表中。

3  根据机器码实现软件注册

机器码指与计算机硬件(cpu、网卡、硬盘)有关的串号,如硬盘序列号、MAC地址等,编写软件的人常用机器码作为产生软件序列号的依据,目的是区分用户,确保自己的软件使用受控。下面通过读取用户计算机硬盘卷序列号,经一定的加密算法进行换算后,返回给用户一个产品注册码,由于硬盘卷序列号是惟一的,提供的产品注册码也是惟一的,用户利用该注册码通过验证后获得软件全部功能。

在笔者的编程实践发现有时候由于所使用的函数不正确,常常不能正确获取到硬盘的序列号,这里就这一问题进行讨论。

  推荐精品文章

·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录
·2023年10月目录
·2023年9月目录 
·2023年8月目录 

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089