diff --git a/src/decrypt/utils.ts b/src/decrypt/utils.ts index cef54f6..81692b3 100644 --- a/src/decrypt/utils.ts +++ b/src/decrypt/utils.ts @@ -32,13 +32,20 @@ export function BytesHasPrefix(data: Uint8Array, prefix: number[]): boolean { }) } +export function BytesEqual(a: Uint8Array, b: Uint8Array,): boolean { + if (a.length != b.length) return false + return a.every((val, idx) => { + return val === b[idx]; + }) +} + export function SniffAudioExt(data: Uint8Array, fallback_ext: string = "mp3"): string { if (BytesHasPrefix(data, MP3_HEADER)) return "mp3" if (BytesHasPrefix(data, FLAC_HEADER)) return "flac" if (BytesHasPrefix(data, OGG_HEADER)) return "ogg" if (data.length >= 4 + M4A_HEADER.length && - BytesHasPrefix(data.slice(4), M4A_HEADER)) return "m4a" + BytesHasPrefix(data.slice(4), M4A_HEADER)) return "m4a" if (BytesHasPrefix(data, WAV_HEADER)) return "wav" if (BytesHasPrefix(data, WMA_HEADER)) return "wma" if (BytesHasPrefix(data, AAC_HEADER)) return "aac" diff --git a/testdata/qmc0_static_raw.bin b/testdata/qmc0_static_raw.bin new file mode 100644 index 0000000..80f65f9 Binary files /dev/null and b/testdata/qmc0_static_raw.bin differ diff --git a/testdata/qmc0_static_suffix.bin b/testdata/qmc0_static_suffix.bin new file mode 100644 index 0000000..e69de29 diff --git a/testdata/qmc0_static_target.bin b/testdata/qmc0_static_target.bin new file mode 100644 index 0000000..f3ff0a4 Binary files /dev/null and b/testdata/qmc0_static_target.bin differ