修改MAC地址的方法 破解MAC地址绑定

 
网卡的MAC地址是固化在网上EPROM中的物理地址,是一块网卡的“身份证”,通常为48位。
在平常的应用中,有很多方面与MAC地址相关,如有些软件是和MAC地址绑定的,没有允许的MAC地址,软件就无法运行;
  局域网里,管理人员常常将IP与客户机的MAC地址绑定,以方便管理,万一用户的网卡坏掉了,自行更改网卡后必须向管理人员申请更改绑定的MAC地址,这样就比较麻烦。在这种时候,如果我们能够更改一下网卡的MAC地址,那就方便多了。
  实际上,修改网卡的MAC地址是很容易的,我们既可以在作系统中通过软件来修改网卡的MAC地址,而实际的网卡MAC地址不变,以达到欺骗软件的目的;也可以用工具直接更改网卡的实际MAC地址。
一、瞒天过海
1.修改注册表
  几乎所有的网卡驱动程序都可以被NdisReadNetworkAddress参数调用,以便从注册表中读取一个用户指定的MAC地址。当驱动程序确定这个MAC地址是有效的,就会将这个MAC地址编程入其硬件寄存器中,而忽略网卡固有的MAC地址。我们通过手工修改Windows的注册表就可以达到目的。
  在Winodws 98下运行Windows的注册表编辑器,展开“HKEY_LOCAL_MACHINE\System\Current ControlSet\Services\Class\Net”,会看到类似“0000”、“0001”、“0002”的子键。从“0000”子键开始点击,依次查找子键下的“DriverDesc”键的内容,直到找到与我们查找的目标完全相同的网卡注册表信息为止。
  当找到正确的网卡后,点击下拉式菜单“编辑/新建/字符串”,串的名称为“Networkaddress”,在新建的“Networkaddress”串名称上双击鼠标就可以输入数值了。输入你想指定的新的MAC地址值。新的MAC地址应该是一个12位的十六进制数字或字母,其间没有“-”,类似“000000000000”的这样的数值(注意,在Windows 98和Windows 2000/XP中具体键值的位置稍有不同,大家可通过查找功能来寻找)。
  在“NetworkAddress”下继续添加一个名为 “ParamDesc”的字串值,它将作为“NetworkAddress”项的描述,数值可以取为“MAC Address”。再把它的内容修改为你想设定的内容.
2.修改网卡属性
  大部分的网卡都可以通过在控制面板中修改网卡属性来更改其MAC地址,笔者的3COM 3C905B-TX和RTL8139芯片的网卡都可以这样轻松修改。
  在“设备管理器中”,右键点击需要修改MAC地址的网卡图标,并选择“属性/高级”选项卡。在“属性”区,就可以看到一个称作“Network Address”或其他相类似名字的的项目,点击它,在右侧“值”的下方,输入要指定的MAC地址值。要连续输入12个十六进制数字或字母,不要在其间输入“-”。重新启动系统后设置就会生效了。
二、釜底抽薪
  假如用户使用的是RealTek公司的RTL8139A/B/C/D系列芯片的网卡,有一种更简单的方法修改MAC地址。RealTek公司设计的PG8139软件可以直接修改RTL8139系列网卡的MAC地址,甚至可以让每次启动后网卡的MAC地址都不相同。具体*作如下:
  把pg8139.zip解压缩到一个文件夹下,以8139C芯片为例,用记事本打开该目录下的8139c.cfg文件,修改8139c.cfg文件的第一行,将“NodeID”(网卡号)后改为所需要的?怠=ㄒ槌跏贾滴?0 E0 4C 00 00 01”,修改时注意每两位之间至少要留一个空格
保存后再进入MS-DOS方式(注意,要在纯DOS模式下),在DOS提示符后输入“pg8139 /pci 8139c.cfg”后再按回车键,此时系统如果提示“Programming EEPROM is successful”则说明更改成功。PG8139程序每成功运行一次,在相应的8139c.cfg文件中,系统会自动将“NodeID”的值加1,也就是说,第一次运行时给当前工作站网卡分配的MAC地址为“00 E0 4C 00 00 01”,第二次运行时,系统会自动分配为“00 E0 4C 00 00 02”,第三次运行时,会自动为“00 E0 4C 00 00 03”……,依此类推,就可以批量地修改网卡的MAC地址,不再需要重复修改8139c.cfg文件了。
  如果用户的网卡是RTL8139其他版本的芯片,只要找到相应的.cfg文件修改就行了。
  另外,还有一种极端的办法,通过烧录网卡的EEPROM来达到克隆MAC地址的目的。但这样做风险很大,而且*作复杂,即使是有经验的用户也难免在*作中出现错误,我们不推荐进行这种*作。
三、巧借东风
如果是Windows 2000/XP的用户,则可以使用免费MAC地址修改软件SMAC。运行SMAC后,窗口中的列表框列出计算机上正处于工作状态的网卡。选定要修改的网卡后,在列表框下方的六个输入框中输入新的MAC地址后,点击右侧的“Update MAC(修改MAC地址)”,即可完成MAC地址的修改。如图4所示。
 修改MAC地址的工具有很多,但大多数都只适用于Windows 2000/XP,笔者在这里推荐用“超级兔子魔法设置”,因为不但简单易用,而且在Windows 9x系统中使用同样有效。         修改完成后,就要使设置生效,一般的办法是重新启动系统。还有一种简单的办法不需要重新启动系统,在“设备管理器”中,选定网络适配器图标,点击鼠标右键,选择“禁用”(请注意*作后,状态栏是否已显示为“禁用”)。然后再右键单击选定的网络适配器,在右键菜单中选择“启用”。这样就能使修改后的设置生效
 
