用户97203134的头像-Mac软件免费下载-Mac良选
湖南
这家伙很懒,什么都没有写...

1年前
#!/usr/bin/env bash COLOR_INFO='\033[0;34m' COLOR_ERR='\033[0;35m' COLOR_WARN='\033[0;93m' NOCOLOR='\033[0m' BASE_PATH=$( cd $(dirname "$0"); pwd ) PDFM_VER="19.1.0-54729" PDFM_DIR="/Applications/Parallels Desktop.app" LICENSE_FILE="${BASE_PATH}/licenses.json" LICENSE_DST="/Library/Preferences/Parallels/licenses.json" PDFM_DISP_DIR="${PDFM_DIR}/Contents/MacOS/Parallels Service.app/Contents/MacOS" PDFM_DISP_DST="${PDFM_DISP_DIR}/prl_disp_service" PDFM_DISP_BCUP="${PDFM_DISP_DST}_bcup" PDFM_DISP_PATCH="${PDFM_DISP_DST}_patched" PDFM_DISP_ENT="${BASE_PATH}/ParallelsService.entitlements" TMP_DIR="${BASE_PATH}/tmp" ARM64_RET_1="${TMP_DIR}/arm64_ret_1" ARM64_B_0xC="${TMP_DIR}/arm64_b_0xC" ARM64_B_0x10="${TMP_DIR}/arm64_b_0x10" X86_64_JMP_0x17="${TMP_DIR}/x86_64_jmp_0x17" X86_64_JMP_0xA="${TMP_DIR}/x86_64_jmp_0xa" X86_64_RET_1="${TMP_DIR}/x86_64_ret_1" # check parallels desktop version VERSION_1=$(defaults read "${PDFM_DIR}/Contents/Info.plist" CFBundleShortVersionString) VERSION_2=$(defaults read "${PDFM_DIR}/Contents/Info.plist" CFBundleVersion) INSTALL_VER="${VERSION_1}-${VERSION_2}" if [ "${PDFM_VER}" != "${VERSION_1}-${VERSION_2}" ]; then echo -e "${COLOR_ERR}[-] 这个破解脚本适用于 ${PDFM_VER}, 但你电脑目前安装的版本是 ${INSTALL_VER}.${NOCOLOR}" exit 2 fi # check root permission if [ "$EUID" -ne 0 ]; then echo -e "${COLOR_ERR}[-] 🔑 下方输入开机密码回车(输入密码看不见)来注入证书.${NOCOLOR}" exec sudo "$0" "$@" exit 5 fi # stop prl_disp_service if pgrep -x "prl_disp_service" &> /dev/null; then echo -e "${COLOR_INFO}[*] 退出 Parallels Desktop${NOCOLOR}" pkill -9 prl_client_app &>/dev/null # ensure prl_disp_service has stopped "${PDFM_DIR}/Contents/MacOS/Parallels Service" service_stop &>/dev/null sleep 1 launchctl stop /Library/LaunchDaemons/com.parallels.desktop.launchdaemon.plist &>/dev/null sleep 1 pkill -9 prl_disp_service &>/dev/null sleep 1 rm -f "/var/run/prl_*" fi echo -e "${COLOR_INFO}[*] maclx安装补丁证书中...${NOCOLOR}" # prepare temp folder and files if [ ! -d "${TMP_DIR}" ]; then mkdir "${TMP_DIR}" fi echo -n -e '\x20\x00\x80\xd2\xc0\x03\x5f\xd6' > "${ARM64_RET_1}" echo -n -e '\x04\x00\x00\x14' > "${ARM64_B_0x10}" echo -n -e '\x03\x00\x00\x14' > "${ARM64_B_0xC}" echo -n -e '\xeb\x15' > "${X86_64_JMP_0x17}" echo -n -e '\xeb\x08' > "${X86_64_JMP_0xA}" echo -n -e '\x6a\x01\x58\xc3' > "${X86_64_RET_1}" # patch prl_disp_service if [ ! -f "${PDFM_DISP_BCUP}" ]; then cp "${PDFM_DISP_DST}" "${PDFM_DISP_BCUP}" fi chflags -R 0 "${PDFM_DISP_DST}" # [ ARM64 ] # arm64 bypass public key loading erros # 0xDF6928 dd if="${ARM64_B_0x10}" of="${PDFM_DISP_DST}" obs=1 seek=14641448 conv=notrunc # arm64 party bypass license info loading errors # 0xDF696C dd if="${ARM64_B_0xC}" of="${PDFM_DISP_DST}" obs=1 seek=14641516 conv=notrunc # arm64 bypass license signature check # 0x1066D84 dd if="${ARM64_RET_1}" of="${PDFM_DISP_DST}" obs=1 seek=17198468 conv=notrunc # arm64 bypass binary codesign check # 0x12366D4 dd if="${ARM64_RET_1}" of="${PDFM_DISP_DST}" obs=1 seek=19097300 conv=notrunc # [ x86_64 ] # x86_64 bypass public key loading erros # 0x33AB95 dd if="${X86_64_JMP_0x17}" of="${PDFM_DISP_DST}" obs=1 seek=3386261 conv=notrunc # arm64 party bypass license info loading errors # 0x33ABDE dd if="${X86_64_JMP_0xA}" of="${PDFM_DISP_DST}" obs=1 seek=3386334 conv=notrunc # X86_64 bypass license signature check # 0x59AF00 dd if="${X86_64_RET_1}" of="${PDFM_DISP_DST}" obs=1 seek=5877504 conv=notrunc # X86_64 bypass binary codesign check # 0x7ABE20 dd if="${X86_64_RET_1}" of="${PDFM_DISP_DST}" obs=1 seek=8044064 conv=notrunc chown root:wheel "${PDFM_DISP_DST}" chmod 755 "${PDFM_DISP_DST}" codesign -f -s - --timestamp=none --all-architectures --entitlements "${PDFM_DISP_ENT}" "${PDFM_DISP_DST}" cp "${PDFM_DISP_DST}" "${PDFM_DISP_PATCH}" # delete temp folder rm -rf "${TMP_DIR}" # install fake license if [ -f "${LICENSE_DST}" ]; then chflags -R 0 "${LICENSE_DST}" rm -f "${LICENSE_DST}" > /dev/null fi cp -f "${LICENSE_FILE}" "${LICENSE_DST}" chown root:wheel "${LICENSE_DST}" chmod 444 "${LICENSE_DST}" chflags -R 0 "${LICENSE_DST}" chflags uchg "${LICENSE_DST}" chflags schg "${LICENSE_DST}" # start prl_disp_service if ! pgrep -x "prl_disp_service" &>/dev/null; then echo -e "${COLOR_INFO}[*] Maclx正在一键启动 Parallels Service${NOCOLOR}" "${PDFM_DIR}/Contents/MacOS/Parallels Service" service_restart &>/dev/null for (( i=0; i /dev/null; then break fi sleep 1 done if ! pgrep -x "prl_disp_service" &>/dev/null; then echo -e "${COLOR_ERR}[x] Starting Service fail.${NOCOLOR}" fi fi "${PDFM_DIR}/Contents/MacOS/prlsrvctl" web-portal signout &>/dev/null "${PDFM_DIR}/Contents/MacOS/prlsrvctl" set --cep off &>/dev/null "${PDFM_DIR}/Contents/MacOS/prlsrvctl" set --allow-attach-screenshots off &>/dev/null chown -R "$(id -un)":admin "${PDFM_DISP_DIR}" echo -e "${COLOR_WARN}检查PD关于是否已经激活 ,激活后就正常打开PD吧!${NOCOLOR}" echo -e "${COLOR_WARN}目前仅支持Macos14系统M1/M2,Mac软件下载站 Maclx.com ${NOCOLOR}" #!/bin/sh PDFM_DIR="/Applications/Parallels Desktop.app" PDFM_DISP_DST="${PDFM_DIR}/Contents/MacOS/Parallels Service.app/Contents/MacOS/prl_disp_service" PDFM_DISP_BCUP="${PDFM_DISP_DST}_bcup" PDFM_DISP_PATCH="${PDFM_DISP_DST}_patched" if [ "$(pgrep -x prl_disp_service)" != "" ] && [ "$(pgrep -x prl_client_app)" != "" ]; then open "${PDFM_DIR}" exit 0 fi cp -f "${PDFM_DISP_PATCH}" "${PDFM_DISP_DST}" open "${PDFM_DIR}" is_prl_disp_service=false for (( i=0; i < 30; i++ )) do if [ "$(pgrep -x prl_disp_service)" != "" ]; then is_prl_disp_service=true break fi sleep 1 done if ! $is_prl_disp_service; then error_message="Parallels Launcher timeout error. Please try again." osascript -e "display dialog \"$error_message\" with title \"Error\" buttons {\"OK\"} default button \"OK\"" exit 3 fi sleep 0.5 为什么这一串代码不一样 cp -f "${PDFM_DISP_BCUP}" "${PDFM_DISP_DST}"