• Stars
    star
    3,224
  • Rank 13,928 (Top 0.3 %)
  • Language
    C++
  • License
    GNU General Publi...
  • Created about 5 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Unlocker for VMWare macOS

Auto-Unlocker

A one-click Unlocker for VMWare Player and Workstation.

A C++ port of the DrDonk Python Unlocker

The tool

This project is born to provide a native solution, mainly on Windows, to the original Unlocker project. Since the original project requires python, and it's not installed by default on windows, this tool has been coded to provide an all-in-one solution with no additional dependencies needed.

It relies on libcurl for the networking (get requests and file download) and libzip for the zip extraction. The tar extraction, being relatively easy to implement, has been coded from scratch. The libraries are linked statically to provide one final executable for the sake of simplicity.

The Windows target features a GUI implemented throught the Win32 API. Although this solution brings more complexity than using one of the many GUI libraries out there, the resulting executable will be smaller and with better compatibility.

For the linux target, it is still shell-based, given the better-instructed user base running this tool on linux os-es.

DrDonk Unlocker

Unlocker 3 is designed for VMware Workstation 11-15 and Player 7-15.

The patch code carries out the following modifications dependent on the product being patched:

  • Fix vmware-vmx and derivatives to allow macOS to boot
  • Fix vmwarebase .dll or .so to allow Apple to be selected during VM creation
  • Download a copy of the latest VMware Tools for macOS

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.

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

How to use

Windows (GUI): just download from the releases section, extract to a folder (store it if you want to be able to uninstall later) and run the executable.

Linux (shell): You need to compile the program first. After you compiled it, chmod +x if needed and run sudo ./auto-unlocker. Refer to the next section for more info about compiling the tool.

Command line options (linux):

  • --install (Default behavior when called with no arguments) Installs the patch.
  • --uninstall Uninstalls the patch. Works only if the patch was previously installed and the backup folder is intact
  • --download-tools Downloads the tools in the tools folder
  • --help Shows a list of the available options

Compile

The program can be compiled on Windows with CMake, provided you get or compile the needed libraries first. Run CMake on the source dir and it will generate a ready to build project.

The program needs the following libraries:

  • libcurl
  • libzip

The tar extraction is handled internally, while the zip decompression needs the libzip library. libcurl is used for downloading the tools.

Windows: Run CMake on the source folder to generate a Visual Studio Project. The CMakeList is set up to compile with static libraries, if you have shared ones change CMakeLists.txt file accordingly (UNLOCKER_STATIC_LIBS_WIN variable). Point the CMake utility to the proper library/headers paths when prompted or add them to your PATH.

Linux: Use the embedded Makefile. Get needed libraries (or compile them and install) first, then run make

On Ubuntu:

sudo apt-get install libcurl4-openssl-dev libzip-dev
git clone https://github.com/paolo-projects/auto-unlocker
cd auto-unlocker
make
chmod +x ./auto-unlocker
sudo ./auto-unlocker

More Repositories

1

pdf-manager

Desktop cross-platform application to manipulate PDF files
C++
16
star
2

optc-mobile-db

Mobile android app to access optc-db.github.io
Java
8
star
3

chatty

A basic real-time chat app written in TypeScript
TypeScript
4
star
4

interpolator

Desktop cross-platform application for polynomial regression, data parsing, uncertainties propagation, etc.
C++
4
star
5

rftool

An Android application for RF Analysis and recording
Kotlin
3
star
6

remote-control-server

C++
3
star
7

TouchCPLib

C++ library for the SDL based touch control panel
C++
3
star
8

terminal-emulator

A nodeJs browser library for emulating a terminal, with command and argument parsing
TypeScript
3
star
9

raspi-control-panel

A control panel written in C++ with SDL designed to run on a 3.5 Raspberry Pi touchscreen
C++
2
star
10

RowerPlus

RowerPlus Android App
Kotlin
2
star
11

adventofcode

Repo for advent of code puzzles solutions
C
2
star
12

fm-demod

Library for FM signal demodulation and playback
C++
2
star
13

paolo-optc.github.io

Web container for optc smartdb
HTML
2
star
14

shipman

Console based shipment tracking tool
Python
2
star
15

chatty-server

Basic server for the Chatty app
TypeScript
2
star
16

refractometer-simulation

Interactive optics simulation of a light beam going through a prism being refracted and reflected back
JavaScript
2
star
17

esp8266-relay-server

An ESP8266 based relay server meant to be controlled from the local network, written in C++
Java
1
star
18

tinyioc

A lightweight python library for dependency injection
Python
1
star
19

minesweeper

A minesweeper implementation
TypeScript
1
star
20

jorun

Customizable task runner written in python
Python
1
star
21

rowerplus-stm32

RowerPlus STM32F401RE Firmware
C
1
star
22

librtlsdr-android

A modified version of librtlsdr that runs on android as native library
C
1
star