diff --git a/mirai-core/src/commonMain/kotlin/contact/NormalMemberImpl.kt b/mirai-core/src/commonMain/kotlin/contact/NormalMemberImpl.kt
index 6c20d8073..9b9efe668 100644
--- a/mirai-core/src/commonMain/kotlin/contact/NormalMemberImpl.kt
+++ b/mirai-core/src/commonMain/kotlin/contact/NormalMemberImpl.kt
@@ -129,6 +129,9 @@ internal class NormalMemberImpl constructor(
         check(this.id != bot.id) {
             "A bot can't mute itself."
         }
+        require(durationSeconds > 0) {
+            "durationSeconds must greater than zero"
+        }
         checkBotPermissionHigherThanThis("mute")
         bot.network.run {
             TroopManagement.Mute(
@@ -141,6 +144,7 @@ internal class NormalMemberImpl constructor(
 
         @Suppress("RemoveRedundantQualifierName") // or unresolved reference
         net.mamoe.mirai.event.events.MemberMuteEvent(this@NormalMemberImpl, durationSeconds, null).broadcastWithBot(bot)
+        this._muteTimestamp = currentTimeSeconds().toInt() + durationSeconds
     }
 
     override suspend fun unmute() {
@@ -156,6 +160,7 @@ internal class NormalMemberImpl constructor(
 
         @Suppress("RemoveRedundantQualifierName") // or unresolved reference
         net.mamoe.mirai.event.events.MemberUnmuteEvent(this@NormalMemberImpl, null).broadcastWithBot(bot)
+        this._muteTimestamp = 0
     }
 
     override suspend fun kick(message: String) {
diff --git a/mirai-core/src/commonMain/kotlin/network/QQAndroidClient.kt b/mirai-core/src/commonMain/kotlin/network/QQAndroidClient.kt
index 67dcf2639..c5743cab7 100644
--- a/mirai-core/src/commonMain/kotlin/network/QQAndroidClient.kt
+++ b/mirai-core/src/commonMain/kotlin/network/QQAndroidClient.kt
@@ -251,7 +251,7 @@ internal open class QQAndroidClient(
     /**
      * t108 时更新
      */
-    var ksid: ByteArray = "|454001228437590|A8.2.7.27f6ea96".toByteArray()
+    var ksid: ByteArray = EMPTY_BYTE_ARRAY
 
     /**
      * t186
diff --git a/mirai-core/src/commonMain/kotlin/network/keys.kt b/mirai-core/src/commonMain/kotlin/network/keys.kt
index 636b591b4..2d3928734 100644
--- a/mirai-core/src/commonMain/kotlin/network/keys.kt
+++ b/mirai-core/src/commonMain/kotlin/network/keys.kt
@@ -69,11 +69,11 @@ internal class LoginExtraData(
 
 internal class WLoginSigInfo(
     val uin: Long,
-    val encryptA1: ByteArray?, // sigInfo[0]
+    var encryptA1: ByteArray?, // sigInfo[0]
     /**
      * WARNING, please check [QQAndroidClient.tlv16a]
      */
-    val noPicSig: ByteArray?, // sigInfo[1]
+    var noPicSig: ByteArray?, // sigInfo[1]
 
     val simpleInfo: WLoginSimpleInfo,
 
diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/packet/login/WtLogin.kt b/mirai-core/src/commonMain/kotlin/network/protocol/packet/login/WtLogin.kt
index e9519ed6e..c65af501e 100644
--- a/mirai-core/src/commonMain/kotlin/network/protocol/packet/login/WtLogin.kt
+++ b/mirai-core/src/commonMain/kotlin/network/protocol/packet/login/WtLogin.kt
@@ -415,6 +415,8 @@ internal class WtLogin {
                             encryptedDownloadSession = tlvMap119[0x11d]?.let {
                                 client.analysisTlv11d(it)
                             } ?: encryptedDownloadSession
+                            encryptA1 = tlvMap119.getOrDefault(0x106, encryptA1)
+                            noPicSig = tlvMap119.getOrDefault(0x16a, noPicSig)
                         }
                     } else {
                         var a1: ByteArray? = tlvMap119.getOrFail(0x106)
diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/packet/login/wtlogin/WtLogin10.kt b/mirai-core/src/commonMain/kotlin/network/protocol/packet/login/wtlogin/WtLogin10.kt
index 215c41879..c922c2596 100644
--- a/mirai-core/src/commonMain/kotlin/network/protocol/packet/login/wtlogin/WtLogin10.kt
+++ b/mirai-core/src/commonMain/kotlin/network/protocol/packet/login/wtlogin/WtLogin10.kt
@@ -74,13 +74,7 @@ internal object WtLogin10 : WtLoginExt {
                 t187(client.device.macAddress)
                 t188(client.device.androidId)
                 t194(client.device.imsiMd5)
-                t511(
-                    listOf(
-                        "tenpay.com", "openmobile.qq.com", "docs.qq.com", "connect.qq.com",
-                        "qzone.qq.com", "vip.qq.com", "qun.qq.com", "game.qq.com", "qqweb.qq.com",
-                        "office.qq.com", "ti.qq.com", "mail.qq.com", "qzone.com", "mma.qq.com"
-                    )
-                )
+                t511()
                 //t544()
 
             }
diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/packet/login/wtlogin/WtLogin15.kt b/mirai-core/src/commonMain/kotlin/network/protocol/packet/login/wtlogin/WtLogin15.kt
index 92a6f4a43..c349db306 100644
--- a/mirai-core/src/commonMain/kotlin/network/protocol/packet/login/wtlogin/WtLogin15.kt
+++ b/mirai-core/src/commonMain/kotlin/network/protocol/packet/login/wtlogin/WtLogin15.kt
@@ -87,7 +87,8 @@ internal object WtLogin15 : WtLoginExt {
             t100(appId, 2, client.appClientVersion, client.ssoVersion, client.mainSigMap)
 
             t107(0)
-            // t108(client.ksid) // 第一次 exchange 没有 108
+
+            //t108(client.ksid) // 第一次 exchange 没有 108
             t144(client)
             t142(client.apkId)
             t145(client.device.guid)
diff --git a/mirai-core/src/commonMain/kotlin/utils/MiraiProtocolInternal.kt b/mirai-core/src/commonMain/kotlin/utils/MiraiProtocolInternal.kt
index d9a77c527..43d236d82 100644
--- a/mirai-core/src/commonMain/kotlin/utils/MiraiProtocolInternal.kt
+++ b/mirai-core/src/commonMain/kotlin/utils/MiraiProtocolInternal.kt
@@ -36,12 +36,12 @@ internal class MiraiProtocolInternal(
                 "com.tencent.mobileqq",
                 537066978,
                 "8.5.5",
-                "6.0.0.2454",
-                184024956,
+                "6.0.0.2463",
+                150470524,
                 0x10400,
-                34869472,
+                16724722,
                 "A6 B7 45 BF 24 A2 C2 77 52 77 16 F6 F3 6E B6 8D",
-                1604580615L,
+                1609322643L,
             )
             protocols[MiraiProtocol.ANDROID_PAD] = MiraiProtocolInternal(
                 "com.tencent.mobileqq",