在WIN2000及WINNT下如何修改MAC???(150分)

  • 主题发起人 主题发起人 byflyer
  • 开始时间 开始时间
通过注册表的修改即可实现你所需要的功能!

关于Win 2K修改MAC

REGEDIT4
[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Class/{4D36E972-E325-11CE-BFC1-08002BE10318}/0000]
"networkaddress"="444553540000"
[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Class/{4D36E972-E325-11CE-BFC1-08002BE10318}/0000/
Ndi/params/networkaddress]
"default"="444553540000"
"paramdesc"="MAC Address"


网卡编号代表网卡型号,不一定是0000,究竟是什么编号,可以这样查找:
运行/winnt/regedit.exe,找到注册表项
[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Class/{4D36E972-E325-11CE-BFC1-08002BE10318}/0000]
右边栏目有一字符串值"DriverDesc",它的值即是网卡型号,看是不是你的网卡;
再找
[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Class/{4D36E972-E325-11CE-BFC1-08002BE10318}/0001]
直到找到你的网卡,记下网卡的编号:一定是000X(X是整数),如0007
然后将上述Win 2K注册表中的"/0000"改为相应的"/0007"(有两处),再进行其它操作.
恢复原始网卡MAC地址: 请删除字符串值"networkaddress"和主键"networkaddress".


NT下修改MAC:
REGEDIT4
[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/HPHX1/Parameters]
"NetworkAddress"="131353540000"
注意:上述注册表文件中HPHX1是具体的网卡型号,各位网友请根据自已的型号修改,修改方法:
 在NT的窗口DOS下运行:
 ipconfig -all
 它将显示网卡的型号和MAC(物理)地址等信息,注意看Ethernet adapter 后面的字符串就是网卡型号。
如果要恢复NT下网卡的原始MAC地址,请将字符串主键"networkaddress"的值清空。

 
游戏规则 免费注册 资料下载 关于本站
问题分类 问题列表 富翁列表 我的信息 提出问题

富翁名称 lyywy
专 家 分 277
可用积分 4217

退出论坛


--------------------------------------------------------------------------------



我的待答问题


我的已答问题


收藏中的问题
查关键词
检索LID

--------------------------------------------------------------------------------

支持我们

--------------------------------------------------------------------------------

大富翁论坛版权所有
问题:求:在win nt中获网卡MAC地址的方法和修改MAC地址的方法。谢谢!!! ( 积分:100, 回复:6, 阅读:77 )
分类:局域网 / 通讯 ( 版主:netwind, cAkk )
来自:dos2000, 时间:2001-5-29 12:16:00, ID:545507 [显示:小字体 | 大字体]
求:在win nt中获网卡MAC地址的方法和修改MAC地址的方法。谢谢!!!


来自:pbuild, 时间:2001-5-29 12:23:00, ID:545514
winexec(pchar('command.com /C ipconfig /all >'+' c:/temp.txt'),sw_hide)
获取信息保存在c:/temp.txt中



来自:honestman, 时间:2001-5-29 12:31:00, ID:545517
获网卡MAC地址的方法
http://www.delphibbs.com/delphibbs/dispq.asp?lid=541922
修改MAC地址的方法
http://www.delphibbs.com/delphibbs/dispq.asp?lid=387406



来自:freecom, 时间:2001-5-29 12:30:00, ID:545521
Mac地址改不了,出厂就固定了。


来自:terry_lzs, 时间:2001-5-29 12:50:00, ID:545545
获得MAC地址
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls,nb30;
type
PASTAT = ^TASTAT;
TASTAT = record
adapter : TAdapterStatus;
name_buf : TNameBuffer;
end;
type
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
private
function Getmac:string;
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
label1.caption:=Getmac;
end;

