mirror of
https://git.um-react.app/um/um-react.git
synced 2025-11-28 03:23:02 +00:00
feat: update instructions and scripts for QQMusic Mac v10.7 and v8.8.0
This commit is contained in:
@@ -39,10 +39,16 @@ export function InstructionsMacV10() {
|
||||
,打开得到 <code>{DUMP_COMMAND_NAME}</code>。
|
||||
</li>
|
||||
<li>
|
||||
双击运行 <code>{DUMP_COMMAND_NAME}</code>,如果提示访问目录,请允许其访问。
|
||||
<p>
|
||||
双击 <code>{DUMP_COMMAND_NAME}</code> 执行。
|
||||
</p>
|
||||
<p>
|
||||
※ 若是提示文件来自未知开发者,请右键点击该文件,选择菜单第一项
|
||||
<VQuote>打开</VQuote>,在警告窗口再次选择<VQuote>打开</VQuote>。
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
运行后会在当前目录生成 <code>qqmusic-mac-*.mmkv</code> 文件,其中 <code>*</code> 是一串随机字符。
|
||||
运行后会在脚本当前目录生成 <code>qqmusic-mac-*.mmkv</code> 文件,其中 <code>*</code> 是一串随机字符。
|
||||
</li>
|
||||
{inSecretImportModal ? (
|
||||
<li>
|
||||
|
||||
@@ -6,7 +6,11 @@ import { MacCommandKey } from '~/components/Key/MacCommandKey';
|
||||
import { ShiftKey } from '~/components/Key/ShiftKey';
|
||||
import { copyToClipboard } from '~/util/clipboard';
|
||||
|
||||
import BlockUpdateScript from './assets/QQ 音乐 Mac 屏蔽升级.tar.gz?base64';
|
||||
import {
|
||||
commandName as BLOCK_UPDATE_COMAND,
|
||||
tarName as BLOCK_UPDATE_TAR_NAME,
|
||||
tarball as BLOCK_UPDATE_BASE64,
|
||||
} from './assets/qqmusic_v8.8.0_patch_update.command?&name=QQ 音乐 Mac v8.8.0 屏蔽更新.command&mac-command';
|
||||
import { DownloadBase64 } from '~/components/DownloadBase64';
|
||||
import { useContext } from 'react';
|
||||
import { InSecretImportModalContext } from '~/context/InSecretImportModal';
|
||||
@@ -38,10 +42,14 @@ export function InstructionsMacV8() {
|
||||
|
||||
<p className="mt-4">
|
||||
部分用户可能会被强制要求更新。你可以下载
|
||||
<DownloadBase64 filename="QQ 音乐 Mac v8.8.0 屏蔽升级.tar.gz" data={BlockUpdateScript}></DownloadBase64>
|
||||
并执行 <code>QQ 音乐 Mac 屏蔽升级.command</code>。
|
||||
<DownloadBase64 filename={BLOCK_UPDATE_TAR_NAME} data={BLOCK_UPDATE_BASE64}></DownloadBase64>
|
||||
并执行 <code>{BLOCK_UPDATE_COMAND}</code>。
|
||||
<span>其原理是修改 QQ 音乐的版本号,让其认为自己是最新版本,从而达到屏蔽更新的效果。</span>
|
||||
</p>
|
||||
<p>
|
||||
※ 若是提示文件来自未知开发者,请右键点击该文件,选择菜单第一项
|
||||
<VQuote>打开</VQuote>,在警告窗口再次选择<VQuote>打开</VQuote>。
|
||||
</p>
|
||||
|
||||
<p className="mt-4">密钥文件通常存储在下述路径:</p>
|
||||
<FilePathBlock>{DB_PATH}</FilePathBlock>
|
||||
|
||||
Binary file not shown.
@@ -8,6 +8,7 @@ import sys
|
||||
from argparse import ArgumentParser
|
||||
from dataclasses import dataclass
|
||||
from os import PathLike
|
||||
from os.path import dirname
|
||||
from pathlib import Path
|
||||
from struct import pack, unpack
|
||||
|
||||
@@ -154,13 +155,12 @@ def main():
|
||||
"-o",
|
||||
"--output",
|
||||
type=str,
|
||||
help="Output directory for decrypted MMKV files (default: current directory)",
|
||||
default=".",
|
||||
help="Output directory for decrypted MMKV files (default: script directory)",
|
||||
default=dirname(__file__),
|
||||
)
|
||||
parser.add_argument(
|
||||
"-v", "--verbose", action="store_true", help="Enable verbose output"
|
||||
)
|
||||
parser.add_argument("--no-pause", action="store_true", help="Do not pause on exit")
|
||||
args = parser.parse_args()
|
||||
|
||||
home_dir = Path.home()
|
||||
@@ -182,7 +182,6 @@ def main():
|
||||
|
||||
force = args.force
|
||||
verbose = args.verbose
|
||||
no_pause = args.no_pause
|
||||
|
||||
for plist_file in plists:
|
||||
if plist_file.exists() and plist_file.is_file():
|
||||
@@ -209,9 +208,6 @@ def main():
|
||||
print(f"Error writing decrypted mmkv: {e}", file=sys.stderr)
|
||||
continue
|
||||
|
||||
if not no_pause:
|
||||
input("Press Enter to exit...")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
|
||||
echo '补丁中…'
|
||||
|
||||
patch_count=0
|
||||
|
||||
patch_qqmusic() {
|
||||
SUDO="$1"
|
||||
APP="$2"
|
||||
|
||||
if [ ! -d "$APP" ]; then
|
||||
echo "路径不存在,跳过 $APP..."
|
||||
return
|
||||
fi
|
||||
|
||||
echo "修补 $APP..."
|
||||
$SUDO sed -i.bak 's#<string>8.8.0</string>#<string>88.8.0</string>#' \
|
||||
"$APP/Contents/Info.plist"
|
||||
$SUDO codesign --force --deep --sign - "$APP"
|
||||
$SUDO xattr -d com.apple.quarantine "$APP"
|
||||
|
||||
patch_count=$((patch_count + 1))
|
||||
}
|
||||
|
||||
patch_qqmusic sudo "/Applications/QQMusic.app"
|
||||
patch_qqmusic "" "$HOME/Applications/QQMusic.app"
|
||||
|
||||
echo "完成,已修补 $patch_count 个 QQ 音乐安装"
|
||||
Reference in New Issue
Block a user