unlocker 2.0.6

This commit is contained in:
Dave Parsons 2015-06-29 08:39:05 +01:00
parent 05e5b93dc3
commit ac62f4e972
10 changed files with 81 additions and 45 deletions

View File

@ -1,7 +1,7 @@
"""
The MIT License (MIT)
Copyright (c) 2014 Dave Parsons
Copyright (c) 2014-2015 Dave Parsons
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the 'Software'), to deal

View File

@ -1,7 +1,7 @@
#!/bin/sh
set -e
echo VMware Unlocker 2.0.5
echo VMware Unlocker 2.0.6
echo ===============================
echo Copyright: Dave Parsons 2011-15
@ -13,6 +13,7 @@ echo Installing local.sh
cp local-template.sh local.sh
cat unlocker.py >> local.sh
echo END >> local.sh
echo /etc/init.d/hostd restart >> local.sh
chmod +x local.sh
cp local.sh /etc/rc.local.d/local.sh
echo Success - please now restart the server!

View File

@ -1,7 +1,7 @@
#!/bin/sh
set -e
echo VMware Unlocker 2.0.5
echo VMware Unlocker 2.0.6
echo ===============================
echo Copyright: Dave Parsons 2011-15

View File

@ -1,7 +1,7 @@
#!/bin/bash
set -e
echo VMware Unlocker 2.0.5
echo VMware Unlocker 2.0.6
echo ===============================
echo Copyright: Dave Parsons 2011-15

View File

@ -1,7 +1,7 @@
#!/bin/bash
set -e
echo VMware Unlocker 2.0.5
echo VMware Unlocker 2.0.6
echo ===============================
echo Copyright: Dave Parsons 2011-15

View File

@ -2,7 +2,7 @@
set -e
set -x
echo VMware ESXi 6.x Unlocker 2.0.5
echo VMware ESXi 6.x Unlocker 2.0.6
echo ===============================
echo Copyright: Dave Parsons 2011-15
@ -35,6 +35,11 @@ ln -s /unlocker/vmx-debug /bin/vmx-debug
rm -fv /bin/vmx-stats
ln -s /unlocker/vmx-stats /bin/vmx-stats
# Copy the libvmkctl.so file
cp /lib/libvmkctl.so /unlocker
rm -fv /lib/libvmkctl.so
ln -s /unlocker/libvmkctl.so /lib/libvmkctl.so
# Patch the vmx files
logger -t unlocker Patching vmx files
python <<END

View File

@ -1,7 +1,7 @@
#!/bin/bash
set -e
echo VMware Unlocker 2.0.5
echo VMware Unlocker 2.0.6
echo ===============================
echo Copyright: Dave Parsons 2011-15

View File

@ -1,7 +1,7 @@
#!/bin/bash
set -e
echo VMware Unlocker 2.0.5
echo VMware Unlocker 2.0.6
echo ===============================
echo Copyright: Dave Parsons 2011-15

View File

@ -20,6 +20,7 @@ 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
* A copy of the latest VMware Tools for OS X is included
Note that not all products recognise the darwin.iso via install tools menu item.
@ -47,7 +48,38 @@ require Python to be installed.
3. Limitations
--------------
No known 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" |
| |
+-----------------------------------------------------------------------------+
To remove the check for server versions for OS X Leopard and Snow Leopard
(10.5 and 10.6) you must use a replacement EFI firwmare module from the firmware
folder.
If you are using a 32-bit installation of OS X:
1. Copy efi32-srvr.rom to guest folder.
2. Edit the vmx file and add:
efi32.filename = "efi32-srvr.rom"
If you are using a 64-bit installation of OS X:
1. Copy efi64-srvr.rom to guest folder.
2. Edit the vmx file and add:
efi64.filename = "efi64-srvr.rom"
4. Windows
----------
@ -102,38 +134,6 @@ Note:
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. Notes
--------
+-----------------------------------------------------------------------------+
| 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" |
| |
+-----------------------------------------------------------------------------+
To remove the check for server versions for OS X Leopard and Snow Leopard
(10.5 and 10.6) you must use a replacement EFI firwmare module from the firmware
folder.
If you are using a 32-bit installation of OS X:
1. Copy efi32-srvr.rom to guest folder.
2. Edit the vmx file and add:
efi32.filename = "efi32-srvr.rom"
If you are using a 64-bit installation of OS X:
1. Copy efi64-srvr.rom to guest folder.
2. Edit the vmx file and add:
efi64.filename = "efi64-srvr.rom"
8. Thanks
---------
@ -153,7 +153,9 @@ History
- Refactored Python code
07/01/15 2.0.4 - Added View USB Service to Windows batch files
- Fixed broken GOS Table patching on Linux
15/06/15 2.0.5 - ESXi 6 working
- Latest tools from Fusion 7.1.1
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
(c) 2011-2015 Dave Parsons

View File

@ -1,7 +1,7 @@
"""
The MIT License (MIT)
Copyright (c) 2014 Dave Parsons
Copyright (c) 2014-2015 Dave Parsons & Sam Bingner
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the 'Software'), to deal
@ -303,12 +303,28 @@ def patchbase(name):
offset += 33
# # Tidy up
# Tidy up
f.flush()
f.close()
print 'GOS Patched: ' + name
def patchvmkctl(name):
# Patch file
print 'smcPresent Patching: ' + name
f = open(name, 'r+b')
# Read file into string variable
vmkctl = f.read()
applesmc = vmkctl.find('applesmc')
f.seek(applesmc)
f.write('vmkernel')
# Tidy up
f.flush()
f.close()
print 'smcPresent Patched: ' + name
def main():
# Work around absent Platform module on VMkernel
@ -338,6 +354,7 @@ def main():
vmx_debug = vmx_path + 'vmx-debug'
vmx_stats = vmx_path + 'vmx-stats'
vmwarebase = ''
libvmkctl = vmx_path + 'libvmkctl.so'
elif osname == 'windows':
reg = ConnectRegistry(None, HKEY_LOCAL_MACHINE)
@ -353,6 +370,14 @@ def main():
print('Unknown Operating System: ' + osname)
return
# Test - remove
# osname = 'vmkernel'
# vmx = 'D:\\vmware\\test\\patched\\vmx'
# vmx_debug = 'D:\\vmware\\test\\patched\\vmx-debug'
# vmx_stats = 'D:\\vmware\\test\\patched\\vmx-stats'
# vmwarebase = ''
# libvmkctl = 'D:\\vmware\\test\\patched\\libvmkctl.so'
# Patch the vmx executables skipping stats version for Player
patchsmc(vmx, osname)
patchsmc(vmx_debug, osname)
@ -368,6 +393,9 @@ def main():
else:
print 'Patching vmwarebase is not required on this system'
if osname == 'vmkernel':
patchvmkctl(libvmkctl)
if __name__ == '__main__':
main()