您的位置 首页 硬件

经过LabVIEW获取硬盘序列号

这类的帖子很多,不过差不多都是通过调用动态链接库实现的。准确的说实现获取硬盘序列号的工作是由其他语言编写的DLL来实现的。今天我的这

这类的帖子许多,不过差不多都是经过调用动态链接库完结的。精确的说完结获取硬盘序列号的作业是由其他言语编写的DLL来完结的。今日我的这比如不必调用动态链接库,直接由LabVIEW来获取硬盘的序列号。

这种办法在一个论坛上看见过,本想参阅参阅,不过楼主把VI加密了,干脆自己做一个和咱们同享,评论评论。
本程序读取的是硬盘的物理序列号,不同于DLL调用的办法,本办法获取的是硬盘仅有真实物理ID(是固化在硬盘BISO里的SN不是分区的SN),不会呈现重复,也不或许被修正(或者说难度很大,并且还有风险,网上看到过说一个叫PC-3000的能够修正,没有测验过,有哪位胆大拿自己硬盘实验一下,把成果同享一下吧)。可用在软件加密中。
1、原理
咱们知道,硬盘相对于CPU来说归于外部设备,而CPU拜访外部设备其实便是对外部IO的端口操作,这是硬盘的底层操作,对硬盘的任何操作都能够的,这样只需咱们搞清楚怎么经过IO指令对硬盘操作和硬盘物理序列号寄存的寄存器就能够轻松读取咱们所要的硬盘物理序列号了。下面是从网络上收集的一些材料。
硬盘读写端口的具体意义
对硬盘进行操作的常用端口是1f0h~1f7h号端口,各端口意义如下:
端口号 读仍是写 具体意义
1F0H 读/写 用来传送读/写的数据(其内容是正在传输的一个字节的数据)
1F1H 读 用来读取过错码
1F2H 读/写 用来放入要读写的扇区数量
1F3H 读/写 用来放入要读写的扇区号码
1F4H 读/写 用来寄存读写柱面的低 8位字节
1F5H 读/写 用来寄存读写柱面的高 2位字节(其高 6位恒为 0)
1F6H 读/写 用来寄存要读/写的磁盘号及磁头号
第 7位 恒为 1
第 6位 恒为 0
第 5位 恒为 1
第 4位 为 0代表榜首块硬盘、为 1代表第二块硬盘
第3~0位 用来寄存要读/写的磁头号
1f7H 读 用来寄存读操作后的状况
第 7位 操控器繁忙
第 6位 磁盘驱动器预备好了
第 5位 写入过错
第 4位 查找完结
第 3位 为 1时扇区缓冲区没有预备好
第 2位 是否正确读取磁盘数据
第 1位 磁盘每转一周将此位设为1,
第 0位 之前的指令因产生过错而完毕
写 该位端口为指令端口,用来宣布指定指令
为50h 格式化磁道
为20h 测验读取扇区
为21h 无须验证扇区是否预备好而直接读扇区
为22h 测验读取长扇区(用于前期的硬盘,每扇或许不是 512字节,而是128字节到1024
之间的值)
为23h 无须验证扇区是否预备好而直接读长扇区
为30h 测验写扇区
为31h 无须验证扇区是否预备好而直接写扇区
为32h 测验写长扇区
为33h 无须验证扇区是否预备好而直接写长扇区
上面是磁盘0的指令,下面是磁盘1的
171H 1号硬盘过错寄存器
172H 1号硬盘数据扇区计数
173H 1号硬盘扇区数
174H 1号硬盘柱面(低字节)
175H 1号硬盘柱面(高字节)
176H 1号硬盘驱动器/磁头寄存器
177H 1号硬盘状况寄存器
2、操作
知道硬盘的IO操作指令了,下面便是怎么在LabVIEW里去完结这些指令了。这方面LabVIEW供给了现成的操作指令。他们便是读端口和写端口。

接下来的作业就很简略了。大致流程便是下面这样了:
2.1等候硬盘安排妥当
2.2发送指令
; 假如向主操控发送指令,则端口为 1f0h-1f7h
; 假如向副操控发送指令,则端口为 170h-177h
; 1f6h 假如要检测的设备为该IDE接口的主(MASTER)设备,
那么发送 a0,假如为从那么发送 b0
; 1f7h 假如要检测的设备为 ATA 设备那么发送 ec
假如为 ATAPI 设备那么发送 a1
2.3等候硬盘安排妥当
2.4将回来信息读回
; 留意一定要读满 100h 个字长。也便是寄存器中的一切信息
2.5回来的信息中,类型、序列号、版别号为字方式
; 需求整理到字符串的方式
3、代码及前面板

留意:此程序只在XP下对并口硬盘做了测验。对串口(SATA)硬盘的测验失利。VISTA下因为安全原因或许会被制止,请将程序维护的选项去除。这个没有具体测验,期望安装了VISTA体系的朋友测验一下,把成果同享出来。
上面图即为程序的悉数代码。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/yingjian/214861.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部