如何取到机器的唯一标识? (软件加密用)(200分)

  • 主题发起人 主题发起人 铃铛
  • 开始时间 开始时间

铃铛

Unregistered / Unconfirmed
GUEST, unregistred user!
; ;如何在系统安装我的软件后,取得这台机器的唯一信息。
如通过读取机器的网卡的mac地址可以这台机器的唯一标识。但有的
机器没有网卡,这时该怎么办?
 
找找有没有取得CPU ID 的函数。
 
我认为可以读硬盘的序列号,用 GetVolumeInformation
 
读取cpuid,到我的主页下载,有范例河源码
 
读取硬盘序列号就行了:

Function GetHardDiskSerieNummer : string;
var
; Teller ; ; ;: integer;
; Lus ; ; ; ; : integer;
; SerieNummer : array[0..24] of char;
begin
; result := '';
; Teller := 1;
; for Lus := 1 to 8 do
; begin
; ;SerieNummer[Teller] := chr((HardDiskGegevens[10+Lus] div 256 ));
; ;inc(Teller);
; ;SerieNummer[Teller] := CHR((HardDiskGegevens[10+Lus] mod 256 ));
; ;inc(Teller);
; end;
; result := SerieNummer;
;end;
 
cpu id 是怎么一回事?
非 INTER系列也可以么?
 
另外:beta
; ; ; HardDiskGegevens 在那有啊?
 
读硬盘序列号不错,+CPU ID(intel) +网卡地址更好
 
; 由于许多地方 例如政府部门 处于安全考虑,在买机器时将CPUID 给关了。
; ;这是否使得取CPUID的方式应用面不太广了?
; ;至于取硬盘参数 ; HardDiskGegevens 这个函数在那有人告诉我吗?
; ;急死我了。
; ; ; ; ; ;谢谢
 
我也想知道
 
CPUID 是 CPU 的鉴别标志,但并不唯一。
CPUID 不是序列号(SN),不会被序列号屏蔽程序屏蔽。
取得ID和厂商函数,可能无法被 NT 支持
参考以前的讨论:<a href="http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=103646">ID=0103646</a>
; ; ; ; ; ; ; ; <a href="http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=1648">ID=0001648</a>
;
 
SIR:
我在编译beta的code 时编译出错提示
hardDiskGegevens[10+Lus] div 256 ))没定义,是要uses ????
 
读硬盘系列号如下:

GetVolumeInformation('C:/',nil,0,@dwTemp,dwTemp1,dwTemp2,nil,0);

dwTemp即为所求

但,硬盘系列号不一定可行!!!!!!!!!!!
 
可以读硬盘的序列号



GetVolumeInformation('C:/',nil,0,@dwTemp,dwTemp1,dwTemp2,nil,0)
 
找控件去。
 
硬盘系列号不一定可行!!!!!!!!!!! why ?
 

Similar threads

D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
889
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部