基于硬盘号和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序列号的软件加密技术”文档源于网络本人编辑整理。本着保护作者知识产权的原则仅供学习交流请勿商用。如有侵犯作者权益请作者留言戒者发站内信息联系本人我将尽快删除。谢谢您的阅读不下载
HostKvm 商家我们算是比较熟悉的国内商家,商家主要还是提供以亚洲数据中心,以及直连海外线路的服务商。这次商家有新增香港和俄罗斯两个机房的高防服务器方案。默认提供30GB防御,且目前半价优惠至4.25美元起步,其他方案的VPS主机还是正常的八折优惠。我们看看优惠活动。香港和俄罗斯半价优惠:2021fall,限购100台。通用优惠码:2021 ,八折优惠全部VPS。我们看看具体的套餐。1、香港高...
inlicloud怎么样?inlicloud(引力主机)主要产品为国内NAT系列VPS,目前主要有:上海联通NAT(200Mbps带宽)、宿州联通NAT(200Mbps带宽)、广州移动NAT(200Mbps带宽)。根据官方的说法国内的NAT系列VPS不要求备案、不要求实名、对中转要求也不严格,但是,禁止任何形式的回国!安徽nat/上海联通/广州移动/江门移动nat云主机,2核1G/200Mbps仅...
香港最便宜的vps要多少钱?最便宜的香港vps能用吗?香港vps无需备案,整体性能好,而且租用价格便宜,使用灵活,因为备受站长喜爱。无论是个人还是企业建站,都比较倾向于选择香港VPS。最便宜的香港vps能用吗?正因为有着诸多租用优势,香港VPS在业内颇受欢迎,租用需求量也在日益攀升。那么,对于新手用户来说,香港最便宜的vps租用有四大要点是务必要注意的,还有易探云香港vps租用最便宜的月付仅18元...