破解vmware可随意更改mac地址

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

破解vwmare,可随意更改MAC地址!

最新的7.0版本已经可以直接修改配置文件来修改虚机的MAC地址了,直接修改“.vmx”

文件中加入下面的三段:

ethernet0.checkMACAddress = "false"

ethernet0.addressType = "static"

ethernet0.Address = "00:26:c7:7d:ab:36"

删除下面原有MAC地址的这段:

ethernet0.generatedAddress = "00:00:00:00:00:00"

以下为原有6.0的破解修改部分

按照此方法测试了一下,基本是成功,唯一的问题是

uuid.location = "56 4d ad af 77 8b 00 a8-c5 64 70 49 2a df 90 4c"

uuid.bios = "56 4d ad af 77 8b 00 a8-c5 64 70 49 2a df 90 4c"

这个修改后,上面的一行会被自动改回来,因为我是拿改好的虚拟机测试的,暂时不知道新装的会不会有问题。另外也不知道这两个不一致会不会有什么后遗症。

还有一个问题就是改后系统会提示你是COPY还是MOVE,一定要选MOVE。

到网上拖了一个VMware Workstation 6.0.4 build-93057的英文版来,装好一个虚拟XP,结果发现这个VMware虚拟机里面MAC地址不能更改,贼郁闷啊!

到网上搜索了一圈,里面说,VMware为了防止虚拟网卡的MAC地址,所以做了限制,在6版本里面MAC地址前三为只能是00:0c:29,限制的文件是VMware\VMware

Workstation\bin\vmware-vmx.exe,但是没有给出解决方案。

最后想想,还是自己动手改吧。用peid看了一下,这个vmware-vmx.exe没加壳,直接用C32Asm反汇编。搜索字符串“mac”,结果到处都是“machine”,太浪费时间了。又搜

索“Ethernet”,搜索结果的数量是少了很多,不过还是累啊,但是想不出更好的办法,挨

个看吧,花了2个多小时,找到这一行

“00593C60:68 102D7800 PUSH 782D10 \->:

@&!*@*@(msg.mac.badAddressOUI)%s is not a valid generated Ethernet address.\x0A”

顺着这行往上翻了几行(经验,一般都是判断以后才提示正确或者错误,所以上翻),找到了这些数据:

::00593C46:: 84C0 TEST AL,AL \:BYJMP JmpBy:00593C12,

::00593C48:: 75 12 JNZ SHORT 00593C5C \:JMPDOWN ::00593C4A:: 807E 01 0C CMP BYTE PTR [ESI+1],C

::00593C4E:: 75 0C JNZ SHORT 00593C5C \:JMPDOWN ::00593C50:: 807E 02 29 CMP BYTE PTR [ESI+2],29

::00593C54:: 75 06 JNZ SHORT 00593C5C \:JMPDOWN ::00593C56:: 5F POP EDI \:BYJ MP JmpBy:00593BEA,00593C2D,

看到了吧,C,29和软件限制的地址00:0c:29何其相似啊!它的意思是如果第一位不是00,就跳走,第二位不是0C,就跳走,第一位不是29,就跳走,如果前3位都正确,则

开始处理数据(00593C56这里开始处理)

于是转到“对应HEX编辑”,再转到“对应汇编模式编辑”,找到上述区段,修改汇编

“JNZ SHORT 00593C5C”为“JNZ SHORT 00593C56”,一共三行都要修改。表示不管前3位是什么,都跳到00593C56开始处理数据。

改完以后保存,再找到虚拟机文件,我的是“Windows XP Professional.vmx”,找到下面几行:

uuid.location = "56 4d ad af 77 8b 00 a8-c5 64 70 49 2a df 90 4c"

uuid.bios = "56 4d ad af 77 8b 00 a8-c5 64 70 49 2a df 90 4c"

ethernet0.generatedAddress = "00:0c:29:df:90:4c"

改为:

uuid.location = "56 4d ad af 77 8b 00 a8-c5 64 70 49 2a DD EE FF"

uuid.bios = "56 4d ad af 77 8b 00 a8-c5 64 70 49 2a DD EE FF"

ethernet0.generatedAddress = "AA:BB:CC:DD:EE:FF"

其中ethernet0.generatedAddress = "AA:BB:CC:DD:EE:FF"表示更改后新的MAC地址,uuid.location和uuid.bios里面的后三位数字也需要改成和新MAC地址后三位一致的地址数据。

好了,到这里就更改完了,保存后启动虚拟机,进入系统后发现MAC地址已经变成"AA:BB:CC:DD:EE:FF"了,哈哈。

需要注意的是,不同版本的vmware-vmx.exe文件里面需要修改数据的地址是不一样的,大家可以用C32Asm进行反汇编修改,只是在搜索的时候,大家不要和我一样这么麻烦了,只需要直接搜索“is not a valid generated Ethernet address”就可以了,很快就能找到需要修改的数据地址。

附件提供反汇编工具C32Asm下载和VMware Workstation 6.0.4 build-93057英文版的已经修改好的vmware-vmx.exe下载。

另外提供一个小窍门,即使用了虚拟机能上网了,但是虚拟机开着也容易被领导发现,这里再提供一个软件HideWizard,可以隐藏一些正在运行的软件(包括HideWizard自己),还可以禁用任务管理器。设置很简单,就不说了,设置好以后可以用快捷键的方式来快速隐藏正在运行的软件,很隐秘,任务管理器也打不开,不容易被发现。附件同样提供下载。

看到一个修改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"。你会

相关文档
最新文档