diff --git a/install.sh b/install.sh index 45045c0..cf0456c 100755 --- a/install.sh +++ b/install.sh @@ -11,7 +11,7 @@ NOCOLOR='\033[0m' PDFM_DIR="/Applications/Parallels Desktop.app" PDFM_LOC="/Library/Preferences/Parallels/parallels-desktop.loc" -PDFM_VER="18.0.2-53077" +PDFM_VER="18.0.3-53079" PDFM_DISP_CRACK="${BASE_PATH}/prl_disp_service" PDFM_DISP_DST="${PDFM_DIR}/Contents/MacOS/Parallels Service.app/Contents/MacOS/prl_disp_service" @@ -20,7 +20,7 @@ PDFM_DISP_ENT="${BASE_PATH}/ParallelsService.entitlements" LICENSE_FILE="${BASE_PATH}/licenses.json" LICENSE_DST="/Library/Preferences/Parallels/licenses.json" -PDFM_DISP_HASH="4793b6b9100f29dcae23fc28aa70208e0e39c5bb53a972aebeab12c015bcf913" +PDFM_DISP_HASH="c45b432ed90b55ffef6ae9042f3ca162887d1a21581ae1f200248789d566e060" LICENSE_HASH="ac735f3ee7ac815539f07e68561baceda858cf7ac5887feae863f10a60db3d79" # read location from parallels-desktop.loc @@ -51,7 +51,7 @@ if [ "${FILE_HASH}" != "${PDFM_DISP_HASH}" ]; then echo -e "${COLOR_ERR}[-] ${FILE_HASH} != ${PDFM_DISP_HASH}${NOCOLOR}" echo -e "${COLOR_ERR}[-] verify crack file (prl_disp_service) hash error.${NOCOLOR}" echo -e "${COLOR_ERR}[-] please re-download crack files.${NOCOLOR}" - exit 4 + exit 3 fi # check licenses.json hash @@ -67,13 +67,15 @@ fi if [ "$EUID" -ne 0 ]; then echo -e "${COLOR_ERR}[-] Not have root permission, run sudo.${NOCOLOR}" exec sudo "$0" "$@" - exit $? + exit 5 fi # if prl_disp_service running, stop it -if pgrep -x "prl_disp_service" > /dev/null; then - echo -e "${COLOR_INFO}[*] Start Parallels Service${NOCOLOR}" - "${PDFM_DIR}/Contents/MacOS/Parallels Service" service_stop >/dev/null +if pgrep -x "prl_disp_service" &> /dev/null; then + echo -e "${COLOR_INFO}[*] Stop Parallels Desktop${NOCOLOR}" + pkill -9 prl_client_app &>/dev/null + pkill -9 prl_disp_service &>/dev/null + launchctl stop /Library/LaunchDaemons/com.parallels.desktop.launchdaemon.plist &>/dev/null fi echo -e "${COLOR_INFO}[*] Copy prl_disp_service${NOCOLOR}" @@ -90,7 +92,7 @@ FILE_HASH=$(shasum -a 256 -b "${PDFM_DISP_DST}" | awk '{print $1}') if [ "${FILE_HASH}" != "${PDFM_DISP_HASH}" ]; then echo -e "${COLOR_ERR}[-] ${FILE_HASH} != ${PDFM_DISP_HASH}${NOCOLOR}" echo -e "${COLOR_ERR}[-] verify target file (prl_disp_service) hash error.${NOCOLOR}" - exit 4 + exit 6 fi echo -e "${COLOR_INFO}[*] Sign prl_disp_service${NOCOLOR}" @@ -116,20 +118,39 @@ FILE_HASH=$(shasum -a 256 -b "${LICENSE_DST}" | awk '{print $1}') if [ "${FILE_HASH}" != "${LICENSE_HASH}" ]; then echo -e "${COLOR_ERR}[-] ${FILE_HASH} != ${LICENSE_HASH}${NOCOLOR}" echo -e "${COLOR_ERR}[-] verify target file (${LICENSE_DST}) hash error.${NOCOLOR}" - exit 1 + exit 7 fi # is prl_disp_service not running, start it -if ! pgrep -x "prl_disp_service" > /dev/null; then +if ! pgrep -x "prl_disp_service" &>/dev/null; then echo -e "${COLOR_INFO}[*] Start Parallels Service${NOCOLOR}" - "${PDFM_DIR}/Contents/MacOS/Parallels Service" service_start >/dev/null + "${PDFM_DIR}/Contents/MacOS/Parallels Service" service_restart &>/dev/null + for (( i=0; i < 10; ++i )) + do + if pgrep -x "prl_disp_service" &>/dev/null; then + break + fi + sleep 1 + done + if ! pgrep -x "prl_disp_service" &>/dev/null; then + echo -e "${COLOR_ERR}[x] Start Service fail.${NOCOLOR}" + fi +fi + +VALID_INFO="License: state='valid' restricted='false'" + +"${PDFM_DIR}/Contents/MacOS/prlsrvctl" info | grep "${VALID_INFO}" &>/dev/null +if [ $? != 0 ]; then + echo -e "${COLOR_ERR}[x] Crack fail, please retry it.${NOCOLOR}" + exit 9 fi echo -e "${COLOR_INFO}[*] Exit Parallels Desktop account ...${NOCOLOR}" -"${PDFM_DIR}/Contents/MacOS/prlsrvctl" web-portal signout >/dev/null +"${PDFM_DIR}/Contents/MacOS/prlsrvctl" web-portal signout &>/dev/null echo -e "${COLOR_INFO}[*] Disable CEP ...${NOCOLOR}" -"${PDFM_DIR}/Contents/MacOS/prlsrvctl" set --cep off >/dev/null -"${PDFM_DIR}/Contents/MacOS/prlsrvctl" set --allow-attach-screenshots off >/dev/null +"${PDFM_DIR}/Contents/MacOS/prlsrvctl" set --cep off &>/dev/null +"${PDFM_DIR}/Contents/MacOS/prlsrvctl" set --allow-attach-screenshots off &>/dev/null + +echo -e "${COLOR_INFO}[*] Crack success.${NOCOLOR}" -echo -e "${COLOR_INFO}[*] Crack over${NOCOLOR}" diff --git a/prl_disp_service b/prl_disp_service index e506342..d0f2362 100755 Binary files a/prl_disp_service and b/prl_disp_service differ diff --git a/readme.md b/readme.md index 67c191a..d465dda 100644 --- a/readme.md +++ b/readme.md @@ -1,6 +1,6 @@ # Parallels Desktop Crack -Crack for Parallels Desktop 18.0.2 53077 +Crack for Parallels Desktop 18.0.3 53079 - [x] Support Intel - [x] Support Apple Silicon (M1 & M2) @@ -11,7 +11,7 @@ Crack for Parallels Desktop 18.0.2 53077 1. Install Parallels Desktop. - https://download.parallels.com/desktop/v18/18.0.2-53077/ParallelsDesktop-18.0.2-53077.dmg + https://download.parallels.com/desktop/v18/18.0.3-53079/ParallelsDesktop-18.0.3-53079.dmg 2. Exit parallels account.