[core] decode SsoSecureA2Access

This commit is contained in:
StageGuard 2023-06-17 12:23:04 +08:00 committed by Karlatemp
parent 1dacce61cd
commit 1fde79d7ad
No known key found for this signature in database
GPG Key ID: BA173CA2B9956C59
4 changed files with 19 additions and 19 deletions

View File

@ -18,7 +18,7 @@ import net.mamoe.mirai.internal.network.components.PacketCodecException.Kind.*
import net.mamoe.mirai.internal.network.handler.selector.NetworkException
import net.mamoe.mirai.internal.network.protocol.packet.*
import net.mamoe.mirai.internal.network.protocol.packet.login.WtLogin
import net.mamoe.mirai.internal.network.protocol.packet.sso.PREFIX_TRPC_SSO
import net.mamoe.mirai.internal.network.protocol.packet.sso.TRpcRawPacket
import net.mamoe.mirai.internal.utils.crypto.Ecdh
import net.mamoe.mirai.internal.utils.crypto.TEA
import net.mamoe.mirai.utils.*
@ -174,7 +174,7 @@ internal class PacketCodecImpl : PacketCodec {
"which may means protocol is updated.",
flag3Exception
)
} else if (raw.commandName.startsWith(PREFIX_TRPC_SSO)) {
} else if (raw.commandName.startsWith(TRpcRawPacket.COMMAND_PREFIX)) {
PacketLogger.verbose { "received a trpc native packet: ${raw.commandName}" }
} else {
throw flag3Exception
@ -194,7 +194,7 @@ internal class PacketCodecImpl : PacketCodec {
raw.commandName,
raw.sequenceId,
raw.body.withUse {
if (raw.commandName.startsWith(PREFIX_TRPC_SSO)) {
if (raw.commandName.startsWith(TRpcRawPacket.COMMAND_PREFIX)) {
readBytes()
} else {
try {

View File

@ -27,6 +27,7 @@ import net.mamoe.mirai.internal.network.protocol.packet.login.Heartbeat
import net.mamoe.mirai.internal.network.protocol.packet.login.StatSvc
import net.mamoe.mirai.internal.network.protocol.packet.login.WtLogin
import net.mamoe.mirai.internal.network.protocol.packet.sso.SsoEstablishShareKey
import net.mamoe.mirai.internal.network.protocol.packet.sso.SsoSecureA2Access
import net.mamoe.mirai.internal.network.protocol.packet.summarycard.ChangeFriendRemark
import net.mamoe.mirai.internal.network.protocol.packet.summarycard.SummaryCard
import net.mamoe.mirai.utils.DeprecatedSinceMirai
@ -133,6 +134,7 @@ internal object KnownPacketFactories {
WtLogin.ExchangeEmp,
WtLogin.TransEmp,
SsoEstablishShareKey,
SsoSecureA2Access,
StatSvc.Register,
StatSvc.GetOnlineStatus,
StatSvc.SimpleGet,

View File

@ -14,12 +14,22 @@ import net.mamoe.mirai.internal.QQAndroidBot
import net.mamoe.mirai.internal.network.Packet
import net.mamoe.mirai.internal.network.protocol.packet.OutgoingPacketFactory
internal object SsoEstablishShareKey : OutgoingPacketFactory<SsoEstablishShareKey.RawData>(
"trpc.o3.ecdh_access.EcdhAccess.SsoEstablishShareKey"
) {
internal abstract class TRpcRawPacket(commandName: String) :
OutgoingPacketFactory<TRpcRawPacket.RawData>(commandName) {
internal class RawData(val data: ByteArray) : Packet
override suspend fun ByteReadPacket.decode(bot: QQAndroidBot): RawData {
return RawData(readBytes())
}
}
companion object {
const val COMMAND_PREFIX = "trpc.o3"
}
}
internal object SsoEstablishShareKey :
TRpcRawPacket("$COMMAND_PREFIX.ecdh_access.EcdhAccess.SsoEstablishShareKey")
internal object SsoSecureA2Access :
TRpcRawPacket("$COMMAND_PREFIX.ecdh_access.EcdhAccess.SsoSecureA2Access")

View File

@ -1,12 +0,0 @@
/*
* Copyright 2019-2023 Mamoe Technologies and contributors.
*
* 此源代码的使用受 GNU AFFERO GENERAL PUBLIC LICENSE version 3 许可证的约束, 可以在以下链接找到该许可证.
* Use of this source code is governed by the GNU AGPLv3 license that can be found through the following link.
*
* https://github.com/mamoe/mirai/blob/dev/LICENSE
*/
package net.mamoe.mirai.internal.network.protocol.packet.sso
internal const val PREFIX_TRPC_SSO = "trpc.o3"