import { Box, Code, Heading, Image, ListItem, OrderedList, Text } from '@chakra-ui/react'; import iosAllowBackup from './iosAllowBackup.webp'; import { FilePathBlock } from '~/components/FilePathBlock'; 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 && ( 首先需要在 iOS 客户端的设定允许备份: )} {useBackup && ( 使用你喜欢的备份软件对 iOS 设备进行完整备份; )} {useBackup && 打开备份文件,并导航到下述目录:} {useJailbreak && 访问下述目录:} {pathPrefix}com.tencent.QQMusic/Documents/mmkv/ 提取或导出密钥数据库文件 filenameEkeyMap 提交导出的 filenameEkeyMap 文件; 按下「保存」来应用更改。 获取离线文件 访问下述目录: {pathPrefix}com.tencent.QQMusic/Library/Application Support/com.tencent.QQMusic/iData/iMusic 该目录又存在数个子目录,其子目录下保存的「[字符].m[字符]」文件则是最终的加密文件。 格式:[song_id]-[mid]-[随机数字].m[后缀]  例:{EXAMPLE_NAME_IOS} 解密离线文件 勾选设定界面的「使用近似文件名匹配」可跳过该节内容。 ⚠ 注意:若密钥过多,匹配过程可能会造成浏览器卡顿或无响应。 提取文件的 [mid] 部分,如 {EXAMPLE_MEDIA_ID} 查找密钥表,得到文件名「{EXAMPLE_NAME_DB}」; 将文件更名为对应的文件名,如{EXAMPLE_NAME_IOS}{EXAMPLE_NAME_DB} 回到主界面,提交文件「{EXAMPLE_NAME_DB}」。 ); }