基于硬盘号和CPU序列号的软件加密技术

来源 :网络与信息 | 被引量 : 0次 | 上传用户:gengyuefeng009
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:本文提供了一种注册码与计算机硬件参数相关的一种加密方法,并通过具体的实例讲述了如何对软件加密的方法。
  关键词:硬盘序列号;CPU号;注册表
  
  1 引言
  计算机软件是一种特殊的产品,为了防止软件的非法复制、盗版,保护软件开发商的利益,就必须对软件进行加密保护。采用基于硬盘号和CPU序列号的软件加密技术,软件会根据微机硬件参数给出该软件的序列号;用户需要把这一序列号用E-mail、电话或邮寄等方法寄给软件提供商或开发商,软件开发商利用注册机(软件)产生该软件的注册号寄给用户即可。它的注册信息与机器的硬件信息有关,不同于以前的序列号的注册方法,提高了软件的安全性。
  
  2 硬盘号与CPU号
  (1) 硬盘序列号: 英文名 Hard Disk Serial Number, 该号是出厂时生产厂家为区别产品而设置的, 是唯一的, 是只读的, 利用硬盘序列号的加密往往是利用其唯一和只读的特性。在有的加密软件中采用的是硬盘卷的序列号: 英文名 Volume Serial Number,以指硬盘的逻辑盘, 如: “C:”、“D:”等,是高级格式化时随机产生的, 是可以修改的,由于其可修改,所以利用其进行加密,对于安全而言就大打折扣了。 硬盘的卷号通过WINAPI函数,GetVolumeInformation即可获得。就IDE HDD而言, 对于没有序列号或SCSI HDD硬盘则无能为力,这也是利用它进行加密的局限性。
  (2) CPU序列号是一个建立在处理器内部的、唯一的、不能被修改的编号。它由96位数字组成。高32位是CPU ID,用来识别CPU类型。低64位每个处理器都不同,唯一地代表了该处理器。CPU号可以用来识别每一个处理器。为了适应这一新特征,Intel在处理中增加了两条指令(“读取”和“禁止”)和一个寄存器位(模式指定寄存器位:Model Specific Register一“MSR”)。读取指令扩展了CPUID读取指令。当执行读取指令时可以得到96位的处理器序列号。禁止指令可以禁止对处理器序列号的读取。为了配合CPU序列号的读取和禁止,设置了MSR位。当MSR位为“0”时可以读取CPU序列号;当MSR为“1”时只能读取高32位(即CPU ID)而低64位全为零。
  
  3 程序实现
  3.1 加密方法
  通过应用程序取得机器硬盘号和CPU号通过加密程序形成一个注册序列号,用户将这个注册序列号发送到软件注册者,软件注册者按照预定的算法生成注册码,然后将其发给用户,通过注册形成合法用户。软件每次启动时都到注册表或注册文件的相应位置读取注册码并与软件生成的注册码比较,一致则是合法用户,否则是非法用户。由于注册码与用户计算机的硬盘号和CPU号相关联,故其是唯一的,非法用户即使知道注册序列号与注册码也无法使用。
  3.2 实现过程
  (1) CPU号的读取
  硬盘的序列号只能采用对硬盘控制器直接操作的方式进行读取,也就是说只能采用CPU的I/O指令操作硬盘控制器,对于CPU号的读取采用了在DELPHI嵌入汇编的方法读取。其读取方法如下:
  MOV EAX,01H
  如果返回的EDX中,低18位为1,那么这个CPU就是支持序列号的。此时EAX就是序列号的高32位。这32位对同一型号的CPU是一样的。
  再执行:
  MOV EAX,03H
  此时的EDX:ECX就是序列号的第64位。
  (2) 硬盘号的读取
  硬盘号的读取通过CreateFile函数,CreateFile可以打开物理设备和串口等,使用CreateFile("\\\\.\\PHYSICALDRIVEI",…)打开硬盘,其中的I为0-255,其为需要读取的硬盘。命令如下:
  hDevice := CreateFile('\\.\PhysicalDrive0', GENERIC_READ or GENERIC_WRITE, FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, 0, 0)
  使用DeviceIoControl函数对打开的设备进行通信,发送指定命令,根据返回的PSENDCMDOUTPARAMS结构,得到物理序列号和模型号,把物理序列号和模型号格式化为一定的格式输出。
  (3) 对注册表的操作
  Delphi程序中可利用TRegistry对象来存取注册表文件中的信息。
  ①创建和释放TRegistry对象
  通过Create和Destroy来创建对象和释放内存。
  ②读取注册表中写入信息
  对于注册表数据的读取可采用ReadString、ReadInteger、ReadBinaryData等函数来读取字符串、数值、二进制值。
  ③向注册表中写入信息
  Write系列方法将信息转化为指定的类型,并写入注册表。
  对于注册表数据的写入可采用WriteString、WriteInteger、WriteBinaryDat来写入字符串、整数值、二进制值。
  
  4 结语
  本文给出了一种软件加密的方法,通过该方法产生的注册码与计算机的硬件相关,对于读取的硬盘号、CPU号可以通过MD5加密算法产生一个注册号,保证软件加密的可靠性,可有效地防止非法用户破解软注册码,保护软件的知识产权。
  
  参考文献
  [1]Delphi程序开发范例宝典[M].人民邮电出版社,2006.7:127-129.
  [2]Delphi2005从入门到精通[M].电子工业出版社,2006.4:373-376.
