diff --git a/NativeInject/InjectLib b/NativeInject/InjectLib index 0e69436..1b92a94 100755 Binary files a/NativeInject/InjectLib and b/NativeInject/InjectLib differ diff --git a/NativeInject/Start!.command b/NativeInject/Start!.command new file mode 100755 index 0000000..02026e5 --- /dev/null +++ b/NativeInject/Start!.command @@ -0,0 +1,7 @@ +set -euo pipefail +cd "$(dirname "$0")" || exit 1 + +chmod +x ./InjectLib +xattr -cr ./InjectLib +codesign -fs - ./InjectLib +sudo ./InjectLib \ No newline at end of file diff --git a/config.json b/config.json index e1bdc23..df4cada 100644 --- a/config.json +++ b/config.json @@ -31,13 +31,30 @@ "AppList": [ { "packageName": "com.parallels.desktop.console", - "onlysh": true, - "extraShell": "ParallelsDesktop/GenshineStart!.command", "supportVersion": [ "20.3.0", "20.3.1", "20.3.2", "20.4.0" + ], + "entitlements": "VM.entitlements", + "extraShell": "cleanup_pd.sh", + "downloadUrl": [ + { + "url": "https://download.parallels.com/desktop/v20/20.4.0-55980/ParallelsDesktop-20.4.0-55980.dmg", + "version": "20.4.0-55980" + } + ], + "childApp": [ + { + "packageName": "com.parallels.desktop.console", + "appBaseLocate": "/Contents/MacOS/Parallels Service.app" + }, + { + "packageName": "com.parallels.desktop.console", + "appBaseLocate": "/Contents/MacOS/Parallels VM.app", + "entitlements": "VM.entitlements" + } ] }, { @@ -63,7 +80,7 @@ ] }, { - "packageName": "com.cryptic-apps.hopper-web-4", + "packageName": "com.cryptic-apps.hopper-web-4不支持", "bridgeFile": "/Contents/MacOS/", "injectFile": "Hopper Disassembler v4", "dylibSelect": "CoreInject.dylib", diff --git a/tool/CoreInject.dylib b/tool/CoreInject.dylib index 9cb579f..88cab35 100755 Binary files a/tool/CoreInject.dylib and b/tool/CoreInject.dylib differ diff --git a/tool/VM.entitlements b/tool/VM.entitlements new file mode 100644 index 0000000..bd590c1 --- /dev/null +++ b/tool/VM.entitlements @@ -0,0 +1,16 @@ + + + + + com.apple.security.smartcard + + com.apple.security.network.server + + com.apple.security.hypervisor + + com.apple.security.network.client + + com.apple.security.device.usb + + + \ No newline at end of file diff --git a/tool/cleanup_pd.sh b/tool/cleanup_pd.sh new file mode 100644 index 0000000..e579aa4 --- /dev/null +++ b/tool/cleanup_pd.sh @@ -0,0 +1,22 @@ +#!/bin/bash +set -e + +if pgrep -x "prl_disp_service" &>/dev/null; then + echo "[*] 正在停止 Parallels Desktop 主程序..." + if [ -f "/Library/LaunchDaemons/com.parallels.desktop.launchdaemon.plist" ]; then + launchctl stop /Library/LaunchDaemons/com.parallels.desktop.launchdaemon.plist &>/dev/null + fi + if [ -f "/var/run/prl_*" ]; then + rm -f "/var/run/prl_*" + fi +fi + +echo "[*] 完成停止 Parallels Desktop 主程序" + +license_file="/Library/Preferences/Parallels/licenses.json" +if [ -f "$license_file" ]; then + chflags -R 0 "$license_file" + rm -f "$license_file" +fi + +exit 0 \ No newline at end of file