Jump to content

How to spoof real Mac in VMware


Donk
 Share

95 posts in this topic

Recommended Posts

It would work, as I tried it on a nested ESXi instance. However you would need to make your ESXi server a Hackintosh and override the SMBIOS to specify Apple hardware and the presence of the SMC chip. I have not found a way to do that as ESXi uses its own bootloader.

Donk,

 

I am assuming your nested ESXi instance is running on a Mac under Fusion, so ESXi is running on Apple hardware?

Link to comment
Share on other sites

Donk,

 

I am assuming your nested ESXi instance is running on a Mac under Fusion, so ESXi is running on Apple hardware?

 

Actually did it on Fusion and Workstation, and it worked.

Link to comment
Share on other sites

iMessage didn't work also for me with this method on Windows laptop.

 

Also, I want to activate my Facetime but Facetime can't detect my built-in camera. I check in System Information & no driver installed for Camera.

 

Any way I can use my Facetime? Other methods or links perhaps for the driver? Really need help for this.

 

I have Sony VAIO VPCCW16FA on Windows 7 x 64 laptop, running OS X 10.9 Mavericks on VMWare Worstation 10. I got my OS X 10.9 WMWare Image from Soul Dev Team.

Link to comment
Share on other sites

  • 2 weeks later...

I haven't tried this or care much about iMessenger. In my journey in bios hacking with ozmosis on other UEFI boards you can set nvram in the terminal and change some things this may help with getting this to work as it is a question a lot of people have on ozmisis thread too.

 

 

sudo nvram 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:BiosVersion=MM61.88Z.0106.B00.1208091121
sudo nvram 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:ProductName=Macmini6,2
sudo nvram 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:SystemSerial=xxxxxxxxxxxx
sudo nvram
4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:ProductFamily=Macmini
sudo nvram 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:ProductId=Mac-F65AE981FFA204ED

xxxxxxxxxxxx=serial that need to be generated using clover configuration or chameleon wizard. 
 

 

here is the thread and more info might be in there to help with other problems I just copied and pasted from the first post. but if you look up the nvram stuff you might find what your looking for to fix this

http://www.insanelymac.com/forum/topic/291655-ozmosis/

 

Another idea running off Donks post

 

 

It would work, as I tried it on a nested ESXi instance. However you would need to make your ESXi server a Hackintosh and override the SMBIOS to specify Apple hardware and the presence of the SMC chip. I have not found a way to do that as ESXi uses its own bootloader.

If your running a UEFI bios you could hack it using that thread and get oz to work and running ESX(i) might see it as mac hardware since a lot of the stuff is taken care of in the bios. I have a Quo with OZ but currently have a K (not so great with VM) processor in it. If I happen to switch it out for a regular one (non K) I'll test this out and report back.

Link to comment
Share on other sites

I have looked into ozmosis(haven't tried it), but I believe those values are only static for firmware that support nvram saving, I believe vmware efi and exe reset the nvram upon reboot.

 

We could write a launch daemon to reset these setting upon reboot but it must execute on kernel boot up (not the case with vmware efi, it executes towards end of kernel). This is all based on elnono_ research of imessage:

 

'KLDBootstrap::~KLDBootstrap' calculates these five 17 bytes values based on hashes of:

- IOPlatformUUID

- IOPlatformSerialNumber

- IODeviceTree:/chosen/boot-uuid

- IODeviceTree:/options/4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14:ROM

- IODeviceTree:/options/4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14:MLB

 

each value is appended, in that order, on the gIOPlatformExternalData OSData object.....Those five values must be set when the kernel is started and MUST NOT change afterwards.

 

http://www.insanelymac.com/forum/topic/294633-imessage-partially-broke-icloud-app-store-fully/?p=1981588

 

Hacking the vmware exe or efi would be great because we can set these values at the source, but I don't think it would be feasible. Donk tried to decode the efi64.rom but seems vmware has encoded it in a way that is not standard.

Link to comment
Share on other sites

Donk tried to decode the efi64.rom but seems vmware has encoded it in a way that is not standard.

 

I have now found the tools to extract the modules from the VMware EFI ROMs. However haven't yet tried modifying anything.

 

As for Messages and iCloud there does seem to be a big issue with VMware, and acknowledged by VMware engineers. Burnt 2 iCloud ids trying to make it work, but to be honest not something I am that interested in as have real Mac hardware available. I have other projects I am working on, and so others will have to pick up the work for this. Sorry about that, but busy at work and home.

 

One last piece of help I can give you; it is possible to change the MAC address of any virtual NICs to match Apple's available address ranges. 

 

 

Remove or comment out these lines in the VMX file (make sure guest is powered off):

 
ethernet0.addressType = "generated"
ethernet0.generatedAddress = "xx:xx:xx:xx:xx:xx"
ethernet0.generatedAddressOffset = "0"

Add the lines with a static Apple MAC Address:

ethernet0.Address = "xx:xx:xx:xx:xx:xx"
ethernet0.addressType = "static"
ethernet0.checkMACAddress = "false"

replace the ethernetX.Address line with something from this list http://hwaddress.com/?q=Apple

  • Like 1
Link to comment
Share on other sites

  • 1 month later...
  • 6 months later...

Anyone got this working on ESXi or Workstation 10 ? I`m trying out 10.10 and none of the tricks in this thread worked for iCloud or iMessages. I was able to use EFI64.rom from the fusion, but still it does not work. 

Link to comment
Share on other sites

  • 3 weeks later...

Donk,

 

Are you aware of ANY workaround that will get this to work?  If so I would really appreciate if you can point me in the right direction (I see people claim to have it working, but I don't know if that is just noise since I cannot duplicate).  There are many claims VMWARE FUSION 7 on mac does correct this as well.  Now granted that is running on a MAC, but it is still in a VM environment, what is it doing different as the VM is contained and should be identical no?

 

Here it is in a nutshell... I can care less about imessage and facetime on my pc vm of Yosemitee...  I however am a perfectionist and this is the only thing that does not work perfect...  What is very weird is why apple allows the icloud and other things to work without issue, but this does not.

 

Again, Donk, I appreciate your assistance, it's tough to find anyone knowledgeable on this topic.

Link to comment
Share on other sites

Donk,

 

Are you aware of ANY workaround that will get this to work?  If so I would really appreciate if you can point me in the right direction (I see people claim to have it working, but I don't know if that is just noise since I cannot duplicate).  There are many claims VMWARE FUSION 7 on mac does correct this as well.  Now granted that is running on a MAC, but it is still in a VM environment, what is it doing different as the VM is contained and should be identical no?

 

Here it is in a nutshell... I can care less about imessage and facetime on my pc vm of Yosemitee...  I however am a perfectionist and this is the only thing that does not work perfect...  What is very weird is why apple allows the icloud and other things to work without issue, but this does not.

 

Again, Donk, I appreciate your assistance, it's tough to find anyone knowledgeable on this topic.

 

 

Well I have zero interest in running iMessage within a VM, as I use real Macs for work and play, but do undertsand your interest in getting things just right. There is a very good post on another web site but unfortunately I cannot link to it due to forum rules. Google "How to Fix iMessage"

 

As for the future I have seen what has changed in Fusion 7 and hopefully it will make it into Workstation 11 and ESXi 6. This thread has some of the basics:

 

https://communities.vmware.com/thread/483521

 

What VMware needed to do was pass through two additonal uniqiue identifiers from the NVRAM variables called "MLB" and "ROM". Fusion 7 has some new settings which manage the visibility of those NVRAM variables:

efi.nvram.var.ROM.reflectHost
efi.nvram.var.MLB.reflectHost

would pass through the genuine variables from a real Mac host machine. I also think it is possible to set a value in the VMX file with these 2 settings:

efi.nvram.var.MLB
efi.nvram.var.ROM

Whilst I am not going to try iMessage out, I can test those settings in Fusion and get back with a definitve answer on whether those variables can be manually set.

 

UPDATE:

 

Tried the settings with these tests:

 

1. Reflect the host settings works as expected:

efi.nvram.var.ROM.reflectHost = TRUE or FALSE
efi.nvram.var.MLB.reflectHost = TRUE or FALSE

2. Set values manually works and use 6 digits for ROM and 16 for MLB:

efi.nvram.var.ROM.reflectHost = "FALSE"
efi.nvram.var.MLB.reflectHost = "FALSE"
efi.nvram.var.ROM = "123456"
efi.nvram.var.MLB = "DONKDONKDONKDONKA"
  • Like 2
Link to comment
Share on other sites

Hi Donk,

 

Thanks for the insight, I have been following the topic you mention, as well as a similar one on InsanelyMac, link below:

 

http://www.insanelymac.com/forum/topic/298027-guide-aio-guides-for-hackintosh/?p=2060421

 

Both reference the need to have a matching ROM and MLB from a "Real" Mac which can be injected in to a Hackintosh via the Clover config.plist. It is very interesting that the same parameters can now be passed to a virtual OS X machine under Fusion 7. Are these new parameters added in Fusion 7 and hardware version 11?

 

If you have access to a real Mac use the iMessageDebug v2 script to extract the ROM and MLB as well as note the serial number which is also required.

 

http://www.insanelymac.com/forum/files/file/278-imessage-debug/

Link to comment
Share on other sites

Hi Donk,

 

Thanks for the insight, I have been following the topic you mention, as well as a similar one on InsanelyMac, link below:

 

http://www.insanelymac.com/forum/topic/298027-guide-aio-guides-for-hackintosh/?p=2060421

 

Both reference the need to have a matching ROM and MLB from a "Real" Mac which can be injected in to a Hackintosh via the Clover config.plist. It is very interesting that the same parameters can now be passed to a virtual OS X machine under Fusion 7. Are these new parameters added in Fusion 7 and hardware version 11?

 

If you have access to a real Mac use the iMessageDebug v2 script to extract the ROM and MLB as well as note the serial number which is also required.

 

http://www.insanelymac.com/forum/files/file/278-imessage-debug/

 

Hi

 

These are new parameters for Fusion 7, not sure that you need HW11. ESXi 6 has the parameters but the Tech Preview of Workstation 11 is too old to have them but hopefully released version will incorporate them.

 

I am keeping updates to the work on my blog http://daveparsons.net/blog/2014/11/14/pass-real-mac-details-to-vm-part-2/

Link to comment
Share on other sites

  • 4 weeks later...

Would we need to wait for the WS11 unlocker to test?

Bs,

 

In a word yes, also we need to confirm the new parameters have made it into the released version of Workstation 11, they were not present in the Technical Preview.

Link to comment
Share on other sites

Bs,

 

In a word yes, also we need to confirm the new parameters have made it into the released version of Workstation 11, they were not present in the Technical Preview.

I see.

 

Looking forward to updates regarding this. Still hoping to ditch my 10.8.3 VM for Yosemite, mainly for SMS support in Messages. That, or I could just install the recent jailbreak tweak that's similar to AirDroid, in that it has a browser-based interface for handling iMessages and SMS/MMS.

Link to comment
Share on other sites

  • 10 months later...

 

Well I have zero interest in running iMessage within a VM, as I use real Macs for work and play, but do undertsand your interest in getting things just right. There is a very good post on another web site but unfortunately I cannot link to it due to forum rules. Google "How to Fix iMessage"

 

As for the future I have seen what has changed in Fusion 7 and hopefully it will make it into Workstation 11 and ESXi 6. This thread has some of the basics:

 

https://communities.vmware.com/thread/483521

 

What VMware needed to do was pass through two additonal uniqiue identifiers from the NVRAM variables called "MLB" and "ROM". Fusion 7 has some new settings which manage the visibility of those NVRAM variables:

efi.nvram.var.ROM.reflectHost
efi.nvram.var.MLB.reflectHost

would pass through the genuine variables from a real Mac host machine. I also think it is possible to set a value in the VMX file with these 2 settings:

efi.nvram.var.MLB
efi.nvram.var.ROM

Whilst I am not going to try iMessage out, I can test those settings in Fusion and get back with a definitve answer on whether those variables can be manually set.

 

UPDATE:

 

Tried the settings with these tests:

 

1. Reflect the host settings works as expected:

efi.nvram.var.ROM.reflectHost = TRUE or FALSE
efi.nvram.var.MLB.reflectHost = TRUE or FALSE

2. Set values manually works and use 6 digits for ROM and 16 for MLB:

efi.nvram.var.ROM.reflectHost = "FALSE"
efi.nvram.var.MLB.reflectHost = "FALSE"
efi.nvram.var.ROM = "123456"
efi.nvram.var.MLB = "DONKDONKDONKDONKA"

Made an account to let you know that this fixed the activation issues I had with iMessage and FaceTime.

 

Now I have to figure out why I can't get the text forwarding code to show up on my vm mac.

 

 

Thanks

Link to comment
Share on other sites

 Share

×
×
  • Create New...