支持注入PD,并修复多个问题

This commit is contained in:
秋城落叶
2025-08-04 23:37:13 +08:00
parent 2a05247b68
commit de75f8ddc8
6 changed files with 65 additions and 3 deletions

Binary file not shown.

7
NativeInject/Start!.command Executable file
View File

@@ -0,0 +1,7 @@
set -euo pipefail
cd "$(dirname "$0")" || exit 1
chmod +x ./InjectLib
xattr -cr ./InjectLib
codesign -fs - ./InjectLib
sudo ./InjectLib

View File

@@ -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",

Binary file not shown.

16
tool/VM.entitlements Normal file
View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.smartcard</key>
<true/>
<key>com.apple.security.network.server</key>
<true/>
<key>com.apple.security.hypervisor</key>
<true/>
<key>com.apple.security.network.client</key>
<true/>
<key>com.apple.security.device.usb</key>
<true/>
</dict>
</plist>

22
tool/cleanup_pd.sh Normal file
View File

@@ -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