From 537051cfcb6cae441a6c2f073bedc2528577d39f Mon Sep 17 00:00:00 2001 From: Marsway Date: Mon, 17 Mar 2025 16:59:29 +0800 Subject: [PATCH] backup: 2025-03-17 --- commands/crack.sh | 2 + commands/self_alias.sh | 16 -- ...and => Seblius_2024.3_Trail_Reset.command} | 0 scripts/pd-crack.sh | 201 ++++++++++++++++++ setting | 4 +- zshrc | 6 +- 6 files changed, 207 insertions(+), 22 deletions(-) create mode 100644 commands/crack.sh rename scripts/{Avid Sibelius Ultimate 2024.3 Trial Reset macOS/Sibelius Ultimate Reset.command => Seblius_2024.3_Trail_Reset.command} (100%) mode change 100644 => 100755 create mode 100755 scripts/pd-crack.sh diff --git a/commands/crack.sh b/commands/crack.sh new file mode 100644 index 0000000..dedffcc --- /dev/null +++ b/commands/crack.sh @@ -0,0 +1,2 @@ +alias pd='~/.vvconfig/scripts/pd-crack.sh' +alias sibelius_crack='~/.vvconfig/scripts/Seblius_2024.3_Trail_Reset.command' diff --git a/commands/self_alias.sh b/commands/self_alias.sh index 142e1e8..ed01557 100644 --- a/commands/self_alias.sh +++ b/commands/self_alias.sh @@ -3,17 +3,6 @@ mc() { mkdir $1 cd $1 } -pc() { - nohup /tools/swtools/pycharm-2024.1.3/bin/pycharm.sh $1 > /dev/null 2>&1 & -} - -cli() { - nohup /tools/swtools/clion-2024.1.1/bin/clion.sh $1 > /dev/null 2>&1 & -} - -export MASTER_ECCAD_HOME=~/workspace/main/eccad -export CI_ECCAD_HOME=/ci_workspace/main/eccad -export CI_RELEASE_ECHOME=/ci_workspace/TC2TC3_release_240618/eccad alias ecc='cd $CI_ECCAD_HOME && source env.sh' alias ecr='cd $CI_RELEASE_ECHOME && source env.sh' @@ -30,9 +19,6 @@ alias gl='git log' alias gd='git diff' alias gp='git pull' alias gm='git commit -m' -lclion() { - /tools/swtools/clion-2023.2.2/bin/clion.sh $1 & -} # ECCAD setversion() { export MAJOR=0 @@ -44,8 +30,6 @@ setversion() { } # Bash aliases alias du='du -h --max-depth=1' -alias distapi='scp -r /proj/software/cicd/eccad_api root@editor:/root' -alias pd='~/Desktop/PD/install.sh' # Quick ssh alias ops='ssh root@suzopsany01' alias api='ssh root@api.eagle.local' diff --git a/scripts/Avid Sibelius Ultimate 2024.3 Trial Reset macOS/Sibelius Ultimate Reset.command b/scripts/Seblius_2024.3_Trail_Reset.command old mode 100644 new mode 100755 similarity index 100% rename from scripts/Avid Sibelius Ultimate 2024.3 Trial Reset macOS/Sibelius Ultimate Reset.command rename to scripts/Seblius_2024.3_Trail_Reset.command diff --git a/scripts/pd-crack.sh b/scripts/pd-crack.sh new file mode 100755 index 0000000..47bdbd6 --- /dev/null +++ b/scripts/pd-crack.sh @@ -0,0 +1,201 @@ +#!/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}[-] 🔑 下方输入开机密码回车(输入密码看不见)来注入证书 BY:马克喵.${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}[*] 安装补丁证书中...${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}[*] 正在一键启动 Parallels Service${NOCOLOR}" + "${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] 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 有任何问题加站长微信反馈wx:329369569${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}" diff --git a/setting b/setting index 2b414ab..d872449 100755 --- a/setting +++ b/setting @@ -2,7 +2,7 @@ USER_SHELL='zsh' # user name -USER_NAME='Lee2vv' +USER_NAME='Marsway' # # auto cd, switch directory just by typing its name @@ -11,7 +11,7 @@ AUTO_CD='yes' # # chose prompt 'oneline' or 'twoline' -PROMPT_ALTERNATIVE='oneline' +PROMPT_ALTERNATIVE='twoline' # # auto open directory-tree or not diff --git a/zshrc b/zshrc index 712daad..1baac44 100755 --- a/zshrc +++ b/zshrc @@ -198,13 +198,11 @@ alias la='ls -al' alias vi='vim' alias p='python3' alias q="ps|grep bash|grep -o '[0-9]*'|head -1|xargs kill -9" -alias precision='source /tools/mentor/Precision/precision.sh;precision' alias tree='tree -C' # PATH export PATH=/Users/lee2vv/Coding/Tools/git-repo:$PATH -source ~/.vvconfig/commands/formality.sh source ~/.vvconfig/commands/count.sh -source ~/.vvconfig/commands/self_alias.sh - +source ~/.vvconfig/commands/formality.sh +source ~/.vvconfig/commands/crack.sh