软件注册原理

软件注册原理

ID:40888548

大小:39.00 KB

页数:8页

时间:2019-08-10

软件注册原理_第1页
软件注册原理_第2页
软件注册原理_第3页
软件注册原理_第4页
软件注册原理_第5页
资源描述:

《软件注册原理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

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

2、();getday=date.GetDay();year=atoi(last.Left(4));month=atoi(last.Mid(4,2));day=atoi(last.Right(2));然后您自己去发挥吧!次数可以在注册表里设置一个键值来判断,若有此键,则说明已经到期!一般情况下软件的注册是通过比较来实现的,也就是说软件本身就是注册机,因为他本身就有个真正的注册码,用他来和你所输入的注册码做比较。不过有的是明码比较有的是加密比较,以明码比较来说:我们已经知道了软件自己可能会产生注册码的有的在内

3、存中有的在软件中有的在注册表中,更有甚者是有个通用的万能注册码。输入注册码成功是因为软件中用了跳转,也就是说。当你输入的号码和真正的注册码比较完的时候有个跳转跳转分为一下几个类型若相等则跳若不相等则跳无条件跳若小于则跳若大于则跳若大于等于则跳若小于则跳若小于等于则跳②王有翦甘肃·西峰(745000)摘要:本文介绍了一种软件注册器的实现方案,并且提供了一崐个用C语言实现的例子。关键词:软件注册器加密IDE接口ThebasictheroyofsoftwareregisterandimplationWangY

4、oujianChinaPeopleBankXifengBranch,Xifeng·GanSu745000Abstract:Thisarticleintroducesthemethodof崐realizationofsoftwareregistrar,andprovidedaexampleofClanguage.Key:Softwareregistrar,encryption,IDEinterface*/目前,传统的磁盘加密和软件狗加密的技术,在层出不穷的解崐密工具的攻击下,已走到山穷水尽之地,很难对抗内

5、存驻留程序的崐动态仿真等解密技术。为了保护软件开发者的权益,出现了使用电崐脑中的ROM、CMOS等不容易改变且不同的机器上内容不同的信息进崐行密钥生成和检验的软件注册器加密办法,为软件的加密销售找到崐了一种新的途径。同时也出现了专门的软件注册器,广泛使用的崐CCED、数据通等软件使用的就是同一种软件注册器。一些早期软件注册器使用电脑的CMOS信息,使用户的硬件升级崐受到一定的限制。后来的软件注册器仅仅使用硬盘驱动器的一些信崐息,摆脱了对其它硬件依赖性,成为一种比较完善的加密方式。要让应用软件确认只有一个

6、硬盘是合法用户的硬盘,必须使用硬盘中的唯一性信息,这些信息不能受硬盘的分区和格式化等软件崐因素的影响。要得到这类信息,就要了解硬盘接口的种类及硬盘控崐制器的有关命令格式和返回值。广泛使用的IDE/EIDE接口硬盘中有崐一些ROM信息,可以用相应的硬盘控制命令读出,其中有一部分信崐息是具有唯一性的,可以用来生成密钥。一、软件注册器实现的软硬件基础要实现针对某一台机器或者某一块硬盘的软件注册,首先要在崐相关的硬件设备上选择适当的特征数据,利用这些数据生成硬件代崐码。可供选择的数据有主板上的ROM信息和硬盘上

7、的ROM信息等。其崐中硬盘的ROM信息使用相对方便。UCDOS的某些版本就使用电脑主板崐上的生产日期等信息来防止硬盘上软件的非法拷贝,造成主办升级崐后软件不能使用。目前绝大多数PC的硬盘使用的是IDE/EIDE接口。这种接口的数崐据传输速度快,集成度高,在电脑中广泛使用。386以上的电脑中崐使用的多功能卡和主板上集成了这种接口,IDE接口控制器提供了崐一些控制命令来完成硬盘的读/写/校验等操作。其中有一条硬盘测崐试命令-“0ECH”,我们可以用这条命令对硬盘控制器直接编程来崐得到硬盘的各种参数和信息。向

8、IDE控制器送入IDE控制命令可以按崐照下面的步骤:①向端口3F6写入控制字节,建立相应的硬盘控制方式;②检验硬盘控制器和驱动器的状态(检测端口的第7和第6两位),崐如果控制器空闲而且驱动器就绪,即可输入命令;③完整的输入7个字节长度的命令块,一次写入端口1F1H-1F7H,崐不论是否需要,端口1F1H-1F6H对应的前6个字节的参数必须读出,崐端口1F7H的输出命令码为“0ECH”;④检测端口1F7H的第7和第3两位,如果控制器空闲且第3

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。