fgde 发表于 2009-5-19 14:25:47

通过LabVIEW获取硬盘序列号(非DLL)

本帖最后由 fgde 于 2009-6-30 12:54 编辑

前几天做的,和大家分享一下。发布在百度空间了。懒得再写一边了。
感兴趣的朋友到去看看吧
       本程序读取的是硬盘的物理序列号,不同于DLL调用的方法,本方法获取的是硬盘唯一真正物理ID(是固化在硬盘BISO里的SN不是分区的SN),不会出现重复,也不可能被修改(或者说难度很大,而且还有危险,网上看到过说一个叫PC-3000的可以修改,没有尝试过,有哪位胆大拿自己硬盘试验一下,把结果共享一下吧)。可用在软件加密中。
   程序见12楼。

fgde 发表于 2009-6-23 10:13:54

有用过的朋友吗?提点建议。

HHHHLLLL 发表于 2009-6-23 11:20:35

虽然SN都是写在ROM里,我个人认为改是可以改的,但绝对不是可以改为任意的SN。因为ROM是一次性的存储器,改也只能够在还没“烧断”的位里改,比如原来的系列号的机器码是 1101,假如“0”是烧断的逻辑,那么后改者不可能把它改成XX1X,所以,用这样的方法来实现改SN来匹配某个KEY,那几率是千万分之几的事了。当然,替换一个新的固体,再烧入SN,那又是另外一回事了,但往往这个技术成本高,风险也大。

lgh269 发表于 2009-6-23 11:30:21

SN即然是烧进去了,改是肯定的,另外软件加密单SN是行不通了,黑客技术是不可估量的

另外楼主的方法原理挺好,可以扩展下大家的看法,
实现是多种多样的,如附件就是两种不同的方法实现

HHHHLLLL 发表于 2009-6-23 12:04:28

要获取硬件的SN,其实在注册表里它们所有信息都有
HLM\Hardware\DevicEMAP......

fgde 发表于 2009-6-24 19:41:02

lgh269 程序做了处理了,不能看到源码,不知道实现原理。硬件信息只是加密的一部分而已。另外HHHHLLLL 说的,注册表,好像只能看到硬件的型号吧?序列号好像是没有的。

我是发哥 发表于 2009-6-24 23:43:33

我路过。来看这群牛人

HHHHLLLL 发表于 2009-6-25 12:26:30

本帖最后由 HHHHLLLL 于 2009-6-25 12:28 编辑

有系列号啊
看图

fjczd 发表于 2009-6-25 15:03:29

这个可以修改吗

fgde 发表于 2009-6-26 09:53:33

HHHHLLLL 的截图应该是硬盘的型号信息而不是序列号(Series Number)

HHHHLLLL 发表于 2009-6-26 10:51:47

恩,我细看了一下,楼上说的对的,确实不是系列号。4#的也只是显示出型号,楼主又要求不调用DLL,应该好像难了!

fgde 发表于 2009-6-29 23:10:22

把代码贴过来吧。在两个页面里看确实不方便。完整的还是到百度空间看吧

costdown 发表于 2009-7-3 11:19:27

fgde的方法很不错,

恩,我细看了一下,楼上说的对的,确实不是系列号。4#的也只是显示出型号,楼主又要求不调用DLL,应该好像难了!
HHHHLLLL 发表于 2009-6-26 10:51
4#的方法得出的是型号和序列号,这个没错的

另外4楼的方法细心的可以发现调用的是系统接口完成的,

HHHHLLLL 发表于 2009-7-3 13:34:23

不好意思,4#的程序在我这里得不出系列号,只能是型号。我的是SATA硬盘。

stlcy2003 发表于 2009-10-2 11:07:58

1# fgde
fgde,你好,我按照你的编了一个,没成功,可不可以直接上传个原vi,对了,我的版本是7.1的,谢谢啊,我的邮箱stlcy2003@gmail.com
页: [1] 2
查看完整版本: 通过LabVIEW获取硬盘序列号(非DLL)