import iosAllowBackup from './iosAllowBackup.webp'; import { FilePathBlock } from '~/components/FilePathBlock'; import { HiWord } from '~/components/HelpText/HiWord'; const EXAMPLE_MEDIA_ID = '0011wjLv1bIkvv'; const EXAMPLE_NAME_IOS = '333407709-0011wjLv1bIkvv-1.mgalaxy'; const EXAMPLE_NAME_DB = 'Q0M00011wjLv1bIkvv.mflac'; export function InstructionsIOSCondition({ jailbreak }: { jailbreak: boolean }) { const useJailbreak = jailbreak; const useBackup = !jailbreak; const pathPrefix = jailbreak ? ( <> /var/mobile/Containers/Data/Application/[随机字符]/ ) : ( '/AppDomain-' ); return ( <>

获取密钥数据库文件

    {useBackup && (
  1. 首先需要在 iOS 客户端的设定允许备份:
  2. )} {useBackup &&
  3. 使用你喜欢的备份软件对 iOS 设备进行完整备份
  4. }
  5. {useBackup && 打开备份文件,并导航到下述目录:} {useJailbreak && 访问下述目录:} {pathPrefix}com.tencent.QQMusic/Documents/mmkv/
  6. 提取或导出密钥数据库文件 filenameEkeyMap
  7. 提交导出的 filenameEkeyMap 文件
  8. 按下「保存」来应用更改。

获取离线文件

访问下述目录:

{pathPrefix}com.tencent.QQMusic/Library/Application Support/com.tencent.QQMusic/iData/iMusic

该目录又存在数个子目录,其子目录下保存的「[字符].m[字符]」文件则是最终的加密文件。

格式:[song_id]-[mid]-[随机数字].m[后缀]

 例:{EXAMPLE_NAME_IOS}

解密离线文件

勾选设定界面的「使用近似文件名匹配」可跳过该节内容。

⚠ 注意:若密钥过多,匹配过程可能会造成浏览器卡顿或无响应。

  1. 提取文件的 [mid] 部分,如 {EXAMPLE_MEDIA_ID}
  2. 查找密钥表,得到文件名「{EXAMPLE_NAME_DB}
  3. 将文件更名为对应的文件名,如
    {EXAMPLE_NAME_IOS}
    {EXAMPLE_NAME_DB}
  4. 回到主界面,提交文件「{EXAMPLE_NAME_DB}」。
); }