| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2707 人关注过本帖
标题:深入了解一下软件注册的实现
只看楼主 加入收藏
303770957
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:838
专家分:2125
注 册:2005-9-10
收藏
 问题点数:0 回复次数:5 
深入了解一下软件注册的实现
    使用别人编写的软件一般都是需要注册的,尤其是那些比较商业化的软件,需要获得软件注册码才能够正常使用。那么软件的注册码是如何形成与实现的呢?我以为大致可以分为以下几种:
1.根据机器码生成注册码
    通过这种方式注册软件需要软件使用方提供必需的机器码,这个机器码是软件开发商根据软件使用者电脑自身的硬件(参数)情况结合某种加密算法自动生成的,然后将注册码发送给使用者注册到软件中,注册之后软件就会被激活。
    例如:某XX软件的机器码是:123(这个机器码可以在软件的注册对话框中得到。)然后将这个123发给软件开发商,开发商通过某种加密算法(比如说将机器码123加上100得到的223作为注册码。)生成注册码发送给使用方。
    当然我例子中的机器码和注册码过于简单。一般机器码可以是将主板序列号、CUP序列号、网卡Mac地址、硬盘序列号、磁盘序列号、IPV6地址、磁盘容量等等,这些机器自身固有的序列号按照某种方式组合后再使用某种加密方式进行加密得到的。
    还有一个问题需要说明的是:软件是如何判断输入的注册码是否正确?这个问题并不复杂,实际上当某个软件在你的机器上运行之后它会自动收集你机器上的固有信息形成机器码并以对话框的形式告诉你,这个时候软件实际上已经通过这个机器码算好了注册码是多少了,但是并没有告诉你。只是等待你输入的注册码,然后判断是否和它自己算好的注册码一样,如果一样的话说明是正确的注册码,软件当即被激活。
    由于机器码中含有机器自身的信息,所以通过这种方式可以限制软件被移植到其他机器上运行。也就是说XX软件在这台机器上用223这个注册码注册后可以被激活,而移植到另一台机器上运行223这个注册码就认为是错误的注册码。为什么会发生这种情况?是因为机器码的原因,但是最根本原因在于每台电脑的主板序列号、CUP序列号、网卡Mac地址、硬盘序列号、磁盘序列号、IPV6地址、磁盘容量等等这些机器自身固有的序列号信息都不一样,就像每个人的指纹都不近相同道理一样,正是由于存在此种原因造成产生的机器码也是不一样的,故而用机器码产生的注册码也不一样。
    通过这种方式对软件的使用进行限制,不仅可以做到在不同机器上运行同一款软件的注册码不同,还可以做到在同一台机器不同硬盘的情况下运同一款软件的注册码会不相同,甚至还可以做到在同一台机器同一块硬盘不同联网状态的情况下运行同一款软件的注册码也会不一样。
2.根据时钟产生注册码
    通过这种方式注册软件不需要软件使用者提供机器码,软件使用者只需向开发商索取注册码即可激活软件。这种方式的基本原理是将时钟进行加密产生的注册码注册到软件中,然后和软件运行时的时钟进行比较,如果大于等于说明注册码没有过期,如果小于软件运行时钟说明注册码过期了软件立即被锁定,这种方式可以限制软件使用的时间。比如,一个月需要注册一次还是一年需要注册一次,具体情况要看注册码中加密信息是多长时间,这种方式对机器的具体情况不加限制,移植性比较好。可以说在某个时间段内一次注册到处运行。这种方式造成的结果就是注册码泛滥,在网上尽情搜索注册码只要注册成功就万事大吉。至少是可以使用一段时间吧!有人说可以通过修改系统时钟来防止软件注册码过期。当然,如果开发商的时钟加密的不好或者是处理的方式不妥当,这样投机取巧的事情是时有发生的,呵呵!不过一般是不会的,现在的加密方式太多了(如果你感兴趣的话可以到网上搜一搜了解一下)而且开发商精明的不得了,岂能不知道这样的事情呢,肯定防着你呢!
3.在注册表中存入某个值限制软件使用次数
    这种方式不太可靠,一旦存入数值的地方被使用者发现,就达不到限制的目的。再说了要是注册过的软件不应该去限制使用次数,这个使用次数没办法去衡量,现在很少使用这种方式。只是作为一种手段被大多数软件开发商所利用,他们通常经过限制用户使用软件的次数来诱惑使用者尽早注册软件。这种方式原理简单且可靠性差,所以不必太深入研究。
