mirror of
https://github.com/paolo-projects/unlocker.git
synced 2025-07-27 07:54:42 +02:00
Unlocker 2.0.8
This commit is contained in:
parent
490cb90af8
commit
c59b11ab43
2
.gitignore
vendored
2
.gitignore
vendored
@ -5,3 +5,5 @@ unlocker/build
|
|||||||
unlocker/dist
|
unlocker/dist
|
||||||
dumpsmc/build
|
dumpsmc/build
|
||||||
dumpsmc/dist
|
dumpsmc/dist
|
||||||
|
gettools/build
|
||||||
|
gettools/dist
|
@ -106,7 +106,7 @@ def main():
|
|||||||
shutil.move(convertPath(dir + '/tools/payload/darwin.iso'), convertPath(dir + '/tools/darwin.iso'))
|
shutil.move(convertPath(dir + '/tools/payload/darwin.iso'), convertPath(dir + '/tools/darwin.iso'))
|
||||||
shutil.move(convertPath(dir + '/tools/payload/darwin.iso.sig'), convertPath(dir + '/tools/darwin.iso.sig'))
|
shutil.move(convertPath(dir + '/tools/payload/darwin.iso.sig'), convertPath(dir + '/tools/darwin.iso.sig'))
|
||||||
|
|
||||||
# Cleanup workiong files and folders
|
# Cleanup working files and folders
|
||||||
shutil.rmtree(convertPath(dir + '/tools/payload'), True)
|
shutil.rmtree(convertPath(dir + '/tools/payload'), True)
|
||||||
os.remove(convertPath(dir + '/tools/com.vmware.fusion.tools.darwin.zip.tar'))
|
os.remove(convertPath(dir + '/tools/com.vmware.fusion.tools.darwin.zip.tar'))
|
||||||
os.remove(convertPath(dir + '/tools/com.vmware.fusion.tools.darwin.zip'))
|
os.remove(convertPath(dir + '/tools/com.vmware.fusion.tools.darwin.zip'))
|
||||||
|
@ -29,6 +29,8 @@ fi
|
|||||||
echo Patching...
|
echo Patching...
|
||||||
python2 ./unlocker.py
|
python2 ./unlocker.py
|
||||||
|
|
||||||
|
echo Getting VMware Tools...
|
||||||
|
python2 gettools.py
|
||||||
cp ./tools/darwin.* /usr/lib/vmware/isoimages/
|
cp ./tools/darwin.* /usr/lib/vmware/isoimages/
|
||||||
|
|
||||||
echo Finished!
|
echo Finished!
|
||||||
|
@ -26,6 +26,7 @@ fi
|
|||||||
|
|
||||||
echo Removing backup files...
|
echo Removing backup files...
|
||||||
rm -rf ./backup
|
rm -rf ./backup
|
||||||
|
rm -rf ./tools
|
||||||
rm -f /usr/lib/vmware/isoimages/darwin.*
|
rm -f /usr/lib/vmware/isoimages/darwin.*
|
||||||
|
|
||||||
echo Finished!
|
echo Finished!
|
||||||
|
22
lnx-update-tools.sh
Normal file
22
lnx-update-tools.sh
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
echo VMware Get OS X Tools 2.0.8
|
||||||
|
echo ===============================
|
||||||
|
echo Copyright: Dave Parsons 2011-15
|
||||||
|
|
||||||
|
# Ensure we only use unmodified commands
|
||||||
|
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
|
||||||
|
|
||||||
|
# Make sure only root can run our script
|
||||||
|
if [[ $EUID -ne 0 ]]; then
|
||||||
|
echo "This script must be run as root" 1>&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo Getting VMware Tools...
|
||||||
|
python2 gettools.py
|
||||||
|
cp ./tools/darwin.* /usr/lib/vmware/isoimages/
|
||||||
|
|
||||||
|
echo Finished!
|
||||||
|
|
@ -1,166 +0,0 @@
|
|||||||
[u][b]Mac OS X Unlocker for VMware V2.0[/b][/u]
|
|
||||||
|
|
||||||
|
|
||||||
[u]1. Introduction[/u]
|
|
||||||
|
|
||||||
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:
|
|
||||||
[LIST]
|
|
||||||
[*]Workstation 11/12 Pro on Windows and Linux[/*]
|
|
||||||
[*]Player 7 & Workstation Player 12 on Windows and Linux[/*]
|
|
||||||
[*]Fusion 7/8 on Mavericks and Yosemite[/*]
|
|
||||||
[*]ESXi 6.0[/*]
|
|
||||||
[/LIST]
|
|
||||||
The patch code carries out the following modifications dependent on the product
|
|
||||||
being patched:
|
|
||||||
[LIST]
|
|
||||||
[*]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[/*]
|
|
||||||
[/LIST]
|
|
||||||
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 and Player.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
[u]2. Prerequisites[/u]
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
[u]3. Limitations[/u]
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
[color=#ff0000][u][b] IMPORTANT:[/b][/u]
|
|
||||||
|
|
||||||
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: [/color]
|
|
||||||
|
|
||||||
[code=auto:0] smc.version = "0" |[/code]
|
|
||||||
|
|
||||||
[u]4. Windows[/u]
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
[u]5. Linux[/u]
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
[u]6. Mac OS X[/u]
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
[u]7. ESXi[/u]
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
[color=#ff0000][b]<<< WARNING: use a datastore volume to run the scripts >>>[/b][/color]
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
[u]8. Thanks[/u]
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
|
|
||||||
[u]History[/u]
|
|
||||||
|
|
||||||
12/12/14 2.0.0
|
|
||||||
[LIST]
|
|
||||||
[*]First release[/*]
|
|
||||||
[/LIST]
|
|
||||||
13/13/14 2.0.1
|
|
||||||
[LIST]
|
|
||||||
[*]Removed need for Python for Windows[/*]
|
|
||||||
[/LIST]
|
|
||||||
13/13/14 2.0.2
|
|
||||||
[LIST]
|
|
||||||
[*]darwin.iso was missing from zip file[/*]
|
|
||||||
[/LIST]
|
|
||||||
02/01/15 2.0.3
|
|
||||||
[LIST]
|
|
||||||
[*]Added EFI firmware files to remove Server check[/*]
|
|
||||||
[*]Refactored Python code[/*]
|
|
||||||
[/LIST]
|
|
||||||
07/01/15 2.0.4
|
|
||||||
[LIST]
|
|
||||||
[*]Added View USB Service to Windows batch files[/*]
|
|
||||||
[*]Fixed broken GOS Table patching on Linux[/*]
|
|
||||||
[/LIST]
|
|
||||||
18/06/15 2.0.5
|
|
||||||
[LIST]
|
|
||||||
[*]ESXi 6 working[/*]
|
|
||||||
[*]Latest tools from Fusion 7.1.2[/*]
|
|
||||||
[/LIST]
|
|
||||||
20/06/15 2.0.6
|
|
||||||
[LIST]
|
|
||||||
[*]ESXi 6 patch for smcPresent vCenter compatibility[/*]
|
|
||||||
[/LIST]
|
|
||||||
16/09/15 2.0.7
|
|
||||||
[LIST]
|
|
||||||
[*]Workstation 12 on Linux fixes[/*]
|
|
||||||
[/LIST]
|
|
||||||
[/LIST]
|
|
||||||
16/09/15 2.0.8
|
|
||||||
[LIST]
|
|
||||||
[*]Player 12 on Linux fixes[/*]
|
|
||||||
[/LIST]
|
|
||||||
(c) 2011-2015 Dave Parsons
|
|
15
readme.txt
15
readme.txt
@ -21,10 +21,10 @@ being patched:
|
|||||||
* Fix vmware-vmx and derivatives to allow Mac OS X to boot
|
* 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 vmwarebase .dll or .so to allow Apple to be selected during VM creation
|
||||||
* Fix libvmkctl.so on ESXi 6 to allow use with vCenter
|
* Fix libvmkctl.so on ESXi 6 to allow use with vCenter
|
||||||
* A copy of the latest VMware Tools for OS X is included
|
* 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.
|
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 and Player.
|
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
|
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.
|
message on those systems telling you that it will not be patched.
|
||||||
@ -56,8 +56,8 @@ Latest Linux and ESXi products are OK and do not show this problem.
|
|||||||
| IMPORTANT: |
|
| IMPORTANT: |
|
||||||
| ========== |
|
| ========== |
|
||||||
| |
|
| |
|
||||||
| If you create a new VM using version 11 or 12 hardware VMware will stop and |
|
| If you create a new VM using version 11 or 12 hardware VMware may stop and |
|
||||||
| create a core dump.There are two options to work around this issue: |
|
| 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. |
|
| 1. Change the VM to be HW 10 - this does not affect performance. |
|
||||||
| 2. Edit the VMX file and add: |
|
| 2. Edit the VMX file and add: |
|
||||||
@ -72,6 +72,7 @@ Explorer right click on the command file and select "Run as administrator".
|
|||||||
|
|
||||||
win-install.cmd - patches VMware
|
win-install.cmd - patches VMware
|
||||||
win-uninstall.cmd - restores VMware
|
win-uninstall.cmd - restores VMware
|
||||||
|
win-update-tools.cmd - retrieves latest OS X guest tools
|
||||||
|
|
||||||
5. Linux
|
5. Linux
|
||||||
---------
|
---------
|
||||||
@ -82,6 +83,7 @@ by running chmod +x against the 2 files.
|
|||||||
|
|
||||||
lnx-install.sh - patches VMware
|
lnx-install.sh - patches VMware
|
||||||
lnx-uninstall.sh - restores VMware
|
lnx-uninstall.sh - restores VMware
|
||||||
|
lnx-update-tools.cmd - retrieves latest OS X guest tools
|
||||||
|
|
||||||
6. Mac OS X
|
6. Mac OS X
|
||||||
-----------
|
-----------
|
||||||
@ -141,6 +143,9 @@ History
|
|||||||
- Latest tools from Fusion 7.1.2
|
- Latest tools from Fusion 7.1.2
|
||||||
20/06/15 2.0.6 - ESXi 6 patch for smcPresent vCenter compatibility
|
20/06/15 2.0.6 - ESXi 6 patch for smcPresent vCenter compatibility
|
||||||
16/09/15 2.0.7 - Workstation 12 on Linux fixes
|
16/09/15 2.0.7 - Workstation 12 on Linux fixes
|
||||||
19/09/15 2.0.8 - Player 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
|
||||||
|
|
||||||
(c) 2011-2015 Dave Parsons
|
(c) 2011-2015 Dave Parsons
|
@ -1,6 +1,6 @@
|
|||||||
@echo off
|
@echo off
|
||||||
setlocal ENABLEEXTENSIONS
|
setlocal ENABLEEXTENSIONS
|
||||||
echo VMware Unlocker 2.0.7
|
echo VMware Unlocker 2.0.8
|
||||||
echo ========================
|
echo ========================
|
||||||
echo (c) Dave Parsons 2011-15
|
echo (c) Dave Parsons 2011-15
|
||||||
|
|
||||||
@ -36,6 +36,8 @@ xcopy /F /Y "%InstallPath%vmwarebase.dll" .\backup\
|
|||||||
echo Patching...
|
echo Patching...
|
||||||
unlocker.exe
|
unlocker.exe
|
||||||
|
|
||||||
|
echo Getting VMware Tools...
|
||||||
|
gettools.exe
|
||||||
xcopy /F /Y .\tools\darwin.* "%InstallPath%"
|
xcopy /F /Y .\tools\darwin.* "%InstallPath%"
|
||||||
|
|
||||||
echo Starting VMware services...
|
echo Starting VMware services...
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
@echo off
|
@echo off
|
||||||
setlocal ENABLEEXTENSIONS
|
setlocal ENABLEEXTENSIONS
|
||||||
echo VMware Unlocker 2.0.7
|
echo VMware Unlocker 2.0.8
|
||||||
echo ========================
|
echo ========================
|
||||||
echo (c) Dave Parsons 2011-15
|
echo (c) Dave Parsons 2011-15
|
||||||
|
|
||||||
@ -36,6 +36,8 @@ xcopy /F /Y "%InstallPath%vmwarebase.dll" .\backup\
|
|||||||
echo Patching...
|
echo Patching...
|
||||||
python unlocker.py
|
python unlocker.py
|
||||||
|
|
||||||
|
echo Getting VMware Tools...
|
||||||
|
python gettools.py
|
||||||
xcopy /F /Y .\tools\darwin.* "%InstallPath%"
|
xcopy /F /Y .\tools\darwin.* "%InstallPath%"
|
||||||
|
|
||||||
echo Starting VMware services...
|
echo Starting VMware services...
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
@echo off
|
@echo off
|
||||||
setlocal ENABLEEXTENSIONS
|
setlocal ENABLEEXTENSIONS
|
||||||
echo VMware Unlocker 2.0.7
|
echo VMware Unlocker 2.0.8
|
||||||
echo ========================
|
echo ========================
|
||||||
echo (c) Dave Parsons 2011-15
|
echo (c) Dave Parsons 2011-15
|
||||||
|
|
||||||
@ -35,6 +35,7 @@ del /f "%InstallPath%"darwin.*
|
|||||||
|
|
||||||
echo Removing backup files...
|
echo Removing backup files...
|
||||||
rd /s /q .\backup > NUL 2>&1
|
rd /s /q .\backup > NUL 2>&1
|
||||||
|
rd /s /q .\tools > NUL 2>&1
|
||||||
|
|
||||||
echo Starting VMware services...
|
echo Starting VMware services...
|
||||||
net start VMUSBArbService > NUL 2>&1
|
net start VMUSBArbService > NUL 2>&1
|
||||||
|
26
win-update-tools.cmd
Normal file
26
win-update-tools.cmd
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
@echo off
|
||||||
|
setlocal ENABLEEXTENSIONS
|
||||||
|
echo VMware Get OS X Tools 2.0.8
|
||||||
|
echo ===========================
|
||||||
|
echo (c) Dave Parsons 2011-15
|
||||||
|
|
||||||
|
net session >NUL 2>&1
|
||||||
|
if %errorlevel% neq 0 (
|
||||||
|
echo Administrator privileges required!
|
||||||
|
exit
|
||||||
|
)
|
||||||
|
|
||||||
|
pushd %~dp0
|
||||||
|
|
||||||
|
set KeyName="HKLM\SOFTWARE\Wow6432Node\VMware, Inc.\VMware Workstation"
|
||||||
|
:: delims is a TAB followed by a space
|
||||||
|
for /F "tokens=2* delims= " %%A in ('REG QUERY %KeyName% /v InstallPath') do set InstallPath=%%B
|
||||||
|
echo VMware is installed at: %InstallPath%
|
||||||
|
|
||||||
|
echo Getting VMware Tools...
|
||||||
|
gettools.exe
|
||||||
|
xcopy /F /Y .\tools\darwin.* "%InstallPath%"
|
||||||
|
|
||||||
|
popd
|
||||||
|
|
||||||
|
echo Finished!
|
Loading…
x
Reference in New Issue
Block a user