From 1ae0f10ff936c4feacfa7525b8613d91b143c30d Mon Sep 17 00:00:00 2001 From: kyororay Date: Thu, 9 Jul 2026 16:10:52 +0900 Subject: [PATCH] =?UTF-8?q?=20=E5=90=89=E9=87=8C=E5=90=89=E9=87=8C=20?= =?UTF-8?q?=E5=BE=A9=E5=8F=B7=E3=82=A2=E3=83=AB=E3=82=B4=E3=83=AA=E3=82=BA?= =?UTF-8?q?=E3=83=A0=E3=81=AE=E8=BF=BD=E5=8A=A0=EF=BC=88=E3=82=AF=E3=83=A9?= =?UTF-8?q?=E3=82=B9=E5=90=8D=EF=BC=9AHoneyCombCrypt=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 対象ゲームタイトル: [140829][ALcot ハニカム] サツコイ ~悠久なる恋の歌~ [141128][ALcot ハニカム] キミのとなりで恋してる! --- ArcFormats/KiriKiri/CryptAlgorithms.cs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/ArcFormats/KiriKiri/CryptAlgorithms.cs b/ArcFormats/KiriKiri/CryptAlgorithms.cs index ad473cc76..cea7eca20 100644 --- a/ArcFormats/KiriKiri/CryptAlgorithms.cs +++ b/ArcFormats/KiriKiri/CryptAlgorithms.cs @@ -1671,4 +1671,23 @@ private byte[] InitKey(uint hash) } } + [Serializable] + public class HoneyCombCrypt : ICrypt + { + public override void Decrypt(Xp3Entry entry, long offset, byte[] buffer, int pos, int count) + { + uint seed = entry.Hash ^ 0xABCD9876; + byte key = (byte)((seed >> 24) ^ (seed >> 16) ^ (seed >> 8) ^ seed); + if (key == 0) + key = 0xA5; + for (int i = 0; i < count; ++i) + buffer[pos + i] ^= key; + } + + public override void Encrypt(Xp3Entry entry, long offset, byte[] values, int pos, int count) + { + Decrypt(entry, offset, values, pos, count); + } + } + }