软件注册码的原理是什么?怎么实现?

来源:百度知道 编辑:UC知道 时间:2024/04/29 19:24:01
有的软件别人给你一个注册码,这个软件就可以使用,这个软件是怎么判断这个注册码是否正确,要是以计算机硬件(如主板,网卡,硬盘)的唯一序列号作为注册源的话,别人也不知道你的计算机硬件呀,还有什么注册的方法?

注册码的原理:
一般是以计算机硬件(如主板,网卡,硬盘)的唯一序列号作为注册源,通过一定的算法(即注册机)来形成所谓的注册码!
一般的程序通过在程序中设置一个全局变量来进行注册码的记录;
时间的实现:
CString last = "2002/02/20";
int year,month,day,getyear,getmonth,getday;
CTime date = CTime::GetCurrentTime();

getyear = date.GetYear();
getmonth = date.GetMonth();
getday = date.GetDay();

year = atoi(last.Left(4));
month = atoi(last.Mid(4,2));
day = atoi(last.Right(2));

然后您自己去发挥吧!

次数可以在注册表里设置一个键值来判断,若有此键,则说明已经到期!

一般情况下软件的注册是通过比较来实现的,也就是说软件本身就是注册机,因为他本身就有个真正的注册码,用他来和你所输入的注册码做比较。不过有的是明码比较有的是加密比较,
以明码比较来说:我们已经知道了软件自己可能会产生注册码的有的在内存中有的在软件中有的在注册表中,更有甚者是有个通用的万能注册码。
输入注册码成功是因为软件中用了跳转,也就是说。当你输入的号码和真正的注册码比较完的时候有个跳转
跳转分为一下几个类型
若相等则跳
若不相等则跳
无条件跳
若小于则跳
若大于则跳
若大于等于则跳
若小于则跳
若小于等于则跳