如何获取网卡序列号?

CodeDuDu 2001-12-29 08:02:20
做个加密,各位什么硬盘,CPU,网卡等等,序列号就行!
...全文
746 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Greenberet 2001-12-29
  • 打赏
  • 举报
回复
加密一般只防君子,不防小人!看你的软件值不值得这么做!
以下供参考:

1. 网卡:局限性太大, 而且网卡序列号是可以通过修改注册表来改变(序列号可以自定)
2. 硬盘:有些硬盘根本无出厂序列号,就无法取了。取卷标号就不必了。
3. CPU : 一般的同一批 CPU(INTEL) 序列号是相同的。AMD 等没试过,不知有无序列号。
4. 用户名:灵活性太大,只要注册一套即可通用,之后就是注册机满天飞。
5. 主板:估计可以取到绝对唯一的"信息源"经过加密后生成序列号,如美萍软件等已经做
到。用目前已知的方法在同批主板上取到的序列号也是一样的,
6. 加密狗:很多软件用这种方法,但同样被破解的例子有很多。

其实:像微软的XP都可以免激活,Borland 的产品(我们现在用的),用多少人不是用盗
版?只要你的软件出名,好用就(才)会有人去破!如果被破解,那种滋味你可知道?

liang_z 2001-12-29
  • 打赏
  • 举报
回复
网卡地址,BCB上通过!
typedef struct _ASTAT_ {
ADAPTER_STATUS adapt;
NAME_BUFFER NameBuff[30];
}ASTAT;

//---------------------------------------------------------------------------
// GetNetAddress
// 参数:
// 无
// 返回:
// char* 成功
// NULL 失败
// 说明:
// 取网卡地址,目前仅取第一块网卡地址,稍改后可取多块、其它
// 网络用户网卡地址。
//---------------------------------------------------------------------------

int _stdcall GetNetAddress(char *nic)
{
NCB Ncb;
char IdStr[16];
LANA_ENUM lenum;
ASTAT Adapter;
unsigned char cptname[NCBNAMSZ]="* ";

memset(IdStr,0,sizeof(IdStr));
memset(&Ncb, 0, sizeof(NCB));
Ncb.ncb_command = NCBENUM;
Ncb.ncb_buffer = (UCHAR *)&lenum;
Ncb.ncb_length = sizeof(LANA_ENUM);
Netbios(&Ncb);
if (Ncb.ncb_retcode != NRC_GOODRET )
return -1;

for (int i=0; i < lenum.length ;i++)
{
memset(&Ncb, 0, sizeof(NCB));
Ncb.ncb_buffer = (PUCHAR) &Adapter;
Ncb.ncb_length = sizeof(ASTAT);
Ncb.ncb_command = NCBASTAT;
Ncb.ncb_lana_num = lenum.lana[i];
_mbscpy(Ncb.ncb_callname, cptname);
Netbios(&Ncb);
if (Ncb.ncb_retcode == NRC_GOODRET)
{
sprintf(IdStr+strlen(IdStr), "%02x%02x%02x%02x%02x%02x",
Adapter.adapt.adapter_address[0], Adapter.adapt.adapter_address[1],
Adapter.adapt.adapter_address[2], Adapter.adapt.adapter_address[3],
Adapter.adapt.adapter_address[4], Adapter.adapt.adapter_address[5]);
break; // to get the first and exit
}
}
memcpy(nic,IdStr,strlen(IdStr)+1);
return 0;
}
CodeDuDu 2001-12-29
  • 打赏
  • 举报
回复
我开发的软件是网络版,都有网卡的.
不管是硬盘,网卡,Delphi中如何得到序列号?
debussy 2001-12-29
  • 打赏
  • 举报
回复
用户的机器不一定有网卡,虽然网卡硬件地址可以保证是唯一的.
建议使用硬盘序列号.注意:是硬盘的序列号,不是卷的序列号,卷的序列号是可以改变的

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