基于硬盘号和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序列号的软件加密技术”文档源于网络本人编辑整理。本着保护作者知识产权的原则仅供学习交流请勿商用。如有侵犯作者权益请作者留言戒者发站内信息联系本人我将尽快删除。谢谢您的阅读不下载
justhost.ru官方来消息说已经对网络进行了比较全面的优化,针对中国电信、联通、移动来说,4个机房总有一个适合中国用户,让站长进行一下测试,这不就有了这篇有关justhost的VPS的第四次测评。本帖主要关注的是网络,对于其他的参数一概不管! 官方网站:https://justhost.ru 最低配VPS:8.3元/月,KVM,512M内存,5G硬盘,200M带宽,不限流量 购买链接:...
炭云怎么样?炭云(之前的碳云),国人商家,正规公司(哈尔滨桓林信息技术有限公司),主机之家测评介绍过多次。现在上海CN2共享IP的VPS有一款特价,上海cn2 vps,2核/384MB内存/8GB空间/800GB流量/77Mbps端口/共享IP/Hyper-v,188元/年,特别适合电信网络。有需要的可以关注一下。点击进入:炭云官方网站地址炭云vps套餐:套餐cpu内存硬盘流量/带宽ip价格购买上...
wordpress高级企业自适应主题,通用型企业展示平台 + 流行宽屏设计,自适应PC+移动端屏幕设备,完美企业站功能体验+高效的自定义设置平台。一套完美自适应多终端移动屏幕设备的WordPress高级企业自适应主题, 主题设置模块包括:基本设置、首页设置、社会化网络设置、底部设置、SEO设置; 可以自定义设置网站通用功能模块、相关栏目、在线客服及更多网站功能。点击进入:wordpress高级企业...