From 84f7953f215c84468086a20b7395e9cc33c0437f Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Thu, 22 Feb 2024 22:19:12 -0500 Subject: [PATCH] [F] Fix encryption --- .../java/icu/samnyan/aqua/sega/aimedb/AimeDbDecoder.kt | 8 ++++++-- .../java/icu/samnyan/aqua/sega/aimedb/AimeDbEncryption.kt | 7 ++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/main/java/icu/samnyan/aqua/sega/aimedb/AimeDbDecoder.kt b/src/main/java/icu/samnyan/aqua/sega/aimedb/AimeDbDecoder.kt index ed147f97..df1ac338 100644 --- a/src/main/java/icu/samnyan/aqua/sega/aimedb/AimeDbDecoder.kt +++ b/src/main/java/icu/samnyan/aqua/sega/aimedb/AimeDbDecoder.kt @@ -10,14 +10,18 @@ import org.springframework.context.annotation.Scope import org.springframework.stereotype.Component /** - * @author samnyan (privateamusement@protonmail.com) + * A new decoder object will be created each time a new request comes in */ @Component @Scope(BeanDefinition.SCOPE_PROTOTYPE) class AimeDbDecoder : ByteToMessageDecoder() { - var length = 0 + var length: Int = 0 val logger: Logger = LoggerFactory.getLogger(AimeDbDecoder::class.java) + init { + logger.info("AimeDB Decoder Created") + } + /** * Decrypt the incoming request including frame management * @param ctx ChannelHandlerContext diff --git a/src/main/java/icu/samnyan/aqua/sega/aimedb/AimeDbEncryption.kt b/src/main/java/icu/samnyan/aqua/sega/aimedb/AimeDbEncryption.kt index 48abb1b1..b7f17735 100644 --- a/src/main/java/icu/samnyan/aqua/sega/aimedb/AimeDbEncryption.kt +++ b/src/main/java/icu/samnyan/aqua/sega/aimedb/AimeDbEncryption.kt @@ -12,9 +12,10 @@ import javax.crypto.spec.SecretKeySpec */ object AimeDbEncryption { val KEY = SecretKeySpec("Copyright(C)SEGA".toByteArray(StandardCharsets.UTF_8), "AES") - val cipher = Cipher.getInstance("AES/ECB/NoPadding").apply { init(Cipher.ENCRYPT_MODE, KEY) } + val enc = Cipher.getInstance("AES/ECB/NoPadding").apply { init(Cipher.ENCRYPT_MODE, KEY) } + val dec = Cipher.getInstance("AES/ECB/NoPadding").apply { init(Cipher.DECRYPT_MODE, KEY) } - fun decrypt(src: ByteBuf) = copiedBuffer(cipher.doFinal(ByteBufUtil.toBytes(src))) + fun decrypt(src: ByteBuf) = copiedBuffer(dec.doFinal(ByteBufUtil.toBytes(src))) - fun encrypt(src: ByteBuf) = copiedBuffer(cipher.doFinal(ByteBufUtil.toAllBytes(src))) + fun encrypt(src: ByteBuf) = copiedBuffer(enc.doFinal(ByteBufUtil.toAllBytes(src))) }