基于硬盘号和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序列号的软件加密技术”文档源于网络本人编辑整理。本着保护作者知识产权的原则仅供学习交流请勿商用。如有侵犯作者权益请作者留言戒者发站内信息联系本人我将尽快删除。谢谢您的阅读不下载
美得云怎么样?美得云好不好?美得云是第一次来推广软文,老板人脾气特别好,能感觉出来会用心对待用户。美得云这次为大家提供了几款性价比十分高的产品,美国cera 2核4G 15元/月 香港1核 1G 3M独享 15元/月,并且还提供了免费空间给大家使用。嘻嘻 我也打算去白嫖一个空间了。新用户注册福利-8折优惠码:H2dmBKbF 截止2021.10.1结束。KVM架构,99.99%高可用性,依托BGP...
有在六月份的时候也有分享过新网域名注册商发布的域名促销活动(这里)。这不在九月份发布秋季域名促销活动,有提供年付16元的.COM域名,同时还有5个+的特殊后缀的域名是免费的。对于新网服务商是曾经非常老牌的域名注册商,早年也是有在他们家注册域名的。我们可以看到,如果有针对新用户的可以领到16元的.COM域名。包括还有首年免费的.XYZ、.SHOP、Space等等后缀的域名。除了.COM域名之外的其他...
需要提前声明的是有网友反馈到,PacificRack 商家是不支持DD安装Windows系统的,他有安装后导致服务器被封的问题。确实有一些服务商是不允许的,我们尽可能的在服务商选择可以直接安装Windows系统套餐,毕竟DD安装的Win系统在使用上实际上也不够体验好。在前面有提到夏季促销的"PacificRack夏季促销PR-M系列和多IP站群VPS主机 年付低至19美元"有提到年付12美元的洛杉...