如何修改网卡物理地址

whatapity 2002-09-03 01:35:12
在2000下如何在程序中修改网卡的物理地址,而不用重起机器,用到哪个api函数
...全文
3395 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangbin888 2002-09-04
  • 打赏
  • 举报
回复
高手,佩服
hx 2002-09-03
  • 打赏
  • 举报
回复
2000下,就到RING0级才可以进行这类操作。
2000下,怎么到RING0,以前有人已经讨论过了。就不多说了。
hx 2002-09-03
  • 打赏
  • 举报
回复
多麻烦,我就直接改物理地址。
QQ:15424257。
萝卜波 2002-09-03
  • 打赏
  • 举报
回复
这是手动修改的方法

你要在程序中改的话,

编程修改注册表就行了
萝卜波 2002-09-03
  • 打赏
  • 举报
回复
关于mac的更改(2000版se)
1、在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\
{4D36E972-E325-11CE-BFC1-08002BE10318}\0000、0001、0002等主键下,查
找DriverDesc内容为你要修改的网卡的描述的,如0000。下面的方法和rifter
《修改MAC地址的范例》中提到的一样,我就照搬了(注解的地方以“^^”标
明)。

“---->
  2、在其下,添一个字符串,名字为NetworkAddress,值设为你要的MAC地
    ^^^^^【指在0000主键下】
址,要连续写。如004040404040。

  3、然后到其下NDI\params中加一项NetworkAddress的主键,在该主键下
      ^^^^^【也是指在0000主键下】
添加名为default的字符串,值写要设的MAC地址,要连续写,如004040404040。
^^^^^^^^^^^^^^^^^^^^^^^
【实际上这只是设置在后面提到的高级属性中的**初始值**,实际使用的MAC
地址还是取决于在第2点中提到的NetworkAddress参数,而且一旦设置后,以
后高级属性中值就是NetworkAddress给出的值而非default给出的了。】

  4、在NetworkAddress的主键下继续添加名为ParamDesc的字符串,其作用
为指定NetworkAddress主键的描述,其值可为“MAC Address”,这样以后打
开网络邻居的属性,双击相应网卡项会发现有一个高级设置,其下存在
MAC Address 的选项,就是你在注册表中加的新项NetworkAddress,以后只要
在此修改MAC地址就可以了。

  5、关闭注册表,重新启动,你的网卡地址已改。打开网络邻居的属性,
双击相应网卡项会发现有一个MAC Address的高级设置项。用于直接修改MAC地
址。
<----”


回顾:

  我首先是照rifter的方法,但在HKEY_LOCAL_MACHINE\system\
Currentcontrolset\services下没有找到Classes以及其下的系列主键。

  后又按照wzheng所说的方法,搜索与网卡对应的service,如我的rtl8029,
在其下(即在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
rtl8029\Parameters下添加NetworkAddress字串值并设置,重启后没有效果,
又尝试直接在rtl8029下添加并设置并重启后仍无效果。:-((

  失望之余,试图“暴力”一把,在查看了rtl8029下的所有键和值之后,
决定以rtl8029\Enum下字符串“0”的取值的一部分“DEV_8029”作为特征值
进行查找,在找到的一堆主键和值中分析后,决定在前述位置(即
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\
{4D36E972-E325-11CE-BFC1-08002BE10318}\0000下)添加。首先添加的是上
面3、4点所说的东东,再一看网卡的高级属性“MAC Address”已经出来了,
但ipconfig报告的地址仍然没有变,再一次faint!

  本想重启后再试一试,但我偷懒的在刚出来的“MAC Address”中设置了
一把,再ipconfig……什么都没有(网卡不在了),再ipconfig……居然已经
是改过之后的MAC地址了,Yeah!成功了!

  接下来就简单了,查找一下“NetworkAddress”,就得到了第一点的结论。

  这时候再回过头来看,差别不大嘛:
HKEY_LOCAL_MACHINE\system\Currentcontrolset\services\classes\net\0000
                      ^^^^^^^^^    ^^^
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{...}\0000
                      ^^^^^^^^   ^^^^^
只不过是把Service改成了Control,Net用一个CLSID来表示了,而{...}这一
长串咒语其实就是Net的Class ID,看看其下的相关描述信息就知道了。看来
事物的发展真是“螺旋式的上升”,转了一圈又以另一个面孔回来了。另外补
充说一句,Currentcontrolset\services下没有classes主键,只有“Class”,
无论是NT还是98,想必是笔误,这样两者就完全对应起来了。

  其实要找到这串“咒语”也不难,或者用特征字符串去查找,如网卡的描
述信息或“Net”(不过后者找起来要费事儿得多),或者直接看“Class”下
有一堆并列的“{4D...18}”,看第一个连字符前为72的就是,即
{4D...72-......18}。


环境:
  Windows 2000 Professional+SP1 on FAT32
  Realtek RTL8029(AS) PCI Ethernet Adapter
萝卜波 2002-09-03
  • 打赏
  • 举报
回复

网卡真正的MAC地址是在EPROM中的,可以通过专门的程序修改,不少网卡的厂商都能提
供。比如PCI-RTL8029,便可到realtek公司的主页上下载一个修改EPROM的小程序。

在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地址。

一些网卡如d-link的de220在安装时,会自动在注册表中加入这些项目,你只需修改值
就可以了。

1、2步骤用于修改当前(下一次启动)时MAC 地址。
3、4步骤用于在网络属性的网卡属性中添加相应高级属性。
whatapity 2002-09-03
  • 打赏
  • 举报
回复
失望,
我想大家一定知道在2000的注册表里修改网卡的物理地址,修改完后会在网卡属性里有一个选项来修改网卡物理地址,而不用重起,我想知道的是它是如何办到的?
strongfisher 2002-09-03
  • 打赏
  • 举报
回复
要改还是可以的
ali_wz 2002-09-03
  • 打赏
  • 举报
回复
mission impossible
网卡的 mac地址已经被固化在了网卡芯片中了,不可能修改。
lvzhong 2002-09-03
  • 打赏
  • 举报
回复
没戏
nik_Amis 2002-09-03
  • 打赏
  • 举报
回复
你是说IP吧?
dwei 2002-09-03
  • 打赏
  • 举报
回复
网卡的物理地址是全球分配,唯一的,应该不可以修改.
当然就不会有API函数可以改写它,不然就乱套了.
^_^

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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