其他文献
摘要:互联网技术的迅猛发展,为网络课程开辟了广阔的发展空间。传统的教育机制受到了严重的挑战,新机制下的网络教学是大势所趋,使得基于Web技术的网络教学成为现代教育技术改革与发展的方向。本文主要讨论了在《办公自动化》课程中基于Web的网上自主性学习系统的建构与设计。  关键词:网络教育;自主性学习;教学模式    随着计算机网络技术的发展,人类进入了信息社会,而网络与教育的结合,将彻底改变传统的教育
期刊
摘要:本文试图改革以教授软件的用法为主要内容的教学方式,把该软件的学习作为一个作品产生的中间过程来全面考虑,从而提高学生的学习积极性和有效性,从而帮助学生获得一门立身之技术。  关键词:Photoshop;图像处理;教学改革  中图分类号:TP317文献标识码:A    Photoshop是一个能进行图像处理和平面设计的软件,也是大部分职业院校都开设的一门课程。然而,会使用Photoshop的多,
期刊
摘要:总认为程序设计是软件工作人员的基本功,但现在在高等学校,一般也都根据不同的需要选用不同的程序设计课程。其中C语言作为一门程序语言基础课,由于其功能强、使用灵活等优点受到广泛的欢迎。也就是说C语言已经成为了学习程序设计语言的一个必要的基础。笔者根据多年的教学经验,对如何学好C语言进行了探讨。  关键词:C语言;数据结构:算法    1、引言    经过这些年的教学和实践,我深深地体会到C语言对
期刊
摘要:本文介绍了DSS决策支持系统相关理论及决策的意义。决策者依据决策来指导工作,预测本部门事业未来,高效地控制企事业行为,帮助部门实现规划目标。同时也分析了运筹学与决策的关系。模型与决策的关系,以及构造决策系统的方法。  关键词:信息管理系统;决策支持系统;运筹学;建模与求解    1、引言    数字计算机应用于管理领域,主要是进行数据处理和编制报表,实现数据库管理办公自动化。通常把这类系统所
期刊
迈拓硬盘回来了!继国际知名存储厂商希捷斥巨资并购迈拓(Maxtor)之后,迈拓品牌在移动存储领域再次焕发新的活力。秉承迈拓“钻石”系列硬盘的优质品牌,全新上市的迈拓银钻系列移动硬盘,带来了前所未有的大厂品质和超高性价比,其率先上市的80GB新品迅速成为移动存储用户的首选。  作为希捷进军移动存储市场的新型产品,迈拓银钻80GB移动硬盘采用了迈拓移动硬盘一贯时尚、经典的造型设计。银灰色的外观尽显大气
期刊
数码摄像机按存储介质分类,可分为磁带型、DVD光盘型、硬盘型以及闪存型。消费者更偏爱于哪种类型的数码摄像机呢?从以下的调查结果中可以看到,硬盘型数码摄像机普遍受到欢迎,占到被调查人群的42.04%,已逐渐成为市场主流选择。而传统磁带次之,占到被调查人群的22.11%。闪存和DVD光盘型则分列其后,分别占到19.28%和16.56%。    硬盘DV 主流选择  硬盘式DV是近两年迅速发展起来的一种
期刊
焦点    盖茨与乔布斯历史性聚首  据国外媒体报道,两大科技行业的传奇人物——微软董事长比尔·盖茨和苹果CEO史蒂夫·乔布斯近日历史性地聚到了一起,共同出席《华尔街日报》举办的“D:彻底数字化”活动。  盖茨和乔布斯首先互致问候,称赞对方为科技行业的发展做出了巨大贡献。乔布斯表示:“比尔打造了全行业第一家真正意义上的软件公司,他比任何人都更早地认识到软件的重要性。”盖茨则盛赞乔布斯勇于承担风险,
期刊
项目背景    随着互联网对社会生产生活各个领域的影响逐步深入,办公信息化也已成为衡量很多行业现代化程度的重要标志。与此同时,信息安全问题日益突出,特别是对于政府机构而言,能否保证政府办公网络的安全,是关系国家安全的重大问题。当前,病毒的泛滥、蠕虫的威胁以及间谍软件和黑客的侵袭,严重威胁着政府办公系统的信息安全。加强网络安全管理,提高政府办公效率,保证政府信息安全已经成为当务之急。  某市国土局在
期刊
ACCESS和SQL Server都是我们常用的数据库软件。有时候我们需要把Access中的数据库转到Sql Server中,但由于两种数据库在设计、格式等方面的不同,导致在转化的过程中往往会发生一些问题。这里,我们介绍一些常见问题的解决方法。  为了确保记录的唯一性,在ACCESS数据库中我们会将某些类型设置为自动编号类型。但转入到sql server时,并没有将它设为自动编号型。这时候我们需要
期刊
聊之初,性本善,打打字,谈谈天。然而,随着互联网技术的不断升级,视频聊天、live show成了当下新新人类最火热的聊天方式和在线生活方式。现在从google或baidu搜索视频聊天,充斥着扑面而来的激情和出位事件,或是铺天盖地的娱乐八卦和生活杂耍。是什么让视频如此火爆?是什么让人们欲罢不能?“见光死”之后,网友之间又用了怎样的方式来保持 “犹抱琵琶半遮面”的魅力?    都秀网络科技(http:
期刊