From aa40b2aa7bbf97b61c7bd2e5f9abd037d03cf827 Mon Sep 17 00:00:00 2001 From: lifegpc Date: Sat, 2 May 2026 19:42:04 +0800 Subject: [PATCH] Add UTF-16 LE mark to stream --- src/scripts/kirikiri/archive/xp3/crypt/mod.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/scripts/kirikiri/archive/xp3/crypt/mod.rs b/src/scripts/kirikiri/archive/xp3/crypt/mod.rs index 2253cc1..8ec67b0 100644 --- a/src/scripts/kirikiri/archive/xp3/crypt/mod.rs +++ b/src/scripts/kirikiri/archive/xp3/crypt/mod.rs @@ -2276,7 +2276,11 @@ impl Crypt for Kano2Crypt { size[i] ^= typ[0] ^ WARC_SIZE_KEY[i]; } let _uncompressed_size = u32::from_le_bytes(size); - Ok(Box::new(flate2::read::ZlibDecoder::new(entry))) + let reader = flate2::read::ZlibDecoder::new(entry); + if &typ == b"STR" { + return Ok(Box::new(PrefixStream::new(vec![0xFF, 0xFE], reader))); + } + Ok(Box::new(reader)) } }