基于硬盘号和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序列号的软件加密技术”文档源于网络本人编辑整理。本着保护作者知识产权的原则仅供学习交流请勿商用。如有侵犯作者权益请作者留言戒者发站内信息联系本人我将尽快删除。谢谢您的阅读不下载
legionbox怎么样?legionbox是一家来自于澳大利亚的主机销售商,成立时间在2014年,属于比较老牌商家。主要提供VPS和独立服务器产品,数据中心包括美国洛杉矶、瑞士、德国和俄罗斯。其中VPS采用KVM和Xen架构虚拟技术,硬盘分机械硬盘和固态硬盘,系统支持Windows。当前商家有几款大硬盘的独立服务器,可选美国、德国和瑞士机房,有兴趣的可以看一下,付款方式有PAYPAL、BTC等。...
青果云香港CN2_GIA主机测评青果云香港多线BGP网络,接入电信CN2 GIA等优质链路,测试IP:45.251.136.1青果网络QG.NET是一家高效多云管理服务商,拥有工信部颁发的全网云计算/CDN/IDC/ISP/IP-VPN等多项资质,是CNNIC/APNIC联盟的成员之一。青果云香港CN2_GIA主机性能分享下面和大家分享下。官方网站:点击进入CPU内存系统盘数据盘宽带ip价格购买地...
wordpress高级全行业大气外贸主题,wordpress通用全行业高级外贸企业在线询单自适应主题建站程序,完善的外贸企业建站功能模块 + 高效通用的后台自定义设置,更实用的移动设备特色功能模块 + 更适于欧美国外用户操作体验 大气简洁的网站风格设计 + 高效优化的网站程序结构,更利于Goolge等SEO搜索优化和站点收录排名。点击进入:wordpress高级全行业大气外贸主题主题价格:¥398...