diff --git a/scripts/build.sh b/scripts/build.sh index 68438c6..40c093b 100644 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -11,6 +11,8 @@ if [ -f /usr/local/opt/llvm/bin/clang ]; then CC=/usr/local/opt/llvm/bin/clang CXX=/usr/local/opt/llvm/bin/clang++ PATH="/usr/local/opt/llvm/bin:$PATH" +else + echo '[*] not found llvm homebrew version, you can install with "brew install llvm".' fi cmake -S "${ROOT_PATH}" -B "${ROOT_PATH}/build" \ @@ -19,4 +21,5 @@ cmake -S "${ROOT_PATH}" -B "${ROOT_PATH}/build" \ -DCMAKE_OSX_DEPLOYMENT_TARGET="11.0" \ -DLOGGING_DISABLE=1 \ && \ -cmake --build "${ROOT_PATH}/build" --target Configurer64 -j8 +cmake --build "${ROOT_PATH}/build" --target Configurer64 -j8 \ +&& echo "[*] Build Success" diff --git a/scripts/install.sh b/scripts/install.sh index 0a0dc69..0f423da 100644 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -1,9 +1,10 @@ #!/bin/bash CUR_PATH=$(cd "$(dirname $(readlink -f "$0"))" && pwd) -PT_ROOT_DIR="/Applications/Parallels Toolbox.app" -PD_ROOT_DIR="/Applications/Parallels Desktop.app" -CRACK_LIB="${CUR_DIR}/../build/libConfigurer64.dylib" +ROOT_PATH=$(cd "${CUR_PATH}/../" && pwd) +PTFM_APP_DIR="/Applications/Parallels Toolbox.app" +PDFM_APP_DIR="/Applications/Parallels Desktop.app" +CRACK_LIB="${ROOT_PATH}/build/libConfigurer64.dylib" # CODESIGN_CERT=B8474E27C322DFB3D4A0168127EB02DB877C3F81 CODESIGN_CERT=- @@ -11,119 +12,139 @@ function sign_cmd() { codesign -f -s ${CODESIGN_CERT} --all-architectures --deep "$1" } -function kill_pt_app() { - killall -9 "Parallels Toolbox" +function kill_ptfm_app() { + killall -9 "Parallels Toolbox" 2> /dev/null } -function kill_pd_app() { - killall -9 prl_client_app +function kill_pdfm_app() { + killall -9 prl_client_app 2> /dev/null } -function apply_pt_crack() { +function apply_ptfm_crack() { + echo "[*] Apply patch" if [ -f /usr/local/opt/llvm/bin/llvm-strip ]; then - /usr/local/opt/llvm/bin/llvm-strip -s "${CRACK_LIB}" + /usr/local/opt/llvm/bin/llvm-strip -s "${CRACK_LIB}" > /dev/null fi - cp "${CRACK_LIB}" "${PT_ROOT_DIR}/Contents/Frameworks/libConfigurer64.dylib" - if [ ! -f "${PT_ROOT_DIR}/Contents/Frameworks/libLogging.dylib.bak" ]; then - - cp "${PT_ROOT_DIR}/Contents/Frameworks/libLogging.dylib" "${PT_ROOT_DIR}/Contents/Frameworks/libLogging.dylib.bak" - "${CUR_DIR}/insert_dylib" --inplace --all-yes \ - "@rpath/libConfigurer64.dylib" \ - "${PT_ROOT_DIR}/Contents/Frameworks/libLogging.dylib" + RPATH="@rpath/libConfigurer64.dylib" + DST="${PTFM_APP_DIR}/Contents/Frameworks/libConfigurer64.dylib" + LOADER="${PTFM_APP_DIR}/Contents/Frameworks/libLogging.dylib" + if ! grep -q "${RPATH}" "${LOADER}"; then + echo "[*] insert_dylib \"${LOADER}\"" + "${CUR_PATH}/insert_dylib" --inplace --overwrite --no-strip-codesig --all-yes \ + "${RPATH}" "${LOADER}" > /dev/null fi + echo "[*] Copy \"${CRACK_LIB}\" to \"${DST}\"" + cp -f -X "${CRACK_LIB}" "${DST}" > /dev/null } -function apply_pd_crack() { +function apply_pdfm_crack() { + echo "[*] Apply patch" if [ -f /usr/local/opt/llvm/bin/llvm-strip ]; then - /usr/local/opt/llvm/bin/llvm-strip -s "${CRACK_LIB}" + /usr/local/opt/llvm/bin/llvm-strip -s "${CRACK_LIB}" > /dev/null fi - cp "${CRACK_LIB}" "${PD_ROOT_DIR}/Contents/Frameworks/libConfigurer64.dylib" - if [ ! -f "${PD_ROOT_DIR}/Contents/Frameworks/QtXml.framework/Versions/5/QtXml.bak" ]; then + RPATH="@rpath/libConfigurer64.dylib" + DST="${PDFM_APP_DIR}/Contents/Frameworks/libConfigurer64.dylib" + LOADER="${PDFM_APP_DIR}/Contents/Frameworks/QtXml.framework/Versions/5/QtXml" - cp "${PD_ROOT_DIR}/Contents/Frameworks/QtXml.framework/Versions/5/QtXml" "${PD_ROOT_DIR}/Contents/Frameworks/QtXml.framework/Versions/5/QtXml.bak" - "${CUR_DIR}/insert_dylib" --inplace --all-yes \ - "@rpath/libConfigurer64.dylib" \ - "${PD_ROOT_DIR}/Contents/Frameworks/QtXml.framework/Versions/5/QtXml" + if ! grep -q "${RPATH}" "${LOADER}"; then + echo "[*] insert_dylib \"${LOADER}\"" + "${CUR_PATH}/insert_dylib" --inplace --overwrite --no-strip-codesig --all-yes \ + "${RPATH}" "${LOADER}" > /dev/null fi + echo "[*] Copy \"${CRACK_LIB}\" to \"${DST}\"" + cp -f -X "${CRACK_LIB}" "${DST}" > /dev/null } -function sign_pt() { - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Airplane Mode.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Alarm.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Archive.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Barcode Generator.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Barcode Reader.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Break Time.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/CPU Temperature.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Capture Area.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Capture Screen.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Capture Window.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Clean Drive.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Clipboard History.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Convert Video.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Date Countdown.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Do Not Disturb.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Do Not Sleep.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Download Audio.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Download Video.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Eject Volumes.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Encrypt Files.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Energy Saver.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Find Duplicates.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Focus on Window.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Free Memory.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Hidden Files.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Hide Desktop Files.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Hide Menu Icons.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Launch.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Lock Screen.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Make GIF.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Mute Microphone.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Parallels Tool Launcher.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Presentation Mode.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Recognize Text.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Record Area.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Record Audio.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Record Screen.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Record Window.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Resize Images.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Screenshot Page.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Show Desktop.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Sleep Timer.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Stopwatch.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Switch Resolution.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Take Photo.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Take Video.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Timer.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Transform Text.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Unarchive.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Uninstall Apps.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Unit Converter.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Verify Checksum.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/Window Manager.app" - sign_cmd "${PT_ROOT_DIR}/Contents/Applications/World Time.app" - sign_cmd "${PT_ROOT_DIR}/Parallels Toolbox.app" +function sign_ptfm() { + echo "[*] Sign Parallels Toolbox App" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Airplane Mode.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Alarm.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Archive.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Barcode Generator.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Barcode Reader.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Break Time.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/CPU Temperature.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Capture Area.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Capture Screen.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Capture Window.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Clean Drive.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Clipboard History.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Convert Video.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Date Countdown.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Do Not Disturb.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Do Not Sleep.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Download Audio.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Download Video.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Eject Volumes.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Encrypt Files.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Energy Saver.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Find Duplicates.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Focus on Window.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Free Memory.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Hidden Files.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Hide Desktop Files.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Hide Menu Icons.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Launch.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Lock Screen.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Make GIF.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Mute Microphone.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Parallels Tool Launcher.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Presentation Mode.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Recognize Text.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Record Area.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Record Audio.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Record Screen.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Record Window.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Resize Images.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Screenshot Page.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Show Desktop.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Sleep Timer.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Stopwatch.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Switch Resolution.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Take Photo.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Take Video.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Timer.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Transform Text.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Unarchive.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Uninstall Apps.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Unit Converter.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Verify Checksum.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/Window Manager.app" + sign_cmd "${PTFM_APP_DIR}/Contents/Applications/World Time.app" + sign_cmd "${PTFM_APP_DIR}/Parallels Toolbox.app" } -function sign_pd() { - sign_cmd "${PD_ROOT_DIR}/Contents/Applications/Parallels Link.app" - sign_cmd "${PD_ROOT_DIR}/Contents/Applications/Parallels Mounter.app" - sign_cmd "${PD_ROOT_DIR}/Contents/Applications/Parallels Technical Data Reporter.app" - sign_cmd "${PD_ROOT_DIR}/Contents/MacOS/Parallels Mac VM.app" - sign_cmd "${PD_ROOT_DIR}/Contents/MacOS/Parallels Service.app" - sign_cmd "${PD_ROOT_DIR}/Contents/MacOS/Parallels VM 10.14.app" - sign_cmd "${PD_ROOT_DIR}/Contents/MacOS/Parallels VM.app" - sign_cmd "${PD_ROOT_DIR}/Parallels Desktop.app" +function sign_pdfm() { + echo "[*] Sign Parallels Desktop App" + sign_cmd "${PDFM_APP_DIR}/Contents/Applications/Parallels Link.app" + sign_cmd "${PDFM_APP_DIR}/Contents/Applications/Parallels Mounter.app" + sign_cmd "${PDFM_APP_DIR}/Contents/Applications/Parallels Technical Data Reporter.app" + sign_cmd "${PDFM_APP_DIR}/Contents/MacOS/Parallels Mac VM.app" + sign_cmd "${PDFM_APP_DIR}/Contents/MacOS/Parallels Service.app" + sign_cmd "${PDFM_APP_DIR}/Contents/MacOS/Parallels VM 10.14.app" + sign_cmd "${PDFM_APP_DIR}/Contents/MacOS/Parallels VM.app" + sign_cmd "${PDFM_APP_DIR}" } -kill_pt_app -kill_pd_app -apply_pt_crack -apply_pd_crack -sign_pt -sign_pd +if [ -d "${PTFM_APP_DIR}" ]; then + echo "[*] Install Parallels Toolbox patch" + kill_ptfm_app + apply_ptfm_crack + sign_ptfm +else + echo "[*] not found ${PTFM_APP_DIR}, skip." +fi + +if [ -d "${PDFM_APP_DIR}" ]; then + echo "[*] Install Parallels Desktop patch" + kill_pdfm_app + apply_pdfm_crack + sign_pdfm +else + echo "[*] not found ${PDFM_APP_DIR}, skip." +fi diff --git a/scripts/publish.sh b/scripts/publish.sh index 74310d3..9828e4a 100644 --- a/scripts/publish.sh +++ b/scripts/publish.sh @@ -33,25 +33,41 @@ function sign_cmd() { } function ensure_download_ptfm_dmg() { - echo "check ${PTFM_DMG_FILE}" + if [ -f "${PTFM_DMG_FILE}" ]; then + echo "[*] Check hash for \"${PTFM_DMG_FILE}\"" + FILE_HASH=$(shasum -a 256 -b "${PTFM_DMG_FILE}" | awk '{print $1}') + if [ ${FILE_HASH} != ${PTFM_SHA256SUM} ]; then + echo "[-] ${FILE_HASH} != ${PTFM_SHA256SUM}" + echo "[*] Delete \"${PTFM_DMG_FILE}\"" + rm -f "${PTFM_DMG_FILE}" + fi + fi if [ ! -f "${PTFM_DMG_FILE}" ]; then - echo "download ${PTFM_DMG_DOWNLOAD_URL}" + echo "[*] Download ${PTFM_DMG_DOWNLOAD_URL}" mkdir -p $(dirname "${PTFM_DMG_FILE}") curl -L --progress-bar -o "${PTFM_DMG_FILE}" "${PTFM_DMG_DOWNLOAD_URL}" fi } function ensure_download_pdfm_dmg() { - echo "check ${PDFM_DMG_FILE}" + if [ -f "${PDFM_DMG_FILE}" ]; then + echo "[*] Check hash for \"${PDFM_DMG_FILE}\"" + FILE_HASH=$(shasum -a 256 -b "${PDFM_DMG_FILE}" | awk '{print $1}') + if [ ${FILE_HASH} != ${PDFM_SHA256SUM} ]; then + echo "[-] ${FILE_HASH} != ${PDFM_SHA256SUM}" + echo "[*] Delete \"${PDFM_DMG_FILE}\"" + rm -f "${PDFM_DMG_FILE}" + fi + fi if [ ! -f "${PDFM_DMG_FILE}" ]; then - echo "download ${PDFM_DMG_DOWNLOAD_URL}" + echo "[*] Download ${PDFM_DMG_DOWNLOAD_URL}" mkdir -p $(dirname "${PDFM_DMG_FILE}") curl -L --progress-bar -o "${PDFM_DMG_FILE}" "${PDFM_DMG_DOWNLOAD_URL}" fi } function copy_ptfm_files() { - echo "copy files" + echo "[*] Copy files" if [ -d "${PTFM_TMP_DIR}" ]; then rm -rf "${PTFM_TMP_DIR}" > /dev/null fi @@ -67,7 +83,7 @@ function copy_ptfm_files() { } function copy_pdfm_files() { - echo "copy files" + echo "[*] Copy files" if [ -d "${PDFM_TMP_DIR}" ]; then rm -rf "${PDFM_TMP_DIR}" > /dev/null fi @@ -84,39 +100,41 @@ function copy_pdfm_files() { } function apply_ptfm_crack() { - echo "apply patch" + echo "[*] Apply patch" + if [ -f /usr/local/opt/llvm/bin/llvm-strip ]; then /usr/local/opt/llvm/bin/llvm-strip -s "${CRACK_LIB}" > /dev/null fi - cp -f -X "${CRACK_LIB}" \ - "${PTFM_TMP_DIR}/Install Parallels Toolbox.app/Contents/Frameworks/libConfigurer64.dylib" \ - > /dev/null + RPATH="@rpath/libConfigurer64.dylib" + DST="${PTFM_TMP_DIR}/Install Parallels Toolbox.app/Contents/Frameworks/libConfigurer64.dylib" + LOADER="${PTFM_TMP_DIR}/Install Parallels Toolbox.app/Contents/Frameworks/libLogging.dylib" - "${CUR_PATH}/insert_dylib" --inplace --all-yes \ - "@rpath/libConfigurer64.dylib" \ - "${PTFM_TMP_DIR}/Install Parallels Toolbox.app/Contents/Frameworks/libLogging.dylib" \ - > /dev/null + "${CUR_PATH}/insert_dylib" --inplace --overwrite --no-strip-codesig --all-yes \ + "${RPATH}" "${LOADER}" > /dev/null + + cp -f -X "${CRACK_LIB}" "${DST}" > /dev/null } function apply_pdfm_crack() { - echo "apply patch" + echo "[*] Apply patch" + if [ -f /usr/local/opt/llvm/bin/llvm-strip ]; then /usr/local/opt/llvm/bin/llvm-strip -s "${CRACK_LIB}" > /dev/null fi - cp -f -X "${CRACK_LIB}" \ - "${PDFM_TMP_DIR}/Parallels Desktop.app/Contents/Frameworks/libConfigurer64.dylib" \ - > /dev/null + RPATH="@rpath/libConfigurer64.dylib" + DST="${PDFM_TMP_DIR}/Parallels Desktop.app/Contents/Frameworks/libConfigurer64.dylib" + LOADER="${PDFM_TMP_DIR}/Parallels Desktop.app/Contents/Frameworks/QtXml.framework/Versions/5/QtXml" - "${CUR_PATH}/insert_dylib" --inplace --all-yes \ - "@rpath/libConfigurer64.dylib" \ - "${PDFM_TMP_DIR}/Parallels Desktop.app/Contents/Frameworks/QtXml.framework/Versions/5/QtXml" \ - > /dev/null + "${CUR_PATH}/insert_dylib" --inplace --overwrite --no-strip-codesig --all-yes \ + "${RPATH}" "${LOADER}" > /dev/null + + cp -f -X "${CRACK_LIB}" "${DST}" > /dev/null } function sign_ptfm() { - echo "sign app" + echo "[*] Sign Parallels Toolbox App" sign_cmd "${PTFM_TMP_DIR}/Install Parallels Toolbox.app/Contents/Library/Install/ToolboxInstaller" sign_cmd "${PTFM_TMP_DIR}/Install Parallels Toolbox.app/Contents/Applications/Airplane Mode.app" sign_cmd "${PTFM_TMP_DIR}/Install Parallels Toolbox.app/Contents/Applications/Alarm.app" @@ -176,7 +194,7 @@ function sign_ptfm() { } function sign_pdfm() { - echo "sign app" + echo "[*] Sign Parallels Desktop App" sign_cmd "${PDFM_TMP_DIR}/Parallels Desktop.app/Contents/Applications/Parallels Link.app" sign_cmd "${PDFM_TMP_DIR}/Parallels Desktop.app/Contents/Applications/Parallels Mounter.app" sign_cmd "${PDFM_TMP_DIR}/Parallels Desktop.app/Contents/Applications/Parallels Technical Data Reporter.app" @@ -193,7 +211,7 @@ function set_pdfm_app_hide() { } function create_ptfm_dmg() { - echo "create dmg ${PTFM_PUBLISH_FILE}" + echo "[*] Create dmg ${PTFM_PUBLISH_FILE}" mkdir -p "${PUBLISH_PATH}" if [ -f "${PTFM_PUBLISH_FILE}" ]; then @@ -214,7 +232,7 @@ function create_ptfm_dmg() { } function create_pdfm_dmg() { - echo "create dmg ${PDFM_PUBLISH_FILE}" + echo "[*] Create dmg ${PDFM_PUBLISH_FILE}" mkdir -p "${PUBLISH_PATH}" if [ -f "${PDFM_PUBLISH_FILE}" ]; then @@ -251,9 +269,5 @@ function publish_pdfm_crack_dmg() { create_pdfm_dmg } - publish_ptfm_crack_dmg publish_pdfm_crack_dmg - - -