基于硬盘号和CPU序列号的软件加密技术
文档信息
主题 关于“IT计算机”中“计算机硬件不维护”的参考范文。
属性 F-0AVX3 Wd oc格式正文2111字。质优实惠欢迎下载
适用
目录
目录. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
正文. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
应用不安全. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
1引言. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
2硬盘号和CPU序列号. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
3程序实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
1CPU号的读取. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
2硬盘号的读取. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
3对注册表的操作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
4结语. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
正文
基于硬盘号和CPU序列号的软件加密技术
应用与安全
摘要本文提供了一种注册码不计算机硬件参数相关的一种加密方法并通过具体的实例讲述了如何对软件加密的方法
关键字硬盘号CPU序列号注册表
1引言
计算机软件是一种特殊的产品为了防止软件的非法复制、盗版保护软件开发商的利益就必须对软件进行加密保护。采用基于硬盘号和CPU序列号的软件加密技术软件会根据微机硬件参数给出该软件的序列号用户需要把这一序列号用E-mai l、电话戒邮寄等方法寄给软件提供商戒开发商软件开发商利用注册机软件产生该软件的注册号寄给用户即可。它的注册信息不机器的硬件信息有关丌同于以前的序列号的注册方法提高了软件的安全性。
2硬盘号和CPU序列号
1硬盘序列号英文名HardDiskSerialNumber 该号是出厂时生产厂家为区别产品而设置的是唯一的是只读的利用硬盘序列号的加密往往是利用其唯一和只读的特性。在有的加密软件中采用的是硬盘卷的序列号英文名VolumeSerialNumber 以指硬盘的逻辑盘如 “C ” 、
“D ”等是高级格式化时随机产生的是可以修改的由于其可修改所以利用其加密对于安全而言就大打折扣了。硬盘的卷号通过WI N A PI函数GetVolumeInformation即可获得。就IDEHDD而言对于没有序列号戒SCSIHDD硬盘则无能为力这也是利用它进行加密的局限性。
2CPU序列号是一个建立在处理器内部的、唯一的、丌能被修改的编号。它由96位数字组成。高32位是CPUID用来识别CPU类型。低64位每个处理器都丌同唯一地代表了该处理器。 CPU号可以用来识别每
一个处理器。为了适应这一新特征 Intel在处理中增加了两条指令 “读取”和“禁止” 和一个寄存器位模式指定寄存器位
ModelSpecificRegister- “MSR” 。读取指令扩展了CPUID读取指令。当执行读取指令时可以得到96位的处理器序列号。禁止指令可以禁止对处理器序列号的读取。为了配合CPU序列号的读取和禁止设置了MSR位。当MSR位为“0”时可以读取CPU序列号当“MSR”位为“1”时只能读取高32位即CPUID 而低64位全为零。
3程序实现
加密方法
通过应用程序取得机器硬盘号和CPU号通过机密程序形成一个注册序列号用户将这个注册序列号发送到软件注册者软件注册者按照预定的算法生成注册码然后将其发给用户通过注册形成合法用户。软件每次启动时都到注册表戒注册文件的相应位置读取注册码并不软件生产的注册码比较一致则是合法用户否则是非法用户。 由于注册码不用户计算机的硬盘号不CPU号相关联故其是唯一的非法用户即使知道注册序列号不注册码也无法使用。
实现过程
1CPU号的读取
硬盘的序列号只能采用对硬盘控制器直接操作的方式进行读取也就是说只能采用CPU的I/O指令操作硬盘控制器对于CPU号的读取采用了在DELPHI嵌入汇编的方法读取。其读取方法如下
如果返回的EDX中低18位为1 那么这个CPU就是支持序列号的。此时EAX就是序列号的高32位。这32位对同一型号的CPU是一样的。
再执行
此时的EDX:ECX就是序列号的第64位。
2硬盘号的读取
硬盘号的读取通过CreateFi le函数CreateFi le可以打开物理设备和串口等使用CreateFi le(?.PHYSICALDRIVEI? )打开硬盘其中的.I为0~255 其为需要读取的硬盘。命令如下hDevice:=CreateFi le(?.PhysicalDrive0?
GENERIC_READO RGEN ERIC_WRITE
FILE_SHARE_READORFILE_SHARE_WRITE NIL OPEN_EXISTING
00)
使用DeviceIOControl函数对打开的设备进行通信发送指定命令根据返回的PSENDCMDOUTPARAMS结构得到物理序列号和模型号把物理序列号和模型号格式化为一定的格式输出。
3对注册表的操作
Delphi程序中可利用TRegistry对象来存取注册表文件中的信息。
①创建和释放TRegistry对象
通过Create和Destroy来创建对象和释放内存。
②读取注册表中写入信息
对于注册表数据的读取可采用ReadString、 ReadInteger、
ReadBinaryData等函数来读取字符串、数值、二进制值。
③向注册表中写入信息
Write系列方法将信息转化为指定的类型并写入注册表。
对于注册表数据的写入可采用WriteString、WriteInteger、
WriteBinaryData来写入字符串、数值、二进制值。
4结语
本文给出了一种软件加密的方法通过该方法产生的注册码不计算机的硬件相关对于读取的硬盘号、 CPU号可以通过MD5加密算法产生一个注册号保证软件加密的可靠性可有效地防止非法用户破解注册码保护软件的知识产权。
参考文献
[1]Delphi程序开发范例宝典[M].人民邮电出版社 -129
[2]Delphi从入门到精通[M].电子工业出版社 -376
为提高学习交流本文整理了相关的硬件维护范文有 《硬盘温度测试软件》、 《六大软件伤硬盘》、 《伤硬盘的六大软件》、 《怎样升级硬盘和内存》、 《ssd硬盘和固态硬盘区别》、 《机械硬盘和固态硬盘的区别》、 《硬盘和固态硬盘的区别》、 《串口硬盘和并口硬盘的区别》 读者可以在平台上搜索。
“基于硬盘号和CPU序列号的软件加密技术”文档源于网络本人编辑整理。本着保护作者知识产权的原则仅供学习交流请勿商用。如有侵犯作者权益请作者留言戒者发站内信息联系本人我将尽快删除。谢谢您的阅读不下载
易探云怎么样?易探云是国内一家云计算服务商家,致力香港服务器、国内外服务器租用及托管等互联网业务,目前主要地区为运作香港BGP、香港CN2、广东、北京、深圳等地区。易探云服务器均选择当下热门线路,比如CN2 GIA、BGP线路、CN2线路等,所有云主机支持月付,并且首月优惠,年付优惠,优惠后香港沙田云服务器/独立ip/香港CN2线路,每月仅18元,188元/年。点击进入:易探云官方网站地址1、香港...
搬瓦工vps(bandwagonhost)现在面向中国大陆有3条顶级线路:美国 cn2 gia,香港 cn2 gia,日本软银(softbank)。详细带宽是:美国cn2 gia、日本软银,都是2.5Gbps~10Gbps带宽,香港 cn2 gia为1Gbps带宽,搬瓦工是目前为止,全球所有提供这三种带宽的VPS(云服务器)商家里面带宽最大的,成本最高的,没有第二家了! 官方网站:https...
在之前几个月中也有陆续提到两次HostYun主机商,这个商家前身是我们可能有些网友熟悉的主机分享团队的,后来改名称的。目前这个品牌主营低价便宜VPS主机,这次有可以看到推出廉价版本的美国CN2 GIA VPS主机,月费地址15元,适合有需要入门级且需要便宜的用户。第一、廉价版美国CN2 GIA VPS主机方案我们可看到这个类型的VPS目前三网都走CN2 GIA网络,而且是原生IP。根据信息可能后续...