VMWare修改MAC地址

  修改注册表可以达到部分修改MAC地址的功能,但是有些程序不通过注册表获取MAC地址,依然能读到真实的虚拟机MAC地址,虚拟机MAC地址实际上是配置文件中配置的,但该配置文件中只能修改后六位。其实可以通过反编译修改vmware-vmx.exe来达到任意修改MAC地址的目的。
  论坛上找到一篇文章,亲测成功,分享一下。
  转载地址:http://www.iqushi.com/forum.php?mod=viewthread&tid=18113

两种方法:
1.换8.0以上的vmware
2.在修改之前请先备份你的vmware-vmx.exe文件。
一、  需要的工具
         C32asm 版本0.4.12
         vmware 版本7.1.2 build-301548为例,需要修改的文件  vmware-vmx.exe


二、步骤:
        1. 用C32asm打开vmware-vmx.exe,找到下面一段代码:(可以使用搜索功能,搜索"  ,29  ",逐步找到如下代码)
::005DD0B6::  C3                       RETN                                   
::005DD0B7::  803E 00              CMP BYTE PTR [ESI],0                    \:BYJMP JmpBy:005DD083,
::005DD0BA::  75 12                   JNZ SHORT 005DD0CE                      \:JMPDOWN
::005DD0BC::  807E 01 0C         CMP BYTE PTR [ESI+1],C                 
::005DD0C0::  75 0C                   JNZ SHORT 005DD0CE                      \:JMPDOWN
::005DD0C2::  807E 02 29          CMP BYTE PTR [ESI+2],29                
::005DD0C6::  75 06                    JNZ SHORT 005DD0CE                      \:JMPDOWN
::005DD0C8::  5F                         POP EDI                                 \:BYJMP JmpBy:005DD035,005DD05D,005DD09E,
::005DD0C9::  B0 01                    MOV AL,1                               
::005DD0CB::  5E                         POP ESI                                
::005DD0CC::  5D                         POP EBP                                
::005DD0CD::  C3                         RETN


      这里红色部分是在对比mac前三个地址是否为00.0c.29,这样就导致了mac地址不能随意定义。在次我们将跳转地址直接跳转到蓝色地址上,跳过mac前三个地址的对比结果,使对比结果不发生任何意义。


        2.  修改跳转地址
            在JNZ SHORT 005DD0CE上点击鼠标右键,选择【对应HEX编辑】。此时打开了显示16进制的代码窗体,在菜单中点击【查看】-》数据解释器,此时出现Data Interpreter窗体。注意观察该窗体的ASM项,显示的是JNZ跳转。修改其最后一字节地址CE为C8即可。
           照上面的方法一次修改完这三个跳转地址,保存。


        3.  将原来的vmware-vmx.exe文件,替换为修改好的文件。
        4.  修改mac地址
             打开你的.vmx。用记事本打开vmx配置文件,然后修改一下几行:
        ethernet0.generatedAddress = "00:0c:29:1c:35:cc"        /*该地址可以任意修改,并保证在合法的范围内*/
        uuid.bios = "56 4d e0 c4 a2 41 24 1b-5b 6e 4b a0 0b 1c 35 cc"   /*该地址后三个数字必须与mac的后三个相同*/


三、 完成
         至此修改完毕,进入系统后查看mac地址方法:
         以windows为例: getmac  或者  ipconfig /all

如果只修改注册表,那就简单多了。方法如下:
1、在“开始”菜单的“运行”中输入regedit.exe,打开注册表编辑器,展开注册表到:
   HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}子键,在子键下的0000,0001,0002等分支中查找DriverDesc,双击查看是不是网卡,比如vmware的网卡就是在0003子键时里,双击时显示为“VMware Accelerated AMD PCNet Adapter”。
2、在0003子键下添加一个字符串,命名为“NetworkAddress”,键值为修改后的MAC地址,要求为连续的12个16进制数。然后在“0003”子键下的NDI\params中新建一项名为NetworkAddress的子键,在该子键下添加名为“default”的字符串,键值为修改后的MAC地址,要求为连续的12个16进制数。
3、在NetworkAddress的子键下继续建立名为“ParamDesc”的字符串,其作用为指定NetworkAddress的描述,其值可为“MAC Address”。这样以后打开网络邻居的“属性”,双击相应的网卡就会发现有一个“高级”设置,其下存在MAC Address的选项,它就是你在注册表中加入的新项NetworkAddress,以后只要在此修改MAC地址就可以了。
4、关闭注册表,重新启动,你的网卡地址已改。打开网络邻居的属性,双击相应网卡项会发现有一个MAC Address的高级设置项,用于直接修改MAC地址。

你可能感兴趣的:(vmware)