MAC地址16进制中的第一个字节第二个数一定是偶数

修改MAC地址的方法 破解MAC地址绑定(抄)的更多相关文章

  1. 修改MAC地址的方法(未测试)

    用ioctl控制,通过SIOCGIFHWADDR获取MAC地址,SIOCSIFHWADDR设置MAC地址,不过在设 置MAC地址之前,要先把网卡down掉,设置好了以后,再UP起来. #include ...

  2. 几种C#程序读取MAC地址的方法

    原文:几种C#程序读取MAC地址的方法 以下是收集的几种C#程序读取MAC地址的方法,示例中是读取所有网卡的MAC地址,如果仅需要读取其中一个,稍作修改即可. 1 通过IPConfig命令读取MAC地 ...

  3. C# 几种读取MAC地址的方法

    以下是收集的几种C#程序读取MAC地址的方法,示例中是读取所有网卡的MAC地址,如果仅需要读取其中一个,稍作修改即可. 1 通过IPConfig命令读取MAC地址 ///<summary> ...

  4. java获取服务器IP地址及MAC地址的方法

    这篇文章主要介绍了java编程实现获取机器IP地址及MAC地址的方法,实例分析了Java分别针对单网卡及多网卡的情况下获取服务器IP地址与MAC地址的相关技巧,需要的朋友可以参考下   本文实例讲述了 ...

  5. 从字符串获得MAC地址的方法

    今日有感于编程水平下降,特意练习一下,根据MAC地址字符串,获取MAC地址的2种方法. #include <stdio.h> void func1(char *str){ unsigned ...

  6. Linux网络相关概念和修改IP地址的方法

    2.1.1  网卡的命名规则 CENTOS6的网卡命名方式:它会根据情况有所改变而非唯一且固定,在CENTOS6之前,网络接口使用连续号码命名: eth0. eth1等,当增加或删除网卡时,名称可能会 ...

  7. Java根据ip地址获取Mac地址,Java获取Mac地址

    Java根据ip地址获取Mac地址,Java获取Mac地址 >>>>>>>>>>>>>>>>>&g ...

  8. 获取远程请求的IP地址、本机Mac地址和客户端Mac地址

    我在近期项目里面去记录异常日志时,用到了这两个地址,也是从网上和前辈那里学习到的,本人项目是MVC框架的,自己整理了一个公共方法类,包括获取远程客户端IP和Mac地址,以及获取本机Mac地址的方法,代 ...

  9. 获取Mac、CPUID、硬盘序列号、本地IP地址、外网IP地址OCX控件

    提供获取Mac.CPUID.硬盘序列号.本地IP地址.外网IP地址OCX控件 开发语言:vc++ 可应用与WEB程序开发应用 <HTML><HEAD><TITLE> ...

随机推荐

  1. Java——容器类库框架浅析

    前言 通常,我们总是在程序运行过程中才获得一些条件去创建对象,这些动态创建的对象就需要使用一些方式去保存.我们可以使用数组去存储,但是需要注意数组的尺寸一旦定义便不可修改,而我们并不知道程序在运行过程 ...

  2. 服务器linux centos 7.4 搭建ftp服务器

    此操作是在腾讯云服务器linux centos 7.4 完成搭建ftp服务器 vsftpd 的: 安装 vsftpd $ yum install vsftpd -y 启动 $ service vsft ...

  3. JS数组添加删除

    栈是一种LIFO(Last-In-First-Out,后进先出)的数据结构著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.原文: https://www.w3cplus.com/j ...

  4. SQL Server读写分离之发布订阅

    一.发布 上面有多种发布方式,这里我选择事物发布,具体区别请自行百度. 点击下一步.然后继续选择需要发布的对象.  如果需要筛选发布的数据点击添加. 根据自己的计划选择发布的时间. 点击安全设置,设置 ...

  5. noi.ac#309 Mas的童年(子集乱搞)

    题意 题目链接 Sol 记\(s_i\)表示前\(i\)个数的前缀异或和,我们每次相当于要找一个\(j\)满足\(0 < j < i\)且\((s_i \oplus s_j) + s_j\ ...

  6. servlet与jsp篇(一)$.ajax交互

    servlet其实是利用java类编写的服务器端应用程序,他的生命周期可以分为三个阶段:初始化阶段.运行阶段和消亡阶段; jsp页面实质上是一个HTML页面,但他包含了用户产生动态网页内容的java代 ...

  7. java压缩指定目录下的所有文件和文件夹的代码

    将代码过程较好的代码段备份一下,下边资料是关于java压缩指定目录下的所有文件和文件夹的代码,希望对码农有帮助. String sourceDir="E:\test";int pa ...

  8. IDEA中的.iml文件和.idea文件夹

    .iml文件 iml文件是IntelliJ IDEA自动创建的模块文件,用于Java应用开发,存储一些模块开发相关的信息,比如一个Java组件,插件组件,Maven组件等等,还可能存储一些模块路径信息 ...

  9. SQL Server 事务日志文件已满,收缩日志文件(9002)

    错误如下图: 1.数据库 → 属性 → 选项 → 恢复模式 → 选择‘简单’:如下图: 2.任务 → 收缩 → 文件类型‘文件’ → 收缩模式‘在释放未使用的空间前重新组织页’,将文件收缩到K,大小填 ...

  10. SQL Server创建Job, 实现执行相同脚本而产生不同作业计划的探究

    1 . 背景描述 本公司的SQL Server 服务器近百台,为了收集服务器运行的状态,需要在各个实例上部署监控Job,将收集到的信息推送到中央管理服务器. 收集的信息主要包括:慢查询.阻塞.资源等待 ...