4.文件覆盖的方式
   这种方式是在用户安装好软件之后,覆盖安装目录下的某个文件以达到注册的目的,可以是短期的也可以是长期的也就是一次注册(永久注册)和多次注册。原理和1,2,3种方式类似,只是注册手段略有不同,这里不再详细讨论。
5.综合型注册码
   所谓综合型注册码,就是综合上述4种方式产生一种比较理想的注册方式,汲取精魄舍去糟粕获得一种更好的注册方式。这种形成注册码的方式就要看开发商的水平了,水平高了注册码短而实用,水平低了注册码长而不实用。当然任何形式的注册码,只要你是软件开发商换句话说如果这个软件的注册工作是你做的,你都可以破解。如果你不是那可就难说了看你的本事了,呵呵!
   总结:我认为好一点的注册方式是以机器码生成软件注册码的方式为核心,然后再结合时钟注册方式和次数限定方式,从这几个方面入手去考虑软件的注册最优。不要怕麻烦,这样做的好处是对使用者的限制比较多。更好的可以做到同一款软件在同一台机器同一个安装路径同一个磁盘容量不同时间段和不同联网状态甚至不同IP地址、不同网速的情况下运行,所需要的注册码都是不一样的,这样能更好的控制软件的使用,保护软件的版权,防止盗版!

结语:最近一直在不间断的写着同一个软件,自己很努力但是还有好多不知道的知识需要去学习。学习是需要时间来保证的,如果投入的时间不够,你是学不到更深入的东西的。写软件太累人了经常熬通宵,幸好偶的身体还能熬得住要不然早就垮了。其中的乐趣也只有你亲自去尝试了才知道,呵呵,其乐无穷!快过年了,偶写的软件已经成型了,自己也感到很欣喜!这几天是白天没精神晚上精神十足,自己的时钟整个颠倒了。虽然累,但是更多的想的是自己今后的何去何从,翻过年就跨入虎年了,自己人生道路的方向在何处,我应该怎样朝着下一个目标去努力。
     随着时间的流逝,身边与我年龄相仿的亲朋好友还有同学,一个个都结婚了从此告别了单身的生活,开始了一个有人牵挂和牵挂有人的新生活,那将是怎样的一个生活方式呢?没结过婚,不知道,偶体会不到。我能做的就是祝福他们,祝福他们生活美满,身体健康,万事如意,平平安安。年龄也不小了该找个好女孩成家了,可是我人生的另一半在哪里呢,她知道我的存在么?我自己也很迷茫。
     亲爱的朋友们,要过年,祝福你们在新的一年里有更多的收获更大的进步,祝福你们工作顺利万事如意,祝福你们身体健康平平安安,祝福你们来年有更多的Money进入你们的口袋之中。亲爱的朋友们祝福你们!
     Happy  New  Year!



[ 本帖最后由 303770957 于 2010-2-14 22:02 编辑 ]
搜索更多相关主题的帖子: 注册 软件 
2010-02-14 22:01
静夜思
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:济南的冬天
等 级:管理员
威 望:11
帖 子:8902
专家分:2567
注 册:2004-3-25
收藏
得分:0 
Happy  New  Year!

畅所欲言
2010-02-16 22:32
luxiaocheng
Rank: 2
等 级:论坛游民
帖 子:58
专家分:80
注 册:2009-3-31
收藏
得分:0 
  随着时间的流逝,身边与我年龄相仿的亲朋好友还有同学,一个个都结婚了从此告别了单身的生活,开始了一个有人牵挂和牵挂有人的新生活,那将是怎样的一个生活方式呢?没结过婚,不知道,偶体会不到。我能做的就是祝福他们,祝福他们生活美满,身体健康,万事如意,平平安安。年龄也不小了该找个好女孩成家了,可是我人生的另一半在哪里呢,她知道我的存在么?我自己也很迷茫。


精辟
2010-02-16 23:08
303770957
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:838
专家分:2125
注 册:2005-9-10
收藏
得分:0 
呵呵

♂ 死后定当长眠,生前何须久睡。♀
2010-02-27 22:08
303770957
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:838
专家分:2125
注 册:2005-9-10
收藏
得分:0 
太忙了,好长时间没来了.

♂ 死后定当长眠,生前何须久睡。♀
2010-07-06 08:16
hxjerry2008
Rank: 1
等 级:新手上路
帖 子:8
专家分:7
注 册:2013-11-1
收藏
得分:0 
执着中还是要养好根基,要注意休息呀
2013-11-03 17:21
快速回复:深入了解一下软件注册的实现
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017676 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved