Jump to content

1 Screenshot

About This File

Mac OS X Unlocker for VMware V2.0

 

Please ask questions in this thread http://www.insanelymac.com/forum/topic/303311-workstation-1112-player-712-fusion-78-and-esxi-6-mac-os-x-unlocker-2/

1. Introduction

 

Unlocker 2 is designed for Workstation 11, Player 7, ESXi 6 and Fusion 7.

 

If you are using an earlier product please continue using Unlocker 1

 

Version 2 has been tested against:

  • Workstation 11/12 on Windows and Linux
  • Player 7 & Workstation Player 12 on Windows and Linux
  • Fusion 7/8 on Mavericks and Yosemite
  • ESXi 6.0

The patch code carries out the following modifications dependent on the product

being patched:

  • Fix vmware-vmx and derivatives to allow Mac OS X to boot
  • Fix vmwarebase .dll or .so to allow Apple to be selected during VM creation
  • Fix libvmkctl.so on ESXi 6 to allow use with vCenter

  • Download a copy of the latest VMware Tools for OS X

Note that not all products recognise the darwin.iso via install tools menu item.

You will have to manually mount the darwin.iso for example on Workstation 11 and Player 7.

 

The vmwarebase code does not need to be patched on OS X or ESXi so you will see a

message on those systems telling you that it will not be patched.

 

In all cases make sure VMware is not running, and any background guests have

been shutdown.

 

The code is now Python as it makes the Unlocker easier to run and maintain on ESXi.

There are some challenges to write the code as ESXi has a subset of Python 2.7 which

constrains some modules that can be used.

 

2. Prerequisites

 

The code requires Python 2.7 to work. Most Linux distros, ESXi and OS X ship with a compatible

Python interpreter and should work without requiring any additional software.

 

Windows has a packaged version of the Python script using PyInstaller, and so does not

require Python to be installed.

 

3. Limitations

 

If you are using VMware Player or Workstation on Windows you may get a core dump.

 

Latest Linux and ESXi products are OK and do not show this problem.

 

IMPORTANT:

 

If you create a new VM using version 11 hardware VMware will stop and create a core dump.There are two options to work around this issue:

1. Change the VM to be HW 10 - this does not affect performance.

2. Edit the VMX file and add:

smc.version = "0" |

4. Windows

 

On Windows you will need to either run cmd.exe as Administrator or using

Explorer right click on the command file and select "Run as administrator".

 

win-install.cmd - patches VMware

win-uninstall.cmd - restores VMware

win-update-tools.cmd - retrieves latest OS X guest tools

 

5. Linux

 

On Linux you will need to be either root or use sudo to run the scripts.

 

You may need to ensure the Linux scripts have execute permissions

by running chmod +x against the 2 files.

 

lnx-install.sh - patches VMware

lnx-uninstall.sh - restores VMware

lnx-update-tools.cmd - retrieves latest OS X guest tools

 

6. Mac OS X

 

On Mac OS X you will need to be either root or use sudo to run the scripts.

This is really only needed if you want to use client versions of Mac OS X.

 

You may need to ensure the OS X scripts have execute permissions

by running chmod +x against the 2 files.

 

osx-install.sh - patches VMware

osx-uninstall.sh - restores VMware

 

7. ESXi

 

You will need to transfer the zip file to the ESXi host either using vSphere client or SCP.

 

Once uploaded you will need to either use the ESXi support console or use SSH to

run the commands. Use the unzip command to extract the files.

 

<<< WARNING: use a datastore volume to run the scripts >>>

 

Please note that you will need to reboot the host for the patches to become active.

The patcher is embbedded in a shell script local.sh which is run at boot from /etc/rc.local.d.

 

You may need to ensure the ESXi scripts have execute permissions

by running chmod +x against the 2 files.

 

esxi-install.sh - patches VMware

esxi-uninstall.sh - restores VMware

 

Note:

1. Any changes you have made to local.sh will be lost. If you have made changes to

that file, you will need to merge them into the supplied local.sh file.

2. The unlocker runs at boot time to patch the relevant files and it now survives

an upgrade or patch to ESXi as local.sh is part of the persisted local state.

 

8. Thanks

 

Thanks to Zenith432 for originally building the C++ unlocker and Mac Son of Knife

(MSoK) for all the testing and support.

 

Thanks also to Sam B for finding the solution for ESXi 6 and helping me with

debugging expertise. Sam also wrote the code for patching ESXi ELF files.

 

 

History

 

12/12/14 2.0.0

  • First release

13/13/14 2.0.1

  • Removed need for Python for Windows

13/13/14 2.0.2

  • darwin.iso was missing from zip file

02/01/15 2.0.3

  • Added EFI firmware files to remove Server check
  • Refactored Python code

07/01/15 2.0.4

  • Added View USB Service to Windows batch files
  • Fixed broken GOS Table patching on Linux

18/06/15 2.0.5

  • ESXi 6 working
  • Latest tools from Fusion 7.1.2

20/06/15 2.0.6

  • ESXi 6 patch for smcPresent vCenter compatibility

16/09/15 2.0.7

  • Workstation 12 on Linux fixes

14/11/15 2.0.8

  • Player 12 on Linux fixes
  • Get latest VMware tools command
  • Removed firmware files
  • Moved to PyInstaller 3.0

 

© 2011-2015 Dave Parsons


What's New in Version 2.0.8   See changelog

Released

  • 12/12/14 2.0.0
  • - First release
  • 13/13/14 2.0.1
  • - Removed need for Python for Windows
  • 13/13/14 2.0.2
  • - darwin.iso was missing from zip file
  • 02/01/15 2.0.3
  • - Added EFI firmware files to remove Server check
  • - Refactored Python code
  • 07/01/15 2.0.4
  • - Added View USB Service to Windows batch files
  • - Fixed broken GOS Table patching on Linux
  • 18/06/15 2.0.5
  • - ESXi 6 working
  • - Latest tools from Fusion 7.1.2
  • 20/06/15 2.0.6
  • - ESXi 6 patch for smcPresent vCenter compatibility
  • 16/09/15 2.0.7
  • - Workstation 12 on Linux fixes
  • 14/11/15 2.0.8
  • - Player 12 on Linux fixes
  • - Get latest VMware tools command
  • - Removed firmware files
  • - Moved to PyInstaller 3.0



User Feedback

Recommended Comments



2.0.7 does not work with workstation 12 and Windows 10 because there is no x64 directory under

"C:\Program Files (x86)\VMware\VMware Workstation

in Windows 10, so

"C:\Program Files (x86)\VMware\VMware Workstation\x64\vmware-vmx.exe"

doesn't exist.

For that matter, "vmware-vmx.exe" doesn't exist anywhere in the Windows 10 installation.

Share this comment


Link to comment
Share on other sites

2.0.7 does not work with workstation 12 and Windows 10 because there is no x64 directory under

"C:\Program Files (x86)\VMware\VMware Workstation

in Windows 10, so

"C:\Program Files (x86)\VMware\VMware Workstation\x64\vmware-vmx.exe"

doesn't exist.

For that matter, "vmware-vmx.exe" doesn't exist anywhere in the Windows 10 installation.

 

Hello MumblingFumbler,

 

I tried to install the Unlocker 2.0.7 on Windows 10 x64 and Workstation 12, too.

In my installation the x64 directory exists:

 

x64_directory.png

 

I tried the unlocker for the first time today, so I am not really an expert :-)

From what I can tell it is weird that the file vmwarebase.dll should get patched in the installation process, but it has not changed if you look at the modified time stamp:

 

vmwarebasedll_modified_ts.png

Share this comment


Link to comment
Share on other sites

Sorry, I was mistaken. My version also had an x64 directory. I actually got the unlocker to work finally. Looks like some sort of permissions problem. I just gave the group 'everyone' full control, and ran the unlocker. You have to make sure that all (and there are a lot of them) VMware processes are shut down. If you want to see the unlocker errors, open a console window in the directory where it resides and run it from there. then the errors show on the console. Don't forget to set the permissions back to read-only once unlocker is done.

Share this comment


Link to comment
Share on other sites

Using: Ubuntu 15.04 + Vmware Workstation 12 Player

 

Install Linux error:

VMware Unlocker 2.0.7
===============================
Copyright: Dave Parsons 2011-15
Creating backup folder...
‘/usr/lib/vmware/bin/vmware-vmx’ -> ‘./backup/vmware-vmx’
‘/usr/lib/vmware/bin/vmware-vmx-debug’ -> ‘./backup/vmware-vmx-debug’
‘/usr/lib/vmware/bin/vmware-vmx-stats’ -> ‘./backup/vmware-vmx-stats’
‘/usr/lib/vmware/lib/libvmwarebase.so/libvmwarebase.so’ -> ‘./backup/libvmwarebase.so’
Patching...
Traceback (most recent call last):
  File "./unlocker.py", line 402, in <module>
    main()
  File "./unlocker.py", line 352, in main
    vmx_version = subprocess.check_output(["vmware", "-v"])
  File "/usr/lib/python2.7/subprocess.py", line 566, in check_output
    process = Popen(stdout=PIPE, *popenargs, **kwargs)
  File "/usr/lib/python2.7/subprocess.py", line 710, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1335, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

Share this comment


Link to comment
Share on other sites

I have the same problem in ubuntu 15.04 with vmplayer 7.1.3.

 

root@Inspiron-1564:~/Downloads/unlocker207# ./lnx-install.sh
VMware Unlocker 2.0.7
===============================
Copyright: Dave Parsons 2011-15
Creating backup folder...
‘/usr/lib/vmware/bin/vmware-vmx’ -> ‘./backup/vmware-vmx’
‘/usr/lib/vmware/bin/vmware-vmx-debug’ -> ‘./backup/vmware-vmx-debug’
‘/usr/lib/vmware/bin/vmware-vmx-stats’ -> ‘./backup/vmware-vmx-stats’
‘/usr/lib/vmware/lib/libvmwarebase.so.0/libvmwarebase.so.0’ -> ‘./backup/libvmwarebase.so.0’
Patching...
Traceback (most recent call last):
  File "./unlocker.py", line 402, in <module>
    main()
  File "./unlocker.py", line 352, in main
    vmx_version = subprocess.check_output(["vmware", "-v"])
  File "/usr/lib/python2.7/subprocess.py", line 566, in check_output
    process = Popen(stdout=PIPE, *popenargs, **kwargs)
  File "/usr/lib/python2.7/subprocess.py", line 710, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1335, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory
 
root@Inspiron-1564:~/Downloads/unlocker207# stat /usr/lib/python2.7/subprocess.py
  File: ‘/usr/lib/python2.7/subprocess.py’
  Size: 59485     Blocks: 120        IO Block: 4096   regular file

Share this comment


Link to comment
Share on other sites

I have tried the unlocker 2.0.7 on a Ubuntu 15.10 host, VMware Player 12.0.1 build-3160714.
Initially, I got some python errors...
 
The cause was that vmware command was not available:

OSError: [Errno 2] No such file or directory

Fixed by changing vmware with vmplayer in unlocker.py:352:
 
vmx_version = subprocess.check_output(["vmplayer", "-v"])
 
Next I got other python errors related to some library:

IOError: [Errno 2] No such file or directory: '/usr/lib/vmware/lib/libvmwarebase.so.0/libvmwarebase.so.0'

 

Fixed by adding another condition in unlocker.py:353:
 
if vmx_version.startswith('VMware Workstation 12') or vmx_version.startswith('VMware Player 12'):
 
Then it worked just fine. OS X El Capitan is now up and running.
 
Thank you for the tool!

Share this comment


Link to comment
Share on other sites

THe above still failed for me with VMPlayer 7.1.3 but I fixed it by changing vmware with vmplayer in unlocker.py:352:
 
vmx_version = subprocess.check_output(["vmplayer", "-v"])

 

and unlocker.py:353 to:

 
if vmx_version.startswith('VMPlayer')

Share this comment


Link to comment
Share on other sites

Please, can anybody help me,

I'm Admin on my machine,

active phython installed,

vmware 11.1.3 installed

if i run the install script

with unlocker 2.0.7, 2.0.8 anyway

.....

.....

.....

nothing happens

really perplex

.....

Share this comment


Link to comment
Share on other sites
I' running into this problem when i try to expand my OS X(El Capitan) virtual machine diskspace on VMware 12 - on Windows 10. With Unlocker 2.07

 

I'm using TechReviews: https://www.youtube....h?v=qIINnuBRsmg - download link: https://goo.gl/2Lu9c6

 

I get this core dump:

vcpu:-0:Verify vmcore/vmm/main/physmem_monitor.c:1178

 

And yes i've already added:   smc.version = "0"   to my VMX configuration file...

 

What is wrong ???

Please i can't expand my OS X VM image: 40 GB preset in VMware is simply to small

 

Regards

Tom

Share this comment


Link to comment
Share on other sites

ok, guys, thanks for responding, did it manually:
take ownership and full privileges of vmwarebase.dll, tools i got manually
und changed the code; that did it:

@echo off
setlocal ENABLEEXTENSIONS
echo VMware Unlocker 2.0.8
echo ========================
echo (c) Dave Parsons 2011-15

net session >NUL 2>&1

pushd %~dp0

set InstallPath="C:\Program Files (x86)\VMware\VMware Workstation"

echo Stopping VMware services...
net stop vmware-view-usbd > NUL 2>&1
net stop VMwareHostd > NUL 2>&1
net stop VMAuthdService > NUL 2>&1
net stop VMUSBArbService > NUL 2>&1
taskkill /F /IM vmware-tray.exe > NUL 2>&1

echo Patching...
unlocker.exe

echo Starting VMware services...
net start VMUSBArbService > NUL 2>&1
net start VMAuthdService > NUL 2>&1
net start VMwareHostd > NUL 2>&1
net start vmware-view-usbd > NUL 2>&1

popd

echo Finished!

thanks at all

Share this comment


Link to comment
Share on other sites

I have an issue when installing the unloacker (2.0.8) on the Wmvare Workstation 12 Pro with update 12.1.0.

 

Could you please check whether it works or not?

 

The system is Windows 10 Pro x64 version 1511.

 

Thanks.

Share this comment


Link to comment
Share on other sites

I have an issue when installing the unloacker (2.0.8) on the Wmvare Workstation 12 Pro with update 12.1.0.

 

Could you please check whether it works or not?

 

The system is Windows 10 Pro x64 version 1511.

 

Thanks.

----------------------------------------------------

After reinstalling Wmvare Workstation 12 then unlocker it start to work.  Please discard the previous message.

Share this comment


Link to comment
Share on other sites

Hi I'm having problems on ubuntu 15.10 running VMware Workstation 12 Player - the patch runs fine but when I then try and boot Mac OS x guest the progress bar gets stuck half way across.

 

Can anyone help to fix this?

Share this comment


Link to comment
Share on other sites

Hi I'm having problems on ubuntu 15.10 running VMware Workstation 12 Player - the patch runs fine but when I then try and boot Mac OS x guest the progress bar gets stuck half way across.

 

Can anyone help to fix this?

having the same issue here. 

unlocker 2.0.8 running with workstation 12.1 pro build-3272444 on windows 10 x64 10240

Share this comment


Link to comment
Share on other sites

vSMC Header Structure
Offset  Length  struct Type Description
----------------------------------------
0x00/00 0x08/08 Q      ptr  Offset to key table
0x08/08 0x04/4  I      int  Number of private keys
0x0C/12 0x04/4  I      int  Number of public keys

vSMC Key Data Structure
Offset  Length  struct Type Description
----------------------------------------
0x00/00 0x04/04 4s     int  Key name (byte reversed e.g. #KEY is YEK#)
0x04/04 0x01/01 B      byte Length of returned data
0x05/05 0x04/04 4s     int  Data type (byte reversed e.g. ui32 is 23iu)
0x09/09 0x01/01 B      byte Flag R/W
0x0A/10 0x06/06 6x     byte Padding
0x10/16 0x08/08 Q      ptr  Internal VMware routine
0x18/24 0x30/48 48B    byte Data
: File name too long
/root/Downloads/unlocker207/unlocker.py: line 42: $'\r': command not found
/root/Downloads/unlocker207/unlocker.py: line 47: $'\r': command not found
/root/Downloads/unlocker207/unlocker.py: line 48: syntax error near unexpected token `('
'root/Downloads/unlocker207/unlocker.py: line 48: `if sys.version_info < (2, 7):
 

vmware Unlocker 2.0.8
===============================
Copyright: Dave Parsons 2011-15
Creating backup folder...
‘/usr/lib/vmware/bin/vmware-vmx’ -> ‘./backup/vmware-vmx’
‘/usr/lib/vmware/bin/vmware-vmx-debug’ -> ‘./backup/vmware-vmx-debug’
‘/usr/lib/vmware/bin/vmware-vmx-stats’ -> ‘./backup/vmware-vmx-stats’
‘/usr/lib/vmware/lib/libvmwarebase.so/libvmwarebase.so’ -> ‘./backup/libvmwarebase.so’
Patching...
python2: can't open file './unlocker.py': [Errno 2] No such file or directory
 

 

anyone can help ?

Share this comment


Link to comment
Share on other sites

Norton flagged 2.0.8 for virus threats

2/26/2016 11:57:23 AM,Medium,gettools.exe (WS.Reputation.1) detected by Download Insight,Quarantined,Resolved - No Action Required,Threat Actions performed: 1
2/26/2016 11:57:19 AM,Medium,dumpsmc.exe (WS.Reputation.1) detected by Download Insight,Quarantined,Resolved - No Action Required,Threat Actions performed: 1
2/26/2016 11:57:18 AM,Medium,unlocker.exe (WS.Reputation.1) detected by Download Insight,Quarantined,Resolved - No Action Required,Threat Actions performed: 1

Share this comment


Link to comment
Share on other sites

Hi I'm having problems on ubuntu 15.10 running VMware Workstation 12 Player - the patch runs fine but when I then try and boot Mac OS x guest the progress bar gets stuck half way across.

 

Can anyone help to fix this?

I have the same issue on Linux with both Player and Workstation v12 … :(

Share this comment


Link to comment
Share on other sites

Hello all,

 

I updated ESXi 5.5 to 6.0 (on an HP proLiant with correct HP updater), running two OS X (10.10.3) on it. After the update I tried to install Unlocker 2.0.8, but always get this from ssh:

-sh: ./osx-install.sh: not found

 

I can see it, so I don't know what to do in order to get access to my two vms.

Any suggestion is welcome!

 

Thanks in advance,

Roger

Share this comment


Link to comment
Share on other sites

I've tried using Unlocker 2.0.8 (and 2.0.7) on two different Windows 8.1 x64 Ultimate installations running Workstation Pro 12.1.0 build-3272444 and on both systems Unlocker fails to patch vmware-vmx.exe. Note that I AM executing Unlocker from an elevated Administrator cmd window. I have tried manually stopping all VMware services prior to running Unlocker, but the problem is the same. Has anyone seen this and is there a  solution?

 

This is the output from Unlocker...

 

VMware Unlocker 2.0.8
========================
© Dave Parsons 2011-15
VMware is installed at: C:\Program Files (x86)\VMware\VMware Workstation\
Stopping VMware services...
Backing up files...
C:\Program Files (x86)\VMware\VMware Workstation\x64\vmware-vmx.exe -> E:\unlocker208\backup\x64\vmware-vmx.exe
1 File(s) copied
C:\Program Files (x86)\VMware\VMware Workstation\x64\vmware-vmx-debug.exe -> E:\unlocker208\backup\x64\vmware-vmx-debug.exe
1 File(s) copied
C:\Program Files (x86)\VMware\VMware Workstation\x64\vmware-vmx-stats.exe -> E:\unlocker208\backup\x64\vmware-vmx-stats.exe
1 File(s) copied
C:\Program Files (x86)\VMware\VMware Workstation\vmwarebase.dll -> E:\unlocker208\backup\vmwarebase.dll
1 File(s) copied
Patching...
Traceback (most recent call last):
  File "<string>", line 413, in <module>
  File "<string>", line 394, in main
  File "<string>", line 207, in patchsmc
IOError: [Errno 13] Permission denied: u'C:\\Program Files (x86)\\VMware\\VMware Workstation\\x64\\vmware-vmx.exe'
unlocker returned -1
Getting VMware Tools...
Retrieving tools from: http://softwareupdate.vmware.com/cds/vmw-desktop/fusion/8.1.1/3771013/packages/com.vmware.fusion.tools.darwin.zip.tar
E:\unlocker208\tools\darwin.iso -> C:\Program Files (x86)\VMware\VMware Workstation\darwin.iso
E:\unlocker208\tools\darwin.iso.sig -> C:\Program Files (x86)\VMware\VMware Workstation\darwin.iso.sig
2 File(s) copied
Starting VMware services...
Finished!
 
The file only seems to be locked to Unlocker... I can modify it manually with no problem.
 
UPDATE: Even tried turning off UAC completely and Unlocker is still unable to patch vmware-vmx.exe.

Share this comment


Link to comment
Share on other sites

×