用NIC和硬盘序列号实现软件的网络注册机制

王朝vc·作者佚名  2006-01-17
宽屏版  字体: |||超大  

用NIC和硬盘序列号实现软件的网络注册机制

作者:PJ Naughter

下载源代码

简介:

PJSECURE 是一个 C 风格的 Win32

动态链接库,利用它可以实现软件产品的网络拷贝注册功能。

通过调用 RCP 函数 UuidCreate 或 UuidCreateSequential

快速获取远端机器的网卡地址。

PJSECURE 中的导出函数根据两个信息来唯一确定某台计算机。第一个函数可以获取所装网卡的 NIC

地址,该地址是一个12位的数字,由网卡的生产厂商保证其唯一性。第二个函数返回机器 C

盘的序列号。有了着两个信息,就可以成功创建自己的软件注册机制。

源代码中包含 PJSECURE 的定义和实现以及一个测试该 DLL 的控制台程序。

支持 Unicode ,并且随源代码一起提供生成配置选项。

API 参考:

GetNicAddress

BOOL GetNicAddress(LPTSTR pszNicAddress, UINT

nBufSize);

参数

pszNicAddress 如果函数调用成功,用该参数保存 NIC 地址。

nBufSize pszNicAddress 参数的长度,至少应该为13

或更大。

注释

该函数获取客户机器上网卡的 NIC 地址。调用程序负责分配缓冲接收该地址。所有 NIC

地址为12字节长,所以调用该函数前应该分配至少13个字节以上的空间来容纳该地址。该函数在内部调用 RCP 函数 UuidCreate 或 UuidCreateSequential。这意味着代码不依赖所安装的任何专门的网络协议。如果函数调用成功返回

TRUE,否则返回 FALSE。

GetCDriveSerialNumber

BOOL GetCDriveSerialNumber(LPDWORD

pdwSerialNumber);

参数

pdwSerialNumber DWORD

指针,它根据函数的返回值来接收“C”盘的序列号。

注释

如果函数调用成功返回 TRUE,否则返回 FALSE。pdwSerialNumber中的返回值可用“VOL”命令行命令显示出来。对于安全敏感程序,调用该函数可以作为一种次要手段来获得关于客户的确认性信息。

版权声明:

你可以在任何以二进制形式发布的产品(包括商业的、共享的、自由的或其它的)中包含此源代码

在不修改每个模块(*.h、*.cpp)最上方版权细则的前提下,你可以用任何方式修改源代码

如果你想要与自己的应用程序一起分发源代码,只允许分发作者最新发布的版本,以便保证源代码的出处是唯一的。

注意事项:

如果在 Windows 2000 上运行该程序,请用 UuidCreateSequential 调用替换 UuidCreate 调用。

作者的联系方式:

PJ Naughter

个人网站:http://www.naughter.com

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有