硬修改VMWARE虚拟机网卡MAC

关于修改VMWARE虚拟机网卡MAC中用到的WINHEX程序
 

看到一编文章,如下:

看到一个修改VMWare虚拟网卡MAC地址的帖子。实际上VMWare完全可以提供这个功能,只是为了防止造成MAC地址的混乱,没有在选项中增加这个设置。我把自己研究的一点结果介绍给大家,供大家参考。
    首先我对VMWare-VMX.EXE进行反编译,找到在STATIC模式下修改ETHERNET0.ADDRESS时出现的提示字符串。找到提示的错误字符串,顺反编译的汇编程序反向查找,找到了一段代码大致如下:
    cmp [di],00
    jne invalid
    cmp [di+1],56
    jne invalid
    cmp [di+2],50
    jne invalid
    JMP OK
    这段代码是程序对静态MAC地址的审核部分,判断MAC地址的前三位是否为"00-56-50",如果不是这三个字节,程序提示错误然后关闭虚拟机器。要随意修改MAC地址,只需要使用WINHEX将第一个jne invalid修改为JMP OK就可以了。然后进行系统提供的参数,修改ethernet0.addressType = "static"和ethernet0.Address = "01:02:03:04:05:06"。你会发现系统没有提示地址非法。

 

 

很多Linux下软件的lincence都是根据主机的网卡mac地址产生的,因此一般用户的mac地址不会变,但是安装在虚拟机上的linux就不一定了,Linux的所看到的本身就是一个虚拟机,因此它所看到的硬件:cpu、ram、network adapter等当然也是虚拟的,因此在虚拟机上根据主机号(hostid)或者网卡mac(lmhostid)产生的序列号就当然是可变的!
 
这里修改mac地质的方法有两种:
  1. 在/etc/rc.d/init.d/中的network中加入:

 

 

  ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx

  然后重启

修改虚拟机的配置文件,此文件位于你虚拟操作系统的目录下,不是vmware的安装目录,类似***.vmx的文件,用记事本打开,将ethernet0.generatedAddress="** ** ** "的地址修改成想要的mac地址,然后修改UUID.location = ''** ** ** **....." 和 UUid.bios="** ** ** ** "  相应部分,一般是最后的三个字节。重新用vmware打开虚拟机文件,开机即可。


文章中讲到用WINHEX实现对VMWARE程序的反编译。在网上找了资料也下载了WINHEX这个程序,但如何反编译到现在还不明白。
以前也用过WINHEX这个程序。这个程序实在只是黑客破解类的。但没好好用过。

所以这个东东的用法要学习一下。

发布了55 篇原创文章 · 获赞 26 · 访问量 27万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章