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