function TForm1.Getmac:string;
var
ncb : TNCB;
s:string;
adapt : TASTAT;
lanaEnum : TLanaEnum;
i, j, m : integer;
strPart, strMac : string;
begin
FillChar(ncb, SizeOf(TNCB), 0);
ncb.ncb_command := Char(NCBEnum);
ncb.ncb_buffer := PChar(@lanaEnum);
ncb.ncb_length := SizeOf(TLanaEnum);
s:=Netbios(@ncb);
for i := 0 to integer(lanaEnum.length)-1 do
begin
FillChar(ncb, SizeOf(TNCB), 0);
ncb.ncb_command := Char(NCBReset);
ncb.ncb_lana_num := lanaEnum.lana;
Netbios(@ncb);
Netbios(@ncb);
FillChar(ncb, SizeOf(TNCB), 0);
ncb.ncb_command := Chr(NCBAstat);
ncb.ncb_lana_num := lanaEnum.lana;
ncb.ncb_callname := '* ';
ncb.ncb_buffer := PChar(@adapt);
ncb.ncb_length := SizeOf(TASTAT);
m:=0;
if (Win32Platform = VER_PLATFORM_WIN32_NT) then
m:=1;
if m=1 then
begin
if Netbios(@ncb) = Chr(0) then
strMac := '';
for j := 0 to 5 do
begin
strPart := IntToHex(integer(adapt.adapter.adapter_address[j]), 2);
strMac := strMac + strPart + '-';
end;
SetLength(strMac, Length(strMac)-1);
end;
if m=0 then
if Netbios(@ncb) <> Chr(0) then
begin
strMac := '';
for j := 0 to 5 do
begin
strPart := IntToHex(integer(adapt.adapter.adapter_address[j]), 2);
strMac := strMac + strPart + '-';
end;
SetLength(strMac, Length(strMac)-1);
end;
end;
result:=strmac;
end;
end.
修改MAC地址?好像不行吧


来自:dos2000, 时间:2001-5-29 17:26:00, ID:545938
感谢各位大侠的关心,我在WINNT上就亲自改过MAC地址。重新启动后就是新地址了,但我想用程序来实现。不知道谁能帮我? :)


来自:wys205, 时间:2001-5-29 18:34:00, ID:546011
自己在程序中修改注册表嘛,不过要重启动才能生效。

//以下是修改注册表的方法
在Win9x和winnt 3.5、4.0下,网卡驱动程序使用NDIS规范与操作系统通信。MAC地址被
存储在操作系统的某存储单元内,这时可以通过修改该内容达到目的而不用修改你的
EPROM内容。

1、首先打开注册表,找到HKEY_LOCAL_MACHINE/system/Currentcontrolset/services/
classes/net/0000、0001、0002等下,观察DriverDesc内容为你要修改的网卡的描述。


2、在其下,添一个字符串,名字为NetworkAddress,值设为你要的MAC地址,要连续写。
如004040404040。

3、然后到其下 NDI/params中加一项NetworkAddress的主键,在该主键下添加名为
default的字符串,其值写你要设的mac地址,要连续的写,如004040404040。

4、在NetworkAddress的主键下继续添加名为ParamDesc的字符串,其作用为指定Network-
Address主键的描述,其值可为“MAC Address”,这样以后打开网络邻居的属性,双击

相应网卡项会发现有一个高级设置,其下存在MAC Address 的选项,就是你在注册表中

加的新项NetworkAddress,以后只要在此修改MAC地址就可以了。

5、关闭注册表,重新启动,你的网卡地址已改。打开网络邻居的属性,双击相应网卡项会

发现有一个MAC Address的高级设置项。用于直接修改MAC地址。



问题讨论没有结束 ...
lyywy,对此问题,您可以:


8 添加您对此问题的注释(请注意换行)


8如果有人回答了这个问题,请用 email 通知我。



在这里发贴,表示您接受了大富翁论坛的 游戏规则 和 版权协议

附加功能

8

8 (您没有订阅了此问题的邮件通知)

8 (您没有收藏此问题)

8前往收藏夹



(C) 版权所有,大富翁论坛 1998-2001
感谢您的惠顾,如有任何建议和意见,请 联系版主。2001.4.1
 
这个问题已经有N个人回答过了,我也回答了N刺了
西祠上也有,随便一个安全论坛都会有
 
多人接受答案了。
 
后退
顶部