硬修改